样式化仅使用QT Creator提升小部件

时间:2010-09-29 14:19:47

标签: qt stylesheet qt-creator

我是Qt的新手,并且一直在使用Qt Creator设计表单。我注意到我可以在表单的样式表中为特定小部件应用样式,并且它将为表单上的每个小部件设置样式。例如,“QPushButton {color:red;}”将使表单上的所有QPushButtons都有红色文本。

有没有办法只将样式应用于某些小部件组?例如,如果我提升QPushButton并将其命名为MyButton,我该如何仅为MyButton设置样式。我希望能够做一些类似“MyButton {color:green;}”的内容,但这似乎不起作用。

有没有更好的方法来做我想做的事情(最好使用Qt Creator)?我似乎无法在任何地方找到这样的例子,但也许是因为我没有使用正确的术语。

谢谢, 标记

2 个答案:

答案 0 :(得分:4)

在样式表中指定选择器有很多选项。它们是documented here

我使用的一个(official style sheet reference document中暗示的)是 的 | =

QPushButton[objectName|="somePrefix_"]

我用它来选择具有相同对象名称前缀的项目。你当然可以通过将样式表应用到包含你想要不同样式的按钮的面板来实现类似的事情,但这可能会变得棘手。

答案 1 :(得分:2)

IIRC应该有效,但创建者可能无法正确显示预览,因为它没有实例化您的按钮。就个人而言,我认为使用在启动时加载的全局.css文件比在创建者中对每个元素应用单个样式更有效。

使用QApplication::setStyleSheet()设置全局样式表