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.
Full stack tracing is a tool that should be part of every software engineer’s toolkit. It's the best way to investigate and solve certain classes of hard problems in optimization and debugging. Because of the power and capability it gives the developer, we’ll be writing a series of blogs about it: when to use it, […]
We are happy to let you know that the very first edition of Qt Desktop Days 2020 was a great success! Having pulled together the event at very short notice, we were delighted at the enthusiastic response from contributors and attendees alike. Over 500 registered attendees could enjoy five days of technical talks. The program […]
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.
The KDDockWidgets 1.0 release is now available! What is KDDockWidgets? KDDockWidgets is an advanced docking system for Qt, with features that are not available in QDockWidget. See our first blog post, for a quick introduction and the motivation for a new docking framework. What's new in 1.0? We've come a long way since the initial […]
GammaRay 2.11.2 We have released version 2.11.2 of our Qt application introspection tool GammaRay, bringing support for Qt 5.15 and improved Qt Quick item picking. GammaRay is a software introspection tool for Qt applications developed by KDAB. Leveraging the QObject introspection mechanism it allows you to observe and manipulate your application at runtime. This works […]
Memory bugs are tricky. Leaks have a clear impact on performance, and quickly become hard to spot when heap allocated objects move too much. Memory access bugs, on the other hand, make your program crash right away, if you're lucky. In less desirable cases, they may end up corrupting random objects on the heap, and […]
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.
What is Akademy? Akademy is the yearly conference for the KDE community, which is a community devoted to creating free software for desktop and mobile. Typically, Akademy takes place in a different city each year. However, due to the pandemic, the conference was online this time around. September 4-11 marked the dates of Akademy 2020. […]
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?
We have just released version 1.2.0 of Heaptrack, the fast heap memory profiler for C++/Linux applications. A bit of Background The Heaptrack fast heap memory profiler allows you to track all heap memory allocations at run-time. Afterwards, you can use the accompanying GUI tool to find optimization opportunities in your code by analyzing the recorded […]
We are pleased to announce a new release of our Hotspot Linux perf performance analysis GUI, Hotspot version 1.3.0! Hotspot is a replacement for perf reportthat takes a perf.data file, parses and evaluates its contents, and then displays the result in a graphical form. You can read a bit more about Hotspot here. Overview of […]
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.
Python is a handy all-purpose language. It can make you very productive within a short time period and has powerful expressiveness for data manipulation and processing. Yet, it's not a great fit for lots of tasks. C++ is far better at achieving anything that needs bare metal performance, deterministic timing, or low-level access. Thankfully, some […]
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.
Up until now, Qt 3D was relying on OpenGL for rendering. With the upcoming Qt 6, Qt will come with a rendering abstraction layer (Rendering Hardware Interface or RHI) to target not only OpenGL but also Vulkan, Metal and DirectX. We are in the process of adding RHI support to Qt 3D. This will allow […]