As Qt applications grow complex, manual GUI testing becomes tedious, making test automation essential. This presentation uses **Squish** to demonstrate proven GUI test automation approaches, focusing on how Behavior-Driven Development (BDD) principles can effectively structure and develop test code for Qt applications.
Developing desktop applications in QML is highly effective, with Qt Creator's **Qt Quick Designer** as a key tool. Beyond drag-and-drop UI elements like Qt Designer, it enables bindings setup, state previews, and keyframe animations—ideal for design team collaboration and rapid UI iterations. This talk covers effective Qt Quick Designer usage, common pitfalls, and limitations.
When an application is being introspected by GammaRay, you can use Control + Shift + Mouse click on any of its widgets to select it for further inspection. This lets you check all the properties for the widget, its positioning, as well as simply get an answer to the question: of which class is this widget?
In this talk, we will first give an overview of the APIs provided by Qt to handle touch and pen input within an existing QtWidget or QML application running on Windows or Linux. We will then present various strategies to complement a mouse-based UI with touch and pen capabilities
We talk about headers in a QTableView. Were you ever slightly annoyed by the fact that you can click on a header and sort the table by the corresponding column, but then you cannot undo the sorting? Let's fix that!
KDDockWidgets was created to solve QDockWidget customization problems that plagued complex projects. This presentation explores essential modern docking system features, highlights KDDW's advantages over QDockWidget in functionality and customization capabilities, demonstrates code stability improvements, and tests KDDW's extensibility claims including QtQuick/QML support.
QGIS is a mature, open-source desktop mapping application used by millions worldwide, built entirely on the Qt framework. Qt's power and ease-of-use have enabled QGIS to become a respected tool for professional cartographic design and spatial data analysis. This talk explores how QGIS leverages Qt, examines Qt's strengths and weaknesses, and shares practical Qt development tips learned from the project.
Scrite is a free, open-source screenplay writing application demonstrating QML's effectiveness for desktop productivity apps. Developer Prashanth Udupa discovered key design patterns making QML viable for complex desktop applications, including model-view approaches, Qt meta-object mastery, custom QML properties, thread management, and strategic use of components like Loaders and GammaRay for debugging.
Building sophisticated widget-based UIs requires experience to avoid maintainability and performance pitfalls. This talk demonstrates how reducing widgets and layouts improves code readability and performance, explores using views for multi-widget layouts while managing styling complexity, shares UI behavior tips, and investigates layout performance hotspots with debugging tools.
Clang-format is a tool that can automatically reformat your source code. Not only can you run it manually to apply a given formatting, but you can set it up so that it automatically reformats the code when committing into git, or when saving in Qt Creator.
Kuesa 3D is a design-to-code workflow for real-time 3D applications using glTF 2 format. It enables designers to create and adjust 3D content in real-time while giving developers both code-level access and high-level APIs for integration.
What to expect from Qt 6 on the desktop? The next major version of Qt, will be released by the end of 2020 bringing innovations across the board: better performance, flexibility when using C++, safety when using QML, a new approach to modern 3D graphics.
This edition includes the following items: a Qt Desktop Day recap, the Road to Qt 6, Qt for MCU 1.4, Qt Automotive Suite 5.15.0, KDDockWidgets 1.0.0 release, Heaptrack and Hotspot releases, event announcements, and resources.
If you find yourself working on a number of projects in Qt Creator and you quickly want to switch between them, just use a different session for each one! Sessions will remember open documents, cursor positions, and much more.
This video visits Qt Designer, this time to discuss combo boxes. Mapping a QComboBox's entry to a specific value is easy in C++, but not so easy when the combo box is populated from within Qt Designer. How do we improve the situation?
In this video, the first of the Qt Widgets series, we show you a few ways to improve your workflow when using a QGridLayout inside Qt Designer. Though it sounds simple, there are a few subtleties involved.
Not all C++ programs are fast by default. One of the most time-costly mistakes we can make is creating unnecessary copies. We show that with linear types, functional programming style APIs need not be slower than their impure imperative counterparts.
CppCon: a short interview with the organizer, John Kalb, about turning CppCon into a virtual event. Qt Desktop Days: a new online event hosted by KDAB and including a series of live online talks. Qt 3D is ready for Qt6 and will no longer rely only on OpenGL.
Qt Quick comes with a few visualizations useful for profiling its rendering performance. While these visualizations are built inside Qt Quick itself, there are a few downsides when using them directly. GammaRay makes them more accessible and useful; in this video, we are going to show you how.
GammaRay's Qt Quick inspector tool allows us to inspect not only all the current values for the properties of the items in our scenes, but also to visualize whether those properties are bound to something else.