QMenubar设置背景颜色
1、1.知道QMenu包含item,indicator,separator,right-arrow,scroller,tearoff,相对来说属于子控件比较多的控件了,其中item,indicator,separator,right-arrow是较为为常见的子控件。为了确定子控件的相对位置关系,我们可以通过对子控件设置不同的背景色和边框来进行查看。效果如图所示。
2、2.QMenu的边框阴影我们可以通过设置背景图片来实现。但在设置过程中,我发现QMenu的border-width属性存在bug。下图是在设置了以下QSS的效果
3、3.位图
4、4.QMe艘绒庳焰nu默认是会根据条目的内容动态调整自身的显示大小的,然而在实际中当我在QSS中调整了文字的字体大小后,QMenu并没有调整为合适的大小,导致文字显示不全。这个问题困扰了我很久,后来在和另一个人讨论这个问题时突然想到,是否可能是在QMenu根据内容确定大小时QSS尚未生效。由于QSS实际上是通过QStyle来实现具体效果的,而QStyle则是通过调用QStyle::polish方法来对控件样式做初始化。在这个方法的文档中有这样一段说明:
5、5.QMenu其实是一个独立的顶层窗口,因此其位置是相对于整个桌面的,而不是相对于程序主窗口。在Qt的文档中有以下说明
6、6.在计算QMenu的弹出位置时我们可能需要使用到QMenu的窗口大小属性,然而文档中提到了
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:81
阅读量:91
阅读量:23
阅读量:48
阅读量:60