设置Qt中特定QMenu的右箭头图标



我正在尝试更改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);
}

相关内容

  • 没有找到相关文章

最新更新