c++ - 如何在 Qt 中设置子菜单项的样式?

标签 c++ qt coding-style

我想为具有子菜单的菜单项设置不同的样式,只是为了使该子菜单脱颖而出。但是样式将应用于子菜单中的菜单项,而不是单独设置子菜单项的样式。

Menu1
Menu2 -> menu21
          menu22
          menu23
Menu3

我只想设置 menu2 的样式,但 Qt 设置了 menu21、menu22 和 menu23 的样式。

尝试了所有这些:

subMenu->setStyleSheet("QMenu{ font: bold }");
subMenu->setStyleSheet("QMenu::item{ font: bold }");
subMenu->setStyleSheet("QMenu::item#subMenu{ font : bold }");

Dynamic properties也没有帮助,在与子菜单关联的操作上设置样式会使 Qt 崩溃! :(

谢谢你的时间,

高瑟姆

最佳答案

查看文档:

我没有对此进行测试,但理论上,您可以将 QMenu::item 与属性选择器或 ID 选择器一起使用(参见 Qt Style Sheet Syntax - Selectors )。例如:

QMenu::item[text="Menu2 text"]

QMenu::item#menu2Id

尽管获取或设置 ID 可能很困难。

当然,在 Qt 示例中显示的情况之外,可能无法为 QMenu 条目设置单独的样式。

关于c++ - 如何在 Qt 中设置子菜单项的样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5094498/

相关文章:

android - 更改 ProgressDialog 的样式

c++ - Char 是算术类型吗?

c++ - CBS_DROPDOWNLIST 组合无法响应 WM_CTLCOLOR ... 在 Windows UX 主题下

c++ - 为什么我会收到这些链接错误?

c++ - 制作一个可滚动的小部件区域

JavaScript 代码约定 - if 语句

C++ : Why isn't my call to "std::uninitialized_copy" working?

c++ - 反向offsetof/通过offset获取元素名称

qt - 无法为 qmlrs 运行自定义构建命令

javascript - x >= JavaScript 中的 x 模式