首页 文章

如何在Qt的QMenu中更改带有CSS样式表的选定项目的右箭头图像?

提问于
浏览
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.pngMenuRight.png 的反色图像):

QMenu::right-arrow:selected
{
  image: url(Resources/MenuRightSelected.png);
}

QMenu::item::right-arrow:selected
{
  image: url(Resources/MenuRightSelected.png);
}

这些都不会影响显示的QMenu . 有谁知道我是否有可能做我想要的事情,如果是的话,怎么样?

1 回答

  • 1

    可能您只需要更改css文件中项目的顺序 . 我曾经听说过Qt向上解析css文件 . 物品会进一步覆盖物品的行为 .

相关问题