2

我有各种 PushButtons 在我的脚本中漫游,我正在加载一个外部 css 文件来处理我的软件中的大量小部件。我已经到了不得不按类搜索按​​钮并尝试定义某些属性的地步。对按钮的通用调用,例如: QFrame:QPushButton #btnName { css: blah; } 正在工作,但伪状态不是:特别是悬停和按下。这是我正在尝试的:

--THIS WORKS
QFrame:QPushButton #btnName { css: blah; }

--THESE DO NOT
QFrame:QPushButton:hover #btnName { css: hoverstuff; }
QFrame:QPushButton:pressed #btnName { css: pressedstuff; }

表单中有很多 CSS 样式;这可能是这些线“上方”的问题吗?对于伪状态,我的语法是否错误?是什么赋予了!?提前致谢。

4

1 回答 1

5

您当前使用的语法在所有示例中都是错误的。

选择器QFrame:QPushButton将简单地忽略:QPushbutton,因为它不是有效的伪状态。此外,ID 选择器之前的空格意味着该规则将适用于所有调用的后代对象#btnName(这可能不是您想要的,但这就是为什么第一个示例仍然有效的原因)。

我假设您真正想要的是将规则应用于任何QPushButton带有objectName“btnName”的人,这也是 a 的后代QFrame

在这种情况下,第一条规则应该是:

QFrame QPushButton#btnName { css: blah; }

其他两条规则应该是:

QFrame QPushButton#btnName:hover { css: hoverstuff; }
QFrame QPushButton#btnName:pressed { css: pressedstuff; }

有关选择器类型的更多详细信息,请参见此处

于 2012-02-08T02:42:00.560 回答