Qt Network
The Qt Network module provides a set of APIs for programming applications that use TCP/IP. Operations such as requests, cookies, and sending data over HTTP are handled by various C++ classes.
Using the Module
Using a Qt module requires linking against the module library, either directly or through other dependencies. Several build tools have dedicated support for this, including CMake and qmake.
Building with CMake
Use the find_package()
command to locate the needed module components in the Qt6
package:
find_package(Qt6 COMPONENTS Network REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Network)
See also the Build with CMake overview.
Building with qmake
Add network
to the QT
variable:
QT += network
Articles and Guides
These articles contain information about Qt Network setup and about applications with networking capabilities.
- Network Programming with Qt - Programming applications with networking capabilities
- Secure Sockets Layer (SSL) Classes - Classes for secure communication over network sockets
API Reference
These are links to the API reference materials.
Module Evolution
Changes to Qt Network lists important changes in the module API and functionality that were done for the Qt 6 series of Qt.
Licenses and Attributions
Qt Network is available under commercial licenses from The Qt Company. In addition, it is available under the GNU Lesser General Public License, version 3, or the GNU General Public License, version 2. See Qt Licensing for further details.
Qt Network can use the OpenSSL Toolkit as a backend. The library is then linked against OpenSSL in a way that requires compliance with the OpenSSL License. To allow linking OpenSSL with Qt Network under the GPL, following exceptions to the GPL do apply:
In addition, as a special exception, the copyright holders listed above give permission to link the code of its release of Qt with the OpenSSL project's "OpenSSL" library (or modified versions of the "OpenSSL" library that use the same license as the original version), and distribute the linked executables. You must comply with the GNU General Public License version 2 in all respects for all of the code used other than the "OpenSSL" code. If you modify this file, you may extend this exception to your version of the file, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version of this file.
Also note shipping OpenSSL might cause Import and Export Restrictions to apply.