我的应用程序中有一个 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文件的。进一步向上的元素会覆盖进一步向下的元素的行为。
关于c++ - 如何使用 CSS 样式表更改 Qt 的 QMenu 中选定元素的右箭头图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11956412/