Qt样式表:无法使用ID选择器

3

我正在学习使用Qt样式表来为我的应用程序添加不同的样式。我在网上查看了Qt文档,发现可以使用称为ID选择器的东西将主题应用于某些对象。以下是我实现此功能的方法:

QPushButton#button
{
    color:red;
}

但它不起作用。只有在我没有使用ID选择器时才起作用:
QPushButton
{
    color:red;
}

为什么这个不起作用?我使用复制和粘贴,所以我100%确定我没有弄错名字。


你是否对目标QPushButton使用了 yourButton->setObjectName(yourID); 方法? - O'Neil
2个回答

5
我找到了答案,其实非常简单。我忘记添加button->setObjectName("Name");,这导致样式表不知道按钮的存在。只需添加这行代码,就可以正常工作了。

0

哪个版本? 请告诉我并发送整个代码。 因为4.7 4.8 5.2 5.3 5.5 5.8有许多不同的细节。

也许可以尝试一下我的使用方法。

QStyleOption opt;  
opt.initFrom(this);  
QPainter p(this);  
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接