User Experience on mobile might not be great yet, but I'm working on it.

Your first time on this page? Allow me to give some explanations.

Awesome Qt

A curated list of awesome tools, libraries, and resources for the Qt framework.

Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.

Last Update: Dec. 4, 2020, 6:02 p.m.

Thank you JesseTG & contributors
View Topic on GitHub:
JesseTG/awesome-qt

Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.

Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.

Official Resources

Qt

Cross-platform application framework.

Official Qt documentation. Massive and comprehensive.

The best of Qt, straight to your spam filter.

If you think you've found a bug with Qt or one of its related projects, report it here (or see if someone else already has).

See how the Qt maintainers ensure their code is well-written.

Browse the various source trees that comprise the Qt project. Has mirrors at several GitHub organizations:

Official

Mailing lists for users and developers of Qt alike. Arguably the best place to communicate directly with Qt's maintainers. Sees frequent activity.

If e-mail's not your thing, then you might also consider getting help or sharing knowledge on the forums.

The premier source for user-contributed Qt knowledge.

IRC

For real-time chat with other Qt developers and users. The most popular channels are on Freenode, and include #qt, #qt-quick, #qt-creator, and #qt-chat.

Unofficial

Not to be confused with the official Qt forum.

Official Tools

Qt Tools

46
46
93d
n/a

Qt Declarative (Quick 2)

91
99
92d
n/a

octocat:](https://github.com/qtproject/qt-creator) - By no means does Qt lock you into its provided IDE, but its firm integration with the framework makes it a good sell. Among other things, it provides a UI designer, modeling tools, a documentation browser, and great QML support if you're into that sort of thing. There's also a plugin system, but third-party plugins are unfortunately scarce.

octocat:](https://github.com/qt/qttools/tree/dev/src/designer) - If you'd rather just design the interfaces and let someone else hook them up to logic, the GUI designer is available as a separate application.

octocat:](https://github.com/qt/qttools/tree/dev/src/assistant) - So is the documentation viewer, for that matter.

octocat:](https://github.com/qt-labs/vstools) - If you'd rather stick to Visual Studio, this add-in will let you do that.

octocat:](https://github.com/qt/qttools/tree/dev/src/linguist) - Qt provides excellent internationalization/localization support, and this tool is very much responsible for it. Write translatable strings in your code with special macros, and this tool will aggregate them all for you so you or your translator(s) can broaden your software's audience.

octocat:](https://github.com/qtproject/installer-framework) - Nobody seems to talk about this, but Qt also provides a way to write an installer for your application. Does not support creation of macOS disk images, app bundles, or Linux packages, so be mindful of that when considering your project's distribution.

octocat:](https://github.com/qt/qttools/tree/dev/src/macdeployqt) - Generates macOS application bundles for Qt projects.

octocat:](https://github.com/qt/qtbase/tree/dev/qmake) - The bundled build system designed for Qt, though it can be used for non-Qt projects.

qbs

octocat:](https://github.com/qt-labs/qbs) - If QML is more your style, consider this alternative build system.

Don't forget about Qt's mobile support!

Third-Party Tools

A reimplementation of Qt's moc using libclang. Contains both a drop-in remplacement, and a plugin for the clang compiler.

172
22
1y 11d
GPL-3.0

Utility to browse the Qt object tree of a running Qt application and edit object properties on the fly.

283
47
2y 55d
LGPL-3.0

Makes Linux applications self-contained by copying in the libraries and plugins that the application uses, and optionally generates an AppImage. Can be used for Qt and other applications

1.19K
253
29d
n/a

octocat:](https://github.com/Kitware/CMake) - General C++ build tool that happens to have great Qt support.

octocat:](https://github.com/KDAB/GammaRay) - Powerful debugger and general inspection tool for Qt-built software. Lets you inspect and manipulate the QObject hierarchy, view object properties, edit widgets at runtime, and far, far more. A two-sentence blurb can't do it justice, seriously check it out.

SIP

package:](https://www.riverbankcomputing.com/hg/sip) - Generates Python bindings for C or C++ libraries. Has special support for Qt signals and slots, and was used to create PyQt.

Bindings in Other Languages

Mono/.NET bindings for Qt

528
52
1y 5m
n/a

package:](https://www.riverbankcomputing.com/software/pyqt/download5) - Arguably the most comprehensive and well-known binding of Qt to another language.

package:](https://code.qt.io/cgit/pyside/pyside.git) - Another binding for Python, which has been officially adopted by the Qt project.

octocat:](https://github.com/ring-lang/ring/tree/master/extensions/ringqt) - I've never heard of this language either, honestly.

Integrations

Sound library: Qt-style OpenAL wrapper for games

1
0
2y 4m
BSD-2-Clause

QtAwesome - Font Awesome support for Qt applications

387
105
2y 9m
n/a

Execute ruby code from within C++/Qt programs

2
1
5y 37d
AGPL-3.0

octocat:](https://github.com/xiangxw/mupdf-qt) - Qt wrapper for the MuPDF PDF viewer.

package:](https://sourceforge.net/projects/pythonqt) - Script your Qt applications with Python. Not to be confused with PyQt or PySide.

package:](https://www.riverbankcomputing.com/software/qscintilla/download) - Absurdly versatile and customizable text editor widget that provides syntax highlighting, code completion, code folding, recordable macros, and much more. Built around Scintilla. Created by the same company that developed PyQt.

package:](https://svn.savannah.nongnu.org/viewvc/?root=libqtlua) - Use Lua as a scripting language for Qt-based software.

package:](https://sourceforge.net/projects/quazip) - Read from and write to ZIP archives. Uses Minizip under the hood.

octocat:](https://github.com/vlc-qt/vlc-qt) - Wrapper for libvlc that lets you add a VLC-like media player to your application.

New Functionality

Powerful dice Roller is used as discord bot, irc bot, cli tool and inside Rolisteam : 1d20+4, 1L[head,arm,leg,belly,chest], 1d6+1d8, 8+5*3

86
21
19d
n/a

C language library for creating bindings for the Qt QML language

134
25
4m
n/a

C++ library that converts Qt supported images to OpenGL raw format.

54
8
4y 8m
MIT

Libraries for text templating with Qt

112
34
42d
LGPL-2.1

Dependency injection framework for Qt

86
10
3y 13d
LGPL-2.1

Binary Editor for Qt

209
96
5m
n/a

Material Design implemented in QtQuick

2.34K
452
4y 5m
n/a

Qt5 suite that supports displaying and editing nodes in a graph-like flow. Similar to Unreal Kismet, Frostbite 3 Schematics or Allegorithmic Substance Designer UIs.

160
22
4y 5m
Apache-2.0

Updater system for Qt applications

396
110
47d
n/a

Implementation of sum/option types using QVariant

26
4
3y 74d
BSD-3-Clause

Mustache templating library for C++ using Qt

76
24
85d
n/a

A notification framework for Qt C++ applications

10
0
5y 10m
n/a

A true terminal widget for Qt.

30
4
5y 10m
GPL-2.0

Qt based web application server

52
20
2y 7m
AGPL-3.0

Qt without moc: set of macros to use Qt without needing moc

479
35
1y 7d
LGPL-3.0

octocat:](https://github.com/communi/libcommuni) - Cross-platform IRC framework. We've got enough IRC clients out there already, but I suppose this could also be used to implement a chat function in your application (e.g. for community support).

octocat:](https://github.com/cutelyst/cutelyst) - Web framework that takes some ideas from Perl's Catalyst framework.

Cross-platform game engine and app framework that relies heavily on QML. Has a lot of tools and resources, and may even deserve its own list.

octocat:](https://github.com/KDE) :package: - Metric ass-ton of libraries for KDE, but many of them can be used with regular Qt applications as well. Cross-platform, for the most part.

package:](https://cgit.kde.org/marble.git) - Virtual globe and map that can be used standalone or embedded within other applications.

octocat:](https://github.com/wang-bin/QtAV) - Actively developed multimedia framework.

octocat:](https://github.com/JPNaude/Qtilities) - Powerful set of libraries that provide GUI, logging, testing, configuration, and project functionality (among other things) for your application.

Chart generation framework. Commercial.

For fans of the ribbons that Microsoft uses in their software. Commercial.

octocat:](https://github.com/dbzhang800/QtXlsxWriter) - Read and write spreadsheets in Microsoft Excel format.

Qwt

package:](https://sourceforge.net/projects/qwt) - Qt widgets designed for scientific and technical applications.

Software Repositories

Source repository for the QtPods project.

46
15
1y 20d
AGPL-3.0

The most well-known aggregation of Qt-centric libraries out there. A package manager is also available here.

Despite the name, Linux-Apps.com aggregates a wide variety of Qt-based tools and libraries for both end-users and developers.

Ubuntu users who are hesitant to install anything outside of their package managers can obtain any recent version of Qt from these repositories. Instructions for adding them are found within.

Blogs

Official aggregation of first-party and third-party Qt-related blogs.

ICS

Qt-centric software consulting firm with a really neat blog. Specializes in graphics applications.

[1

2](https://www.ics.com/blog/qt-tips-and-tricks-part-2)] - Odds and ends that might be nice to keep in your back pocket.

Sometimes you need different variations of the same asset, but you won't know which ones to load until runtime. This class will decide for you.

[1

2](https://www.ics.com/blog/some-lesser-known-qt-tools-and-commands-part-2), 3, 4, 5] - You don't find hidden gems by staying on the beaten path.

Talk to your scripting language. That's what it's there for.

[1

2](https://www.ics.com/blog/qt-and-opengl-loading-3d-model-open-asset-import-library-assimp-part-2)] - Assimp supports a lot of different model types; these articles will help you support all of them.

This feature's been around for a few years, but it's still useful enough to warrant an entry on this list.

Another software consulting firm that also contributes code to Qt. They seem to specialize in Qt's core architecture.

The magic that Qt appears to rely in is really just a bunch of code generators. This post will bring you up to speed on the reality of the moc, the most notable one.

[1

2](https://woboq.com/blog/how-qt-signals-slots-work-part2-qt5.html), 3] - Qt's signals/slots system lets any object talk to any other object. Understanding these three articles will help you take full advantage of the feature.

C++ isn't known for having good run-time type information, so Qt brings its own.

Stop writing C++ like it's 2003; learn how you can take advantage of recent C++ features in your Qt applications.

String literals are widely used in many applications; wouldn't it be nice if you could make them faster to access?

Another* consulting firm that specializes in Qt.

Talk about GammaRay and how it can help you dissect your Qt applications. Talk given at QtCon 2016 by Volker Krause.

I want to make my application do more than once thing at once. What could possibly go wrong? Talk given at QtCon 2016 by Giuseppe D'Angelo.

How to make your Qt application faster, Linux-style. Talk given at QtCon 2016 by Milian Wolff.

Books

by Lee Zhi Eng :octocat: - Overview of advanced GUI programming techniques for those familiar (but not satisfied) with the basics. The source code used in the book is available for free.

by Witold Wysota and Lorenz Haas - Good place to start learning how to program games with QML.

by Ray Rischpater - Beginner's guide to Qt, with a lot of focus on Qt Creator and its associated tools.

by Symeon Huang - Seems to be about the overall structure of a Qt project.

by Guillaume Lazar and Robin Penea :octocat: - Not your daddy's Qt. Tips and tricks for the experienced. The source code used in the book is available for free.

by Gopinath Jaganmohan and Venkateshwaran Loganathan - Imagine these other books, but in Python.

octocat:](https://github.com/qmlbook/qmlbook) - Free book that focuses on QML, named for this town in northeastern Spain that the authors vacationed to once.

Software that Uses Qt

3D animation and design software that has been used to create visual effects for some of the most popular movies and TV shows of all time.

octocat:](https://github.com/Kitware/CMake) - The closest thing to a standard C++ build system out there. The bundled GUI uses Qt.

octocat:](https://github.com/CRYTEK-CRYENGINE/CRYENGINE) - But can it run Crysis? Some auxillary tools use Qt.

octocat:](https://github.com/doxygen/doxygen) - The most popular documentation generator for C++, though it supports other languages as well. The bundled GUI uses Qt.

KDE

octocat:](https://github.com/KDE) - One of the most popular desktop environments for Linux.

Your Windows desktop's personal bodyguard.

octocat:](https://github.com/qtproject/qt-creator) - By no means does Qt lock you into its provided IDE, but its firm integration with the framework makes it a good sell. Among other things, it provides a UI designer, modeling tools, a documentation browser, and great QML support if you're into that sort of thing. There's also a plugin system, but third-party plugins are unfortunately scarce.

octocat:](https://github.com/Rolisteam/rolisteam) - Virtual tabletop for remote Role Playing Games.

Level design tool for any game that uses the Box2D physics engine.

When gamers want to voice chat in a game that doesn't support it, they'll use this.

Messaging app with a focus on speed and security.

octocat:](https://github.com/bjorn/tiled) - Perhaps the world's most popular tilemap editor. Suitable for level design in games.

package:](https://www.virtualbox.org/browser/vbox/trunk) - Virtualization software for x86/64 processors. The bundled GUI uses Qt.

VLC

package:](https://code.videolan.org) - One of the most flexible open source video players in existence.

Vuo

A realtime visual programming language for interactive media.

Wireshark is a free and open-source packet analyzer. It is used for network troubleshooting, analysis, software and communications protocol development, and education. Wireshark is very similar to tcpdump, but has a graphical front-end, plus some integrated sorting and filtering options.

Programming language, symbolic calculator, and an engineer's best friend.

octocat:](https://github.com/Yabause/yabause) - Sega Saturn emulator.

Other Relevant Awesome Lists

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

28.58K
4.95K
1d
n/a

Continuing the development of awesome-c list on GitHub

2.29K
281
1y 49d
n/a

A curated list of awesome CMake resources, scripts, modules and examples.

3.33K
349
52d
n/a

A curated list of awesome OpenGL libraries, debuggers and resources.

1.36K
132
42d
n/a