C++ Qt样式表的任意检查
我有几个Qt样式表,看起来像这样:C++ Qt样式表的任意检查,c++,css,qt,C++,Css,Qt,我有几个Qt样式表,看起来像这样: MyClass { my_color: #abcdef; } 然而,我最近将MyClass移到了一个新的名称空间ns中,这意味着它对应的qss类名现在是ns MyClass,而不仅仅是MyClass。因此,我的所有样式表现在都无效。不幸的是,它们并非都在我的控制之下,因此我无法手动编辑它们 所以我的问题是:如何配置ns::MyClass以使用MyClass的所有相同样式设置 显然,Qt必须在某个时候解析样式表。因此,如果我可以访问已解析的样式表并提取
MyClass
{
my_color: #abcdef;
}
然而,我最近将MyClass移到了一个新的名称空间ns中,这意味着它对应的qss类名现在是ns MyClass,而不仅仅是MyClass。因此,我的所有样式表现在都无效。不幸的是,它们并非都在我的控制之下,因此我无法手动编辑它们
所以我的问题是:如何配置ns::MyClass以使用MyClass的所有相同样式设置
显然,Qt必须在某个时候解析样式表。因此,如果我可以访问已解析的样式表并提取影响MyClass的部分,我应该能够通过setStyle或setStyleSheet将这些部分添加到ns::MyClass中。但我找不到一个方法来做到这一点
我的目标是Qt 4.8。您需要修补Qt,以便向QApplication添加两种方法:
替换将保存在应用程序的PIMPL中,您需要让样式表机制使用它们。我希望Qt所需的全部补丁大概有24行左右。没有工具可以访问解析后的样式表。你为什么还要为这么旧的版本编写代码?@Hamishmoffat我的错,我搞错了-我的目标是Qt 4.8,而不是4.6。
void setClassSubstitutions(const QMap<QString, QString> &);
QMap<QString, QString> classSubstitutions() const;