如何设置Qt中的子菜​​单项?

时间:2011-02-23 17:28:26

标签: 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也没有帮助,在与subMenu相关的动作上设置样式会导致Qt崩溃! :(

感谢您的时间,

的Gowtham

2 个答案:

答案 0 :(得分:2)

参见文档:

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

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

QMenu::item#menu2Id

虽然可能很难获得或设置ID。

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

答案 1 :(得分:0)

我会把它放在评论中,但我没有权利添加评论: - (

Daggerstab提供的链接对我不起作用。这是另一个用于自定义QMenu的示例