如果您要将样式应用于小部件下的多个对象或子对象,则需要将参数分组到要应用它的对象。
在您的样式表字符串中,您留下"border: none;"
悬空但也有一个QToolButton
. 仅当您仅将样式应用于tool_speed_button
.
尝试这样的事情:
ui->tool_speed_button->setStyleSheet("QWidget{border: none; }QToolButton::down-arrow {image: none;}");
您将需要替换Qwidget
为tool_speed_button
. 在 Qt 中启动项目时,可以在设计器文件中检查 MainWindow 的样式表,以获取有关如何格式化样式表的更多示例。
在你的情况下,你会这样做:
ui->tool_speed_button->setStyleSheet("QToolButton::down-arrow {border: none;image: none;}");
编辑
只是想为我的答案中的第一个样式表示例的含义添加一个解释:
在样式字符串中,第一组QWidget{border:none;}
将样式应用于任何QWidget
属于tool_speed_button
.
QToolButton::down-arrow {image: none;}
仅将样式应用于QToolButton
属于tool_speed_button
并且也是类型down-arrow
(这是 的属性QToolButton
)的任何内容。由于tool_speed_button
is aQToolButton
本身,它将大括号中指定的样式应用于自身及其所有子项。
编辑:
我错了。正如问题所暗示的那样,您可以在大括号下没有分组的样式表属性。悬空属性仅适用于小部件中的所有相关对象。