Qt Serial Port

From Qt Wiki
Revision as of 17:28, 14 January 2015 by Maintenance script (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

English | Deutsch | Русский | Polski | Nederlands | Português | Español | Українською | فارسی | عربي | 한국어 | Suomi | Català | Italiano | 日本語 | Français | Magyar | ಕನ್ನಡ | हिन्दी | ภาษาไทย | 简体中文 | Български


Note: this page is work in progress, needs review.


Fill up

02/26/2013 – The project moved from the playground to the trunk of Qt5!

Brief description

The QtSerialPort module is an add-on module for the Qt5 library, providing a single interface for both hardware and virtual serial ports.

Note: Also added support for Qt4.

Serial interfaces, due to their simplicity and reliability, are still popular in some industries like the development of embedded systems, robotics, etc.

Using the QtSerialPort module, developers can significantly reduce the time needed to implement Qt applications that require access to a serial interface.


QtSerialPort originated from the third-party library QSerialDevice [gitorious.org] (branch 2.0), which was recently moved to a repository on https://codereview.qt.io/

This was done to allow more open development, and to gather and coordinate a community that is interested in developing this module.


Currently, the module API contains two classes: QSerialPort and QSerialPortInfo.


QSerialPort is the base class of the module and provides a set of basic methods and properties to access resources on serial ports.

Supports the following operating systems:

1 For OS Symbian development of the module is suspended due to lack of developers, as well as the fact that Nokia has abandoned the platform and will not include support for it in Qt5.


QSerialPortInfo is a helper class. It provides information on the available serial ports on the system.

Supports the following operating systems:

2 Symbian development of the module is suspended due to lack of developers, as well as the fact that Nokia has abandoned the platform and will not include support for it in Qt5.

View the source code

Recently launched a public mirror of the repository project at Gitorious [qt.gitorious.org]

Now everyone can freely and quickly view the latest changes through a WEB browser.

Getting the source code

For end-users

To get the current snapshot of the source code as an archive click on this [qt.gitorious.org] link.

Those who want to use Git can run the following command:

For developers

To get the source code and contribute to the development you need to register a Qt developer account and set it up for use with Gerrit and Git (see Setting up Gerrit [wiki.qt.io]).

You can then check out the repository using git, like this:

…with your Gerrit user ID in place of <username>.

Building and Installing

Build and install from command line

Before building you need to:

  • ensure that the environment variables are set correctly:
    • correctly specified the path to the installed Qt4/Qt5
    • correctly specified the path to use the compiler
  • create a build directory that is in the same level as the directory with the source code

The following are the recommended steps for building the QtSerialPort library on Qt4/Qt5 from the command line.

Note: on *nix systems super user privileges might be required:

Build and install from the QtCreator

Using QtCreator is the simplest and fastest way to manually install the library.

Before building you need to:

  • check that the desired toolchains (kits) of QtCreator have been correctly configured

Recommended steps to build the QtSerialPort library for Qt4/Qt5 from QtCreator:

  • download and unpack the QtSerialPort sources
  • run QtCreator and open the “qtserialport.pro” project file
  • get to “Projects->(Your Kit)->Build->Build Steps”
  • add a new make “Build Step” and write to the “Make arguments” the install target
  • from the menus, select “Rebuild Project qtserialport”

As a result, the QtSerialPort library will be automatically compiled and installed into the desired Qt instance (according to the selected Kit).

Note: on *nix systems this method can be failed if Qt was installed from the repositories into system directories. Super user privileges may be required for “make install” target

3 Perl is required only in the case of Qt5, see here [qt.io]. When using Qt4 just skip this point.


To use the library, add serialport to the *.pro file of your project:



Include the header files of QtSerialPort where appropriate:

Simple example

Below is a simple example of main.cpp:

Note: CONFIG += serial port / QT += serialport must be the first or second line in your .pro file.

Documentation generation

There is no need to build the documentation, because the documentation is available here [doc-snapshot.qt.io].

For those wishing to contribute to the development

All development is done through Gerrit [wiki.qt.io]. Therefore, those wishing to be involved in the development process must have a Qt developer account.

More information about the registration process and development can be found here [wiki.qt.io]

Possible problems

Fill up

Bug Tracking

Use bugreports.qt.io [bugreports.qt.io], Project “Qt”, Component “Serial Port”.