在我的应用程序中,整个应用程序的样式表都是从加载到应用程序中的资源文件中获取的。
我在那里定义了两个QListWidget的样式表:
我注意到两件事: 1.仅调用“SetObjectName(“ Bad”);”不会从方法中更改样式...... 2.只有在从包含QListWidget的小部件的构造函数中调用“SetObjectName(“ Bad”);”才起作用。
显然,我漏掉了一些“更新样式”的阶段。请注意,我不能在代码中使用“setStyleSheet”,它必须来自QSS文件。
我错过了什么?
QListWidget#Good{
..some color properties
}
QListWidget#Bad {
..soem different color properties
}
在一个表单中,我的QListWidget的对象名称为“Good”,因此它遵循#good样式。在运行时,我有一个情况,我想将其“SetObjectName”更改为“Bad”,并立即在UI中更改样式。我注意到两件事: 1.仅调用“SetObjectName(“ Bad”);”不会从方法中更改样式...... 2.只有在从包含QListWidget的小部件的构造函数中调用“SetObjectName(“ Bad”);”才起作用。
显然,我漏掉了一些“更新样式”的阶段。请注意,我不能在代码中使用“setStyleSheet”,它必须来自QSS文件。
我错过了什么?