Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt样式表的任意检查_C++_Css_Qt - Fatal编程技术网

C++ Qt样式表的任意检查

C++ Qt样式表的任意检查,c++,css,qt,C++,Css,Qt,我有几个Qt样式表,看起来像这样: MyClass { my_color: #abcdef; } 然而,我最近将MyClass移到了一个新的名称空间ns中,这意味着它对应的qss类名现在是ns MyClass,而不仅仅是MyClass。因此,我的所有样式表现在都无效。不幸的是,它们并非都在我的控制之下,因此我无法手动编辑它们 所以我的问题是:如何配置ns::MyClass以使用MyClass的所有相同样式设置 显然,Qt必须在某个时候解析样式表。因此,如果我可以访问已解析的样式表并提取

我有几个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;