如何使用qss / css设置单个QToolButton的样式

时间:2015-05-01 13:39:15

标签: css qt qtstylesheets

我有一个工具栏上有多个工具按钮,我尝试将一个样式应用于单个按钮:

QToolButton#button_name
{
    border: 3px solid #FF00FF;
}

我认为这会将粉红色的边框应用于名为“button_name”的一个按钮,但它什么也没做。

如果我关闭“#button_name”,我可以将样式应用于工具栏上的所有按钮。所以我想知道是否有针对特定QToolButton的单独设置样式

干杯

1 个答案:

答案 0 :(得分:3)

您应该更改所需小部件的objectName,而不是QAction。您可以使用widgetForAction()方法获取此小部件。例如:

QToolBar tool;

QAction * foo = new QAction("foo",&tool);
QAction * bar = new QAction("bar",&tool);
QAction * baz = new QAction("baz",&tool);

tool.addAction(foo);
tool.addAction(bar);
tool.addAction(baz);

tool.widgetForAction(bar)->setObjectName("unique");
tool.show();

qApp->setStyleSheet("QToolButton#unique{border: 3px solid #FF00FF;}");

结果:

enter image description here