Skip to main content

Cross-Platform Data Handling from UI to I/O

Ease your development efforts with Qt's out-of-the-box, cross-platform data handling capabilities. Efficiently send, receive, save, load, query, manipulate, and serialize data, scaling across your application's architectural layers.

Data Handling Across Architectural Layers

Qt's cross-platform capabilities allow efficient data handling with data serialization, use of well-known formats, and versatile data input and output (I/O). The simple and powerful concepts allow implementation across your application's architectural layers and re-use from platform to platform.

Single API for All Platforms

Take away the effort to maintain your setups for different platforms with only one source code.

Go Cross-Platform

Out-of-the-Box Capabilities

Handle I/O to and from networks, devices, databases, files, settings, and resources, and serialize data as needed.

See Qt's Data Handling Capabilities

Various Standards & Formats

Enable interoperability with well-known formats such as XML, JSON, CBOR and Protobuf.

Explore the Formats

One doesn't need to care of all the boilerplate underneath and is 100% sure that the design behind is the best achievable.

Alessandro Agansati, Project Leader Pitstop System, Sauber Motorsport

Go to Their Story

CROSS-PLATFORM EFFICIENCY

Data Handling from Platform to Platform

Take away a lot of your routine work with a single API for all your data handling needs. It works the same for all platforms, easing the burden of managing your application logic separately for various operating systems.

Qt comes with a range of data input and output (I/O) capabilities that also scale from high-level to low-level APIs. You’ll only have one source code to write and maintain for all your application’s data handling needs.

OUT-OF-THE-BOX BUILDING BLOCKS

Support for Various Standards & Formats

Qt’s ready-made capabilities support a range of standards & formats for efficient and compatible data handling.

Use serialized data and well-known formats for, for example:

  • Efficient data transfer via e.g. web services, gRPC, and other networking & connectivity options,
  • Data persistence for e.g. caching and storage,
  • Processing especially large amounts of data.

Setup data I/O to and from various sources, such as:

  • External device or database input and output,
  • Touchscreen, keyboard, microphone or webcam input,
  • Monitor, speaker, printer, or rendering 3D output.

With Qt, it’s all readily available for cross-platform use.

Qt’s Data Handling Capabilities

Qt provides classes for ensuring interoperability with data serialization and handling data input and output (I/O).

Interoperability

Facilitate data handling with standardized data structures.

Data Serialization

The Qt APIs enable data serialization for, for example:

  • Easily parsing, modifying and saving JSON data,
  • Serializing binary data to hardware devices,
  • Handling C++ implementations of XML data.

Well-Known Formats

Qt provides easy-to-use classes for various well-known formats, depending on your needs:

  • The human-readable XML or JSON
  • The compact, machine-readable CBOR or Protobuf

Couple these up with Qt’s versatile networking & connectivity capabilities for more interoperability building blocks.

JSON

Easy-to-use classes for the widely used JSON format to receive, parse and transfer data in, for example, cloud-based solutions.

XML

Support for both DOM classes and stream-based classes to read and write XML content for various use cases.

CBOR

Useful classes for CBOR, a superset of JSON, to receive, parse and transfer data in a very compact binary format.

Protobuf

A generator plugin for protocol buffer classes for data serialization and de-serialization, to enable efficient transfer of protobuf messages.

Saving and Loading

Save, load, and manipulate data in networks, devices, databases, files, settings, and resources.

With Qt, you can easily set up access and queries, as well as reading and writing for various data sources. You can also read and write text as words, lines and numbers, and store strings, for example, for saving special characters needed in localizations for different languages.

When dealing with specific file format requirements, you can use utilities to allow development in your original representation.

For application performance, Qt has classes for cross-platform application settings and resources, and intermediate data storing to reduce read and write operations for speeding up your application.

Databases & Queries

Manage database access, use various SQL drivers to communicate with database APIs, and link to data-aware components.

Domain Specific Files

Write, read and stream using a range of file formats, be it image files, or audio or video multimedia files, for various purposes.

Application Settings

Save and restore settings in a portable manner for different operating systems, such as the registry or XML or INI files.

Resources

Use a platform-independent resource system for storing frequently needed sets of files, such as icons, translation files, or images.

Qt plays a central role in resource management and multi-threaded stability, ensuring reliability and scalability in our development environment.

Seonggong Moon, Head of Product Development, Oncosoft

Go to Their Story

More on Data Handling

Comparing Data Serialization Formats: Code, Size, and Performance

In this post, we explore different approaches for data serialization, ...

Read more

Qt CAN Bus API extensions

The latest Qt 6.5 release introduced a lot of new features. You can re...

Read more

How to Select the Right CPU or SoC for your Embedded Project

The central processing unit (CPU) or system on a chip (SoC) you choose...

Read more

More on Qt Framework

Qt Framework’s comprehensive set of libraries take away your routines from middleware to UI, 2D to 3D, platform to platform.

More on Releases & Licensing

The regular Qt Framework release cycle and the flexible licensing options allow you to choose the best fit to your product’s needs.

Get the Most out of Qt

Ease your development efforts with cross-platform data handling that scales across the architectural layers.