Unsolved How to add a centralized stylesheet definition to a project?
-
I'm working on a project which uses custom stylesheets extensively. Instead of adding a stylesheet definition per widget, can anyone tell me if there is any way to store all stylesheet definitions in a single file and get Qt Creator and all widgets to follow them?
-
Hi
Stylesheets are cascading meaning you can set one style sheet to QApplication and it will
affect all Widgets in the application. This is much easier to manage than many stylesheets all over the widgets.
But this is only at runtime.During Design time, you can set same style sheet on MainWindow ( or what ever is the top widget) and
all its children are affected but if you create a new form, then it wont automatically
get a/the stylesheet. I also missed that feature.So yes, you can use one file and apply it exactly once but only run time.
Its more fiddle, fiddle when in Designer.
That said, the UI files are just xml files so its quite easy to use a cmdline tool like
http://xmlstar.sourceforge.net/overview.php
and auto add a stylesheet for all UI files if its a must to see the right look in Designer
and then when "ready" strip all UI files for stylesheets and
only set via application so you can get the benefit of one file for all styles.That said again ;), stylesheets was meant for smaller tweaks.
For a custom look, QStyle offer far better performance and absolute control.
http://doc.qt.io/qt-5/qtwidgets-widgets-styles-example.html