我的应用程序中有一个Qt QMenu,由两个级别组成(子菜单的顶层,然后是包含操作的每个子菜单),我们有一个自定义的深灰色样式,其中菜单背景是灰色,文本颜色是白色,右箭头是白色。当子菜单项突出显示(鼠标悬停)时,项目背景为白色,文本为黑色,我希望向右箭头也切换到黑色图像。我正在使用CSS样式表来执行此操作。但是,我似乎找不到正确的语法来为项目选定状态设置备用右箭头图像。我的CSS看起来像这样:
QMenu
{
background-color: rgb( 24, 24, 24 );
color: white;
}
QMenu::item:selected
{
background-color: white;
color: black;
}
QMenu::right-arrow
{
image: url(Resources/MenuRight.png);
}
我在上述代码之后尝试了以下添加(其中MenuRightSelected.png
是MenuRight.png
的反色图像):
QMenu::right-arrow:selected
{
image: url(Resources/MenuRightSelected.png);
}
和
QMenu::item::right-arrow:selected
{
image: url(Resources/MenuRightSelected.png);
}
这些都不会影响显示的 QMenu。有谁知道是否有可能做我所追求的事情,如果是,如何做?
可能您只需要更改css文件中项目的顺序。我曾经听说Qt从上向上解析css文件。再往上的项目会覆盖再往下的项目的行为。