I’ve been picking at Qt for a week or so now, trying to get a sense of how to organize from the start to develop a raw processing UI. I won’t say what project I’ll tackle first because I haven’t decided; indeed, I may just tackle one of my CAD helpers first since they’re pretty simple.
What I’m looking for here is a bit of discussion on using Qt to develop an application for wide distribution. Project/code organization, autotools/cmake/meson, internationalization/localization, QtQuick vs QtWidgets, any insight from anyone who’s tried to wrangle Qt in these regards. Until now, I’ve basically just moved from one wxWidgets hack to another, writing programs to scratch particular itches of mine with no regard to distribution.
I’ve taught Qt at the university for a number of years. It’s an amazingly flexible toolkit. (Sadly, all my teaching resources are in German, so they provably won’t help you)
You currently have the choice of their QML scripting interface and their traditional OOP QtWidgets programming interface. Personally, I’d lean QML only for small-ish GUIs with few custom widgets. Otherwise, the inherent single-threadedness of the JS interpreter will bite you quite quickly. It really started chugging last time I threw a few hundred widgets at it (years ago, though).
You can mix and match the two, too, but the interaction model with non-UI code is very different. To my mind, it’s easier in QtWidgets.
Thanks, very insightful. I’m right now just trying to figure out how to get Ubuntu to provide qt6 qml, what a pain. Considering the musescore video, they apparently had good success doing qml, but my intuition goes with you…