QMenubar设置背景颜色

 时间:2026-02-14 08:38:58

1、1.知道QMenu包含item, indicator,separator,right-arrow,scroller,tearoff,相对来说属于子控件比较多的控件了,其中item, indicator,separator,right-arrow是较为为常见的子控件。为了确定子控件的相对位置关系,我们可以通过对子控件设置不同的背景色和边框来进行查看。效果如图所示。

QMenubar设置背景颜色

2、2.QMenu的边框阴影我们可以通过设置背景图片鉴泰来实现。但在设置过攀裁争程中,我发现QMenu的border-width属性存在bug。


下图是在设置了以下QSS的效果

QMenubar设置背景颜色

3、3.位图

QMenubar设置背景颜色

4、4.QMenu默认是会根据条目的内容动态调整自身的显示大小的,然而在实际中当我在QSS中调整了文字的字体大小后,QMenu并没有调整为合适的大小,导致文字显示不全。这个问题困扰了我很久,后来在和另一个人讨论这个问题时突然想到,是否可能是在QMenu根据内容确定大小时QSS尚未生效。由于QSS实际上是通过QStyle来实现具体效果的,而QStyle则是通过调用QStyle::polish方法来对控件样式做初始化。在这个方法的文档中有这样一段说明:

QMenubar设置背景颜色

5、5.QMenu其实是一个独立的顶层窗口,因此其位置是相对于整个桌面的,而不是相对于程序主窗口。在Qt的文档中有以下说明

QMenubar设置背景颜色

6、6.在计算QMenu的弹出位置时我们可能需要使用到娃侮QMenu的窗口大小属性,然而文档中提到了

QMenubar设置背景颜色

  • C# ImageList控件属性详解
  • 如何在Windows10中使用跟踪工具
  • 基于STM32F407+LAN9252的EtherCAT从站开发
  • c#中 this.Invoke 参数计数不匹配
  • C#如何修改选中的ListView项
  • 热门搜索
    黑芝麻糊的做法 鹌鹑蛋的做法 炸茄盒的家常做法 胃不舒服恶心想吐怎么回事 南瓜怎么做好吃 苑怎么读音 炒藕片的做法 肱怎么读 叶酸怎么吃 耒怎么读