Qt定义菜单栏各个菜单样式及动作样式

violette416 2021-03-20 09:21:24
/*QMainWindow窗体设计模式中,菜单栏添加了四个菜单按钮(menuM1,menuM2,menuM3,menuM4),现在在QMenuBar的样式表里将四个菜单都改大了,还写了悬停和选择的颜色变化,都能实现。目前不知道怎么将四个菜单(无悬停点击状态)分别设置不同颜色。 QMenuBar{background:grey;} /*菜单栏里所有菜单都为灰色 QMenuBar#menuM1:!selected{background:red;}/*运行,菜单1颜色没有为红色 QMenu#menuM1{background:red;}/*菜单1颜色也未变为红色 使用QMenuBar::item{background:red;}/*菜单1-4都为红色菜单,但是想分别设置不同颜色 求大神解答啊同样菜单按钮下拉之后的几个action如何设置不同颜色
...全文
2395 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
星灵剑圣 2021-03-26
  • 打赏
  • 举报
回复
引用 7 楼 violette416 的回复:
[quote=引用 6 楼 星灵剑圣的回复:]使用QMainWindow菜单栏的话是没法让单个菜单按钮变色或者修改大小,想实现你的想法只能用pushbutton或toolbutton当菜单按钮,然后给他们设置菜单下拉栏
那要是用按键,那Qmainwindow菜单的那种不点击,悬停到其他按纽,就能自动收下拉框的效果。感觉不知道能不能实现啊[/quote]应该也是可以实现的,Qmainwindow的菜单栏本质上也是qwidget,你可以看看他的源码是怎么实现自动手下拉框的效果的,然后根据他的源码自己修改试试
violette416 2021-03-25
  • 打赏
  • 举报
回复
引用 6 楼 星灵剑圣的回复:
使用QMainWindow菜单栏的话是没法让单个菜单按钮变色或者修改大小,想实现你的想法只能用pushbutton或toolbutton当菜单按钮,然后给他们设置菜单下拉栏
那要是用按键,那Qmainwindow菜单的那种不点击,悬停到其他按纽,就能自动收下拉框的效果。感觉不知道能不能实现啊
星灵剑圣 2021-03-24
  • 打赏
  • 举报
回复
使用QMainWindow菜单栏的话是没法让单个菜单按钮变色或者修改大小,想实现你的想法只能用pushbutton或toolbutton当菜单按钮,然后给他们设置菜单下拉栏
hitzsf 2021-03-22
  • 打赏
  • 举报
回复
似乎搞不定,菜单栏里的应该是item,菜单是弹出的东西 要想实现你的目标,建议用按钮了
violette416 2021-03-22
  • 打赏
  • 举报
回复
引用 3 楼 hitzsf的回复:
[quote=引用 2 楼 violette416 的回复:][quote=引用 1 楼 hitzsf的回复:]看qss的说明,id选择器要求使用objectname
菜单对象就是menuM1是QMenu类的[/quote]
引用 2 楼 violette416 的回复:
[quote=引用 1 楼 hitzsf的回复:]看qss的说明,id选择器要求使用objectname
菜单对象就是menuM1是QMenu类的[/quote] 使用setObjectName[/quote] 蟹蟹。试了还是不行。😭,我感觉是我不知道怎么选中menuM1这个按键,直接写QMenu#menuM1{}这种格式只能菜单下拉框里所有菜单项变色
violette416 2021-03-21
  • 打赏
  • 举报
回复
引用 1 楼 hitzsf的回复:
看qss的说明,id选择器要求使用objectname
菜单对象就是menuM1是QMenu类的
hitzsf 2021-03-21
  • 打赏
  • 举报
回复
引用 2 楼 violette416 的回复:
[quote=引用 1 楼 hitzsf的回复:]看qss的说明,id选择器要求使用objectname
菜单对象就是menuM1是QMenu类的[/quote]
引用 2 楼 violette416 的回复:
[quote=引用 1 楼 hitzsf的回复:]看qss的说明,id选择器要求使用objectname
菜单对象就是menuM1是QMenu类的[/quote] 使用setObjectName
hitzsf 2021-03-20
  • 打赏
  • 举报
回复
看qss的说明,id选择器要求使用objectname

16,815

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧