How could Qt apply style from an external Qt Stylesheet file?
I would like the users to be able to customize the default look of our applications by simply loading开发者_如何学JAVA their OWN Qt Style-sheet files. How do we accomplish that? Can anybody give me a head start?
Say the user have its stylesheet named stylesheet.qss
and is located in the application folder.
You could load the style sheet when starting the application, using the -stylesheet argument :
myapp->stylesheet = stylesheet.qss;
But this require your user to know how to start an application with arguments.
What you could also do is to add a settings dialog in your app, where the user can choose a stylesheet path.
You can then open this file, load the content, and set it to your application with QApplication::setStyleSheet() :
QFile file("stylesheet.qss");
file.open(QFile::ReadOnly);
QString styleSheet = QLatin1String(file.readAll());
qApp->setStyleSheet(styleSheet);
Qt is providing an example online which might be helpful.
You just set the style sheet for the entire application based on configuration provided by the customer.
http://doc.qt.io/qt-5/qapplication.html#styleSheet-prop
You could set/get this configuration from any number of places, a properties dialog in the application is probably the most natural approach.
精彩评论