This tutorial shows how to display Qt Widget windows in a Qt Quick application, combining the flexibility of both frameworks. Learn how to manage integration through C++, expose widget properties and signals to QML, and build multi-window UIs for desktop or embedded platforms from real world examples.
KDAB and Schneider Digital developed a system that automates stereo 3D setup by dynamically calculating focal distance, camera separation, pop-out, and field of view. A focus-area method inspired by digital cameras continuously adjusts depth, enabling a plug-and-play experience without manual tuning.
Qt Quick apps can show a white flash during window resizing due to frame lag. This happens when the window’s background doesn’t match the system theme. Use SystemPalette to set a theme-aware background color, ensuring smooth, consistent visuals across platforms.
With NLnet support, KDE Plasma’s Wayland session now offers improved accessibility and creative tool support. Enhancements include better sticky keys feedback, customizable tablet areas, pressure curve adjustments, and configurable stylus buttons. These updates make Wayland more inclusive, reinforcing KDE’s commitment to accessibility.
In this episode, Jesper discusses some non-trivial painting code. It includes coordinate transformations, discussions of cosmetic pens and more.
Sometimes the simple questions come with a super complex answer. Question: How do you draw a rectangle around a piece of text? Answer: Uh ohh, hold my beer (or coffee or ...) .....
In this episode I'll implement a simple bar chart, which involves painting the actual bars.
With your current knowledge of QPainter, you would likely have a hard time if I asked you to draw an analog clock. Obviously, you know you can draw a line between two points with drawLine, but how do you determine these two points for say the 5 o'clock marker?
Where are the pixels for the outline of a rectangle drawn? Inside the rectangle? Outside the rectangle? Or in between?
In this episode, we will look at the operations that QPainter offers, and especially, try to understand the drawText() method which is far from trivial.
Qt has a poor man's version of theming your application by changing the color schemes. It is most certainly used in KDE, but besides that I've never really seen it in action. It does, however, have quite some impact on how you do something as simple as changing the background color of a push button. Watch this episode to learn more.
You've reached the third and final entry of the Instantiating arbitrary Qt Quick components with JSON series. Part 1 and Part 2 can be found at their respective links. The first part focuses on the software design pattern used to dynamically instantiate components. The second one shows how to layout these dynamic components by incorporating […]
The class QMainWindow provides all the parts needed to create a main window for your application, namely toolbars, docking widgets, a menu bar, and menus. In this episode, we will look at how they all fit together.
Qt provides built-in dialogs for common use cases including file selection, color/font choosers, simple text input (like asking for names), message display, and progress indication. It also includes a framework for implementing wizards. This episode covers all these dialog types and demonstrates their practical usage in Qt applications.
In Qt, you can create a top level window, simply by providing nullptr as the parent. However, we still have a class called QDialog specifically for creating dialogs. Among other things it offers to wait for the dialog to be completed before your code continues execution.
In this second episode on layout managers, we will discuss how to make widgets stretch, and how to get spaces into your layout.
We will discuss that both when you code it in C++, and when you do it in Qt Designer.
I was tasked to come up with a simple architecture for remote real time instantiation of arbitrary QML components. I’ve split my findings into 3 blog entries, each one covering a slightly different topic. Part 1 focuses on the software design pattern used to dynamically instantiate components. Part 2 shows how to layout these dynamic […]
Recently I was tasked to come up with an architecture for remote real time instantiation and updating of arbitrary QML components. This entry shows how you can use a simple variation of the factory method pattern in QML for instantiating arbitrary components. I’ve split my findings into 3 blog entries, each one covering a slightly […]
In this second episode on layout managers, we will discuss how to make widgets stretch, and how to get spaces into your layout. We will discuss that both when you code it in C++, and when you do it in Qt Designer.
In this episode, we will continue looking at the most common widgets in Qt, focusing our attention to QPushButton, QRadioButton, QCheckbox, QSlider, QProgressBar and QSpinBox.