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 a previous blog we demonstrated the most straightforward method to optimize Visual Studio Code for a Qt / C++ environment: simply let the tools do all the work! The example GitHub project we discussed automatically installs both the Microsoft C/C++ and clangd extensions into VS Code. You might wonder why you need both C++ […]
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.
Our colleague Alessandro Ambrosano created a series of blogs (parts 1, 2, and 3) that explain how to get Visual Studio Code configured for Qt development. In that series, Alessandro covers all the details you need to get your VS Code environment configured exactly the way you want it. But there’s a lot there to […]
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.
KDAB is proud to be a Silver Sponsor at this year's Meeting C++, a highly recommended 3-day hybrid event for the European C++ community, offering 44 Talks in 4 tracks, November 12th - 14th. While this is also an in-person event, there is a substantial concurrent online program, so that high-class international speakers can easily […]
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.
Today's blog post is about a small utility class in Qt with a... questionable name: QPointer. If you're new to Qt, maybe don't check out QPointer's documentation just yet, and try to guess what the class does based on its name alone. I've seen countless users being very confused by it. Some end up using […]
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.
I'm happy to announce the immediate availability of Heaptrack v1.5.0. Heaptrack is a heap memory profiler targeting mainly Linux, as well as FreeBSD. To learn more, please visit the project website. Version 1.5.0 incorporates about 70 changes since the v1.4.0 release from June last year. The highlights include: - Elfutils is now used for symbolizing […]