gpt4 book ai didi

css - 如何访问设置的 qt 样式表属性(像语法一样的 css),或者是否有 css 到 xml 转换器?

转载 作者:太空宇宙 更新时间:2023-11-03 23:38:59 24 4
gpt4 key购买 nike

你好,

我正在开发一个由样式表设置样式的 qt 应用程序,设置如下

   QApplication qApplication(argc, argv);

QFile styleFile("myStyleFile.stylesheet");
bool check = styleFile.open(QFile::ReadOnly);
qApplication.setStyleSheet(styleFile.readAll());

此应用程序的重要窗口使用 QGraphicsScene(哪些元素不能使用样式表设置样式)。但我想要独特的外观。

所以问题是:

1.) 有没有办法访问设置的样式表属性(比如 getProperty("QMenu::item:selected") )?

2.) 或者有人知道 xml 文件工具的 css 语法吗? (比一个人可以使用 qt xml/dom 支持访问设置的属性)

我知道可以访问一些特殊的属性

   QColor mainWindowbackgroundColor = 
palette().color( QWidget::backgroundRole() );//Get the backgroundcolor set by stylesheet.

但我正在寻找一种方法来访问所有设置的属性。

谢谢!

最佳答案

我认为您将需要使用私有(private) Qt 类来执行此操作。这通常不是一个好主意,因为接口(interface)是内部的并且可能会发生变化。

在 Qt (4.8.4) sources \src\gui\text\qcssparser_p.h header 中声明了 QCss 命名空间。

虽然我没有尝试过,但看起来您需要创建一个QCss::Parser,调用parse 来获得一个QCss::样式表。该对象包含解析后的数据,包括 QCss::StyleRule 向量,它匹配 QCss::SelectorQCss::Declaration 在一起,有一个查看 QCss::Declaration 上方的注释,了解它是如何分解的。

最后的警告:使用 Qt 私有(private)接口(interface)很容易导致维护问题 - 不要在没有非常充分理由的情况下这样做。

关于css - 如何访问设置的 qt 样式表属性(像语法一样的 css),或者是否有 css 到 xml 转换器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23374862/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com