在我的小部件中,我可以做类似的事情:
MyWindow::MyWindow(QWidget *parent) :
QWidget(parent)
{
ui.setupUi(this);
setStyleSheet("QWidget { background-color: red }"); // <--- HERE
}
这会将小部件背景设置为红色。
我的资源中有一个QSS文件。我如何指示我的小部件从那里获取其样式表内容,而不仅仅是将qss语法作为参数?
答案 0 :(得分:19)
作为为每个窗口小部件设置样式表的替代方法,您只需为整个应用程序加载和设置样式表。像这样:
QApplication app( argc, argv );
// Load an application style
QFile styleFile( ":/style.qss" );
styleFile.open( QFile::ReadOnly );
// Apply the loaded stylesheet
QString style( styleFile.readAll() );
app.setStyleSheet( style );
在这种情况下,所有小部件都会自动从给定的样式表中选择样式。
答案 1 :(得分:17)
得到它:你实际上必须从资源“读取文件”,将其转换为QString并将其提供给setStyleSheet。 E.g:
QFile file(":/qss/default.qss"); file.open(QFile::ReadOnly); QString styleSheet = QLatin1String(file.readAll()); setStyleSheet(styleSheet);