Qt Desktop Days – Day 2
What sessions were on the second day of Qt Desktop Days? Lots!
The first session on day 2 was from Nyall Dawson who works for North Road but who is also a significant contributor to QGIS, the largest open-source GIS program in the world. Nyall explains why Qt is an awesome fit for this massive desktop application. He explains why he believes that Qt is partly responsible for its longevity and success. To understand exactly why QGIS is such a beast (over 1.5 million lines of code and over 500 code contributors), he explains what a GIS system is expected to do, like consuming and creating spatial data, creating high-impact and professionally designed maps, and doing geographical analysis – all with multiple coordinates, projects, and extreme accuracy.
Nyall also dips down into the code to tell us what Qt features they use heavily. If you’ve never understood a good use for QPainter, you’ll want to see what amazing things they’re able to achieve with this under-appreciated class!
If you’ve ever created an application with docks, you’ll know that docking systems are often buggy, overly complex, and an absolute bear to convince them to work the way you want. Sérgio Martins is KDAB’s resident docking expert, who had enough of the many issues and limitations of QDockWidget so he created KDDockWidgets (KDDW) in response. Here he talks about how KDDW handles all of the must-have features in a dock like custom indicators, full drop flexibility, widget customization, title bar suppression, nested windows, focus scope, and much, much more.
Sérgio also discusses how to get KDDW (it’s open source), the current status of QML/QtQuick support, and what’s on the roadmap for new features. And he even gives some tips about how to manage issues in docking frameworks besides KDDW. If you’re making an application with dockable windows and toolbars, watching his video is time well spent.
Bluescape is a company that creates collaborative, multi-screen, multi-touch whiteboards – some pretty “Minority Report” type of stuff. Bluescape’s Romain Pokrzywka joined us to talk about how to really wrangle touch and pen input, and how to develop applications that need to live equally well across mouse and keyboard desktop, touch screen laptops, tablets, and mobile devices.
Romain talks about the specifics of Qt multi-touch and pen support in both C++ and QML, gives us some of his hard-learned lessons about how to best develop applications that merge these features, and shares his tips and tricks on what works best (like what to do with those non-conformist mouse wheels). He also discusses what’s coming down the pike for Qt 6 when it comes to input API changes, including some long overdue changes.