Introduction In the previous article we gave an overview of the process for creating a custom aspect and showed how to create (most of) the front end functionality. In this article we shall continue building our custom aspect by implementing the corresponding backend types, registering the types and setting up communication from the frontend to […]
QtDevelopment Get the RSS Feed
for feeds to planetqt and planetkde
Writing a Custom Qt 3D Aspect – part 1 Extending Qt 3D via Aspects
Introduction Qt 3D has a flexible and extensible architecture that allows us to easily add our own new functionality to it without disrupting the existing features. The functionality of Qt 3D is divided among so-called aspects, each of which encapsulates a particular subject domain such as rendering, input, or animation. This short series of articles […]
clazy 1.2 released presenting 5 new Qt compile-time checks
In the previous episode we presented how to uncover 32 Qt best practices at compile time with clazy. Today it’s time to show 5 more and other new goodies present in the freshly released clazy v1.2. New checks 1. connect-not-normalized Warns when the content of SIGNAL(), SLOT(), Q_ARG() and Q_RETURN_ARG() is not normalized. Using normalized […]
New in Qt 5.10: recursive filtering for QSortFilterProxyModel
When using Qt’s model/view framework, filtering has always been very easy with QSortFilterProxyModel. To filter a list using text typed by the user in a line-edit, you have certainly been applying the standard recipe: instantiate the proxy; insert it between view and source model; connect the lineedit’s textChanged signal to the proxy’s setFilterFixedString slot; done! […]
Qt 3D Animation Easter Teaser Using Blender and Qt 3D in Qt 5.9 to create, texture, and animate a model
As an Easter treat here is a quick taster of some of the animation goodies coming to Qt 3D along with Qt 5.9. In this post we will briefly outline the steps needed to create a simple Qt 3D application and the assets it uses to produce this little animation:
Un-deprecate your Qt project
The last post from my colleague Marc Mutz about deprecating Q_FOREACH caused quite an uproar amongst the Qt developers who follow this blog. I personally feel that this was caused fundamentally by a perceived threat: there is a cost associated to porting away a codebase from a well-known construct (Q_FOREACH) to a new and yet-undiscovered […]
Writing Code That Won’t Kill A collection of reading material, white papers, and academic journals about functional safety
Functional Safety is the term used for systems designed to minimize risk to human health. But there’s a dilemma in today’s tech-driven world. We are more reliant than ever on software to control our planes, trains, cars, and boats, to operate our medical equipment, to process our food, to clean our water, and to power […]
Fixing bugs via lateral thinking Lessons learned by digging into obscure QML bugs
For today’s blog I would like to share with you the little adventure I had when fixing a very strange bug in Qt. Pop quiz Don’t think about this too much, just guess: what does this QML snippet print? There are no JavaScript semantic tricks involved; and using either == or === does not change […]
Fuzzing Qt for fun and profit A brief introduction to fuzzing and how we successfully use it in Qt
Many KDAB engineers are part of the Qt Security Team. The purpose of this team is to get notified of security-related issues, and then decide the best course of action for the Qt project. Most of the time, this implies identifying the problem, creating and submitting a patch through the usual Qt contribution process, waiting […]
KDAB talks at QtCon 2016
Hello! This is a small wrap-up fromQtCon, the biggest Qt event in Europe in 2016, that happened at the beginning of September. At QtCon the Qt community joined forces with the KDE, FSFE and VideoLAN communities, to create an exciting event in the spirit of open collaboration and participation amongst projects. During QtCon many KDAB […]