我使用样式表来定制我的一个Qt应用程序的外观(实际上是pyqt,但还是一样)。在
这是我为QMenu使用的样式表代码。它正确地为我的QMenu着色,但它也使我的所有指示器(选中的QMenu项)具有方格背景,就像它们是透明的一样。在
QMenu { background-color: "#242424"; color: "#D5D5D5"; }
如果我在指示器上设置一个背景颜色,指示器背景的中心是正确的,但是在中心正方形周围有一个很大的边框,仍然是方格图案,并且检查停止出现。在
^{pr2}$我还注意到文档示例中显示的宽度和高度属性不起作用。在
有没有人在定制QMenus的颜色和外观时遇到过类似的问题?你怎么解决的?在
我在Qt如何处理QMenu::indicators的样式表中找到了一个解决方案,似乎是documented bug。在
我没有使用
image
属性,而是使用了background-image
属性,它以本机大小插入图像,而不是缩小图像。仍然无法设置指示器的大小,但可以使用padding
属性移动菜单项文本,以便显示整个指示器图像。在如果这就是你要做的,我会用QPalette来驱动你的颜色。但是如果这只是冰山一角,并且您正在寻找更多的样式定制,那么您必须定义几乎所有的属性(可以在Qt文档中找到)。如果你想用其他的表来定义它们的继承,即使你也要这样做。在
另外,值得注意的是,我还没有在文档中看到,如果您想修改样式表但仍然可以访问调色板颜色,可以在样式表中使用palete(ColorRole),如下所示:
无论如何…这里有一些选择:
QPalette解决方案
^{pr2}$样式表解决方案
http://doc.qt.nokia.com/4.7-snapshot/stylesheet-examples.html#customizing-qmenu
我会复制高级定制一个,并调整所有的值,而不是真正删除其中任何一个,因为这是所有的卡片房子。在
相关问题 更多 >
编程相关推荐