Hi,
I'm the author of the open-source software LibrePCB which is also based on Qt. I'm currently evaluating how to improve our UI/UX, and an important part of that is to move to a more modern, responsive and consistent look. Since I'm very impressed by the neat GUI of OBS Studio, I'd like to understand a bit more about how it is developed. I don't want to waste your time too much, just some hints about the general design concepts would be great :)
As far as I can see, the GUI is entirely made with QtWidgets, with heavy usage of stylesheets (*.qss files) and SVG icon sets. And for layouting therefore I suspect the QLayout classes are used. Please correct me if I'm wrong.
As a concrete starting point, these are the main questions in my mind:
Urban
I'm the author of the open-source software LibrePCB which is also based on Qt. I'm currently evaluating how to improve our UI/UX, and an important part of that is to move to a more modern, responsive and consistent look. Since I'm very impressed by the neat GUI of OBS Studio, I'd like to understand a bit more about how it is developed. I don't want to waste your time too much, just some hints about the general design concepts would be great :)
As far as I can see, the GUI is entirely made with QtWidgets, with heavy usage of stylesheets (*.qss files) and SVG icon sets. And for layouting therefore I suspect the QLayout classes are used. Please correct me if I'm wrong.
As a concrete starting point, these are the main questions in my mind:
- Are you generally happy with QtWidgets+QLayout+Stylesheets, does it work nicely even on all the different platforms (i.e. is the look not corrupted by platform-specific Qt behavior)?
- Are the themes compatible with a wide range of Qt versions, or do different Qt versions cause troubles with the compatibility of (non-versioned) themes?
- Are/were there any intentions or experience with QtQuick/QML? Or concrete reasons for not using it?
- Any recommendations for learning material in addition to Qt's documentation Styles and Style Aware Widgets?
Urban