Better_Software_Header_Mobile Better_Software_Header_Web

Find what you need - explore useful information and developer resources

Areas of Interest

Searching…

645 results

"unresolved external symbol 'public: virtual struct QMetaObject ...'" - a mysterious linker error that sometimes occurs when working with QObjects and signals/slots. This video explains what causes it, how to solve it with just one click, and what happens behind the scenes where the build system meets signals and slots.

QObject implements a huge number of features: properties, events, signals and slots, automatic memory management and much more. In this module we are going to explore how they work and how they map to all the QML knowledge that we have built so far.

"When the user clicks this button, run this code" is one of programming's oldest problems. Qt's solution is the signals and slots mechanism: buttons emit signals when clicked, slots contain the code to run, and connections link them together. This video explains creating such connections in C++.

This video continues the signals and slots discussion, exploring three connection methods: pointer to member functions (PMFs), string-based SIGNAL/SLOT macros, and function objects (including lambdas). We'll examine the PMF syntax introduced in Qt 5 and compare it against the string-based approach, discussing the pros and cons of each.

Did you know that you can connect a QObject signal to a lambda function, or to any free function or function object, for what it's worth? It's extremely convenient, but it comes with its own set of "gotchas" that we must understand. In this video we'll explain the syntax and reason behind the good use cases of connecting to a lambda function instead of connecting to a "regular" slot.

In the previous videos of this module we have learned how signals and slots work. We have also learned how to connect an existing signal to an existing slot (in all its variations). In this episode, we will build up on that knowledge and discuss how to declare and implement custom signals and slots – and why we would want to do that!

In this edition: Qt 6 release, new versions of Qt Creator and Qt Design Studio, and an outlook for 2021 interview with Kalle Dalheimer (President and CEO KDAB) covering a year in review, smart security, energy efficient software, industry demand, UI frameworks, and KDAB hiring. Also features Library of the Month: QtKeychain.

Software has become critical to our economy. Manufacturing companies must adopt software-centric thinking to survive. Software pioneer Matthias Kalle Dalheimer explains why conventional companies risk commoditization and how to stay competitive. What are the cornerstones of a real software strategy? What can traditional industries learn from software companies?

Sometimes views need more data than what's displayed in a cell. Examples include context menus for employee cells (where only the name shows) or annotation symbols for annotated data. While views could call the model directly, this breaks with proxy models in between.

In this edition: Introduction, Qt 3D in Qt 6 interview with Mike Krus (Senior Software Developer at KDAB), Dashboard UI of new unu scooter, Minecraft's improved CMake build system, and Library of the month.

This video is the closing session of the first Qt Desktop Days. It includes a Q&A on Qt and the Desktop with key figures from the Qt Community.

Kirigami is a framework built on top of QML and QtControls2. It aims to make it easier for applications to implement a modern design language for both desktop and mobile systems, providing features that base QML and QtQuickControls don’t have.

This video explains how to install and use the SpellChecker plugin for Qt Creator, a third-party contribution. GUI applications contain many user-visible strings, so shipping software with spelling mistakes would be embarrassing. While word processors have long included spell checking, programming editors traditionally lacked this feature - until now!

This talk highlights pitfalls and solutions when migrating QWidget desktop applications to Qt Quick, using MuseScore's transition as an example. We'll cover challenges in modernizing 2000s-era designs, effective QWidget-to-QML migration strategies, limitations of mixing both systems, and approaches to overcome or avoid these issues.

Aggressive testing can ensure quality, but "test more" strategies risk redundancy and missed critical code areas—potentially life-threatening if unmanaged. A "test smarter" approach using code coverage analysis is better. This talk introduces Coco, froglogic's cross-platform code coverage tool for Qt, QML, and C/C++/C# applications, showing how to determine test coverage, identify needed tests, and track changes over time.

VLC has used Qt as its main GUI library since 2009, starting with Qt4 and QtWidgets. Now we're overhauling VLC's interface for version 4.0, moving to Qt5 and QML as the main engine. This talk traces VLC's Qt history and explains the new interface changes that will transform how users interact with VLC.

This video shows how to launch GammaRay right from within Qt Creator, with a convenient keyboard shortcut.

We should use layouts to arrange child widgets in containers. Layouts work automatically, except when they don't! Sometimes we need to fine-tune layout decisions, particularly when they incorrectly handle padding and margins for contents.

The Windows Subsystem for Linux (WSL) is a tool that allows you to run your favorite command-line tools, utilities, and applications directly inside of Windows. This talk shows how to have a fully-featured Linux development environment on your Windows machine using WSL and other tools like VS Code Remote.

In this edition of KDAB News we have Qt 6 Alpha and Beta Release, Interview with Qt Approver Giuseppe D'Angelo, What's new in Qt 6, Announcements and other Resources