我正在尝试更改QMenu的右箭头图标。下面的QSS规则可以工作
QMenu::right-arrow {
image: url(icons:icon_name.svg);
}
但是,它改变了所有qmenu的右箭头。我想只选择有一些属性/名称的QMenus。我尝试了以下方法:
/* shouldHide is a boolean property set to true */
QMenu[shouldHide="true"]::right-arrow {
image: url(icons:icon_name.svg);
}
QMenu::right-arrow[shouldHide="true"] {
image: url(icons:icon_name.svg);
}
我还尝试将QMenu包装在一个隐藏的QWidget中,并在父
上设置样式表。container->setStyleSheet("QMenu::right-arrow: {image: url(icons:icon_name.svg); }");
我还尝试通过以下方式设置菜单本身的样式表:
menu->setStyleSheet("QMenu::right-arrow: {image: url(icons:icon_name.svg); }");
menu->setStyleSheet("*::right-arrow: {image: url(icons:icon_name.svg); }");
…但都没用
此样式将应用于所有QMenu
对象:
QMenu::right-arrow
{
image: url(icons:icon_name.svg);
}
如果你只想应用于一个特定的对象,你可以使用对象的对象名:
唯一对象名称:
#my_object_name::right-arrow
{
image: url(icons:icon_name.svg);
}
指定类型对象名称
QMenu#my_object_name::right-arrow
{
image: url(icons:icon_name.svg);
}