Add drag and drop facilities to your application and give it useful features
In this short episode, Jesper will provide you with a few links to some Qt Widgets and More episodes to watch before he returns with the next module. In addition to that, he will offer a few parting notes on when to use Qt Designer at all.
This video shows an example use of Qt stylesheets, to change the appearance of Qt widgets. We'll dig into the styling of the progressbar as example, the code for styling buttons is also provided.
This video explains the concept of widget styles, showing the code of an actual style written for this video. We'll dig into the styling of the progressbar as example, the code for styling buttons is also provided.
For more than a year Jesper Pedersen has hosted a Youtube series focusing on Qt Widgets and everything around developing with it. In this talk, Jesper will highlight some of the most important take aways, including coding tips, and especially those relating to the model/view framework, Qt Creator power tips, and general tips relating to a software development tool.
This video shows how to implement a custom Qt widget, when none of the widgets provided by Qt match your needs. As an example, you'll be presented the code for a toggle switch, as is very common on mobile platforms, why not have something like that on the desktop too?
In this video, you will learn how to let the user drop files onto a Qt widget. The users of your application will appreciate being able to open a file by dragging it from a file manager (for instance), and dropping it onto your application.
A follow up to the blog post on Saying No to Qt stylesheets, this video introduces different solutions: implementing the QStyle API, using Qt Stylesheets (QSS), writing custom widgets, and writing item delegates.
This final episode of "Introduction to Qt Widgets" will end on a high note - a very high note even - namely by Jesper talking about event filters. Event filters are a super neat tool in Qt, with which you can do truly amazing things - but also shoot yourself in the foot, so your whole leg falls off.
This month, we began adding our Introduction to Qt Widgets series to YouTube. It's the same content regularly taught around the world by KDAB engineers. The best part? You're getting it absolutely free.
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.
QLineEdit and QTextEdit have setReadOnly() methods, but QComboBox doesn't. Making widgets read-only without truly disabling them (which prevents interactions like tab switching or scrolling) requires alternative approaches. This video explores solutions for making QComboBox and other widgets without setReadOnly() methods effectively read-only while maintaining their interactive capabilities.
Qt has two sub-classes of QAbstractItemModel which you do not need to subclass, namely QStringListModel and QStandardItemModel. This episode will take a look at those.
In April 2022, we put out an April's Fools where we demonstrated the AI integration in Qt creator. Fortunately within the same year reality surpassed us, and now we are all much more productive thanks to ChatGPT. You may ask, how does it know all the stuff it knows? Well, it obviously watched Qt Widgets and More! I did, however, find that it had a few glitches, so this episode will be fixing those, but telling it about all the best practices around Qt Widgets development
In this video Jesper demonstrates how to set up CMake for translating your Qt application.
One of the most important features of Qt's model/view framework is without a doubt proxy models. This episode covers these.
In this video, you will learn how to use GammaRay to investigate the issue of a widget that can be squeezed down far too much horizontally. After testing the fix by changing a property dynamically at runtime, you will see how to find the corresponding line of C++ code in order to fix the bug for good.
Delegates allow you to customize how each cell in a list, table or tree is painted. This episode covers how they are implemented, and how they are instantiated on your lists, tables or trees.
Selection in the model/view framework manages to be very powerful and very confusing at the same time - in this episode we will try to clarify the confusion.