4

我的应用程序中有一个 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。有谁知道是否有可能做我所追求的,如果可以,怎么做?

4

1 回答 1

1

可能您只需要更改 css 文件中项目的顺序。我曾经听说 Qt 从上往下解析 css 文件。更上层的项目会覆盖更下层项目的行为。

于 2012-08-14T16:27:02.837 回答