Have you ever wondered what Q_OBJECT really is? How "public slots" can be valid C++ syntax, what happens when you call emit, and whether signal emission results in the slot being executed asynchronously? Watch this episode to get all those answers.
In this episode, we will show you how to add signals and slots to your own classes. The video includes: Custom Slots, Custom Signals, Compiling with moc.
With Qt's signals & slots mechanism, you can also connect to a lambda expression.
In this episode, you will learn how to do that, and equally important, what the pitfalls are when you do that.
Before Qt5 was released, the signal & slots mechanism was somewhat different. This episode will tell you what it looked like back then. There are two purposes to that: (1) You will likely find some references on stack overflow telling you something using that syntax, and (2) it helps enlighten the story about the Qt5 way of doing it.
Qt's signal and slots system is a cornerstone feature enabling object communication throughout Qt applications. This episode introduces the fundamental concepts of signals and slots, demonstrates how to connect signals to slots for event handling and data flow, and covers the different connection methods available for establishing these communication pathways between objects.
One of the most important classes in Qt is without a doubt QWidget, which is at the core of any UI (in the widgets world). QWidget has two purposes: (1) being the super class for any widgets, and thus, providing the API's for mouse, key, and focus handling among a lot of other things, and (2) being a "canvas" where you can lay out other widgets on.
In this video, we will learn what the responsibility of the class QObject is. We will most noticeably look at the parent/child relationship. In this context we will learn what should be allocated using new and what shouldn't.
In this episode, Jesper will show you how to navigate the Qt help text most efficiently. In addition, he will also show how you get to the header files.
In this episode, we will compile the application using both CMake and QMake.
This first episode introduces Qt Widgets development with a "Hello World" example and covers foundational concepts. Jesper demonstrates the basic Qt Widgets application structure, explains the event loop mechanism that drives Qt applications, discusses the QApplication class and its role in managing the application lifecycle, and shows how to run the program.
In the final part of our series on 3D in Qt 6, we review the tooling around 3D, and how the different approaches available suit different business and technical needs. We look at what content creators typically deliver to us as developers, what operations and actions we might do with that, and how iterative development and revisions to content impacts us a developer.
This episode of KDAB News includes: Interview with KDAB's Till Adam & Ferrous Systems' Florian Gilcher - Why Rust?; Rust Training Courses; Heaptrack 1.5 Released; Tip of the month - QPointer
In this video, we review the evolution of APIs to access graphics hardware, and the evolution of Qt rendering in parallel. Then we look at the abstractions and features created by Qt to take advantage of modern graphics hardware while remaining portable to a wide range of platforms. Finally, we look at what this means for integrating our own or third-party renderers into Qt 6.
In this video, we discuss the 3D solutions which ship directly with Qt6, and the different features and trade-offs of each one. We look at the key rendering styles and kinds of 3D content supported by Qt Quick 3D, and the ways of integrating the content with existing 2D scenes.
This video explores some of the choices around the changing options for 3D content in Qt 6. We'll work our way through the why, what and how of bringing 3D content in your existing Qt application.
Timothée Giet and Johnny Jazeix are currently Co-Maintainers of the GCompris project. They took these roles not long after GCompris was re-written in Qt by its founder, Bruno Coudoin. In this video, KDAB talks to them about their involvement and some of the technical challenges they have encountered.
This episode of KDAB News includes: KDAB Training Day 2023; Interview with Giuseppe D'Angelo - What's new in Qt 6.6?; GammaRay 3.0 released; Tip of the month - GitHub Actions.
In this episode, Jesper will look at what it takes to get code coverage setup with gcov and gcovr.
In this video, you will learn how to debug a painting issue for a QWidget, using the detailed recording by GammaRay of all individual painting operations.
In this video, you will learn how to use GammaRay to find the slot executed by a QAction, when the user clicks on a menu item. This technique works even if you know nothing of the application code, all you have to do is find the action by its user-visible text.