我想给菜单项添加无色图标。为了合理地看,图标应该与菜单中使用的文本颜色相同。除了Ubuntu,它在任何地方都能工作。问题是默认的Ubuntu Unity主题对主菜单和应用程序中的其他文本(例如弹出菜单)使用不同的颜色。我需要主菜单特别使用的颜色。在
QApplication.palette().color(QPalette.Text)
返回应用程序中文本使用的深灰色。在深灰色的菜单背景上几乎看不见。在
我在QMenu子体上尝试了palette()
方法,但它返回的值与QApplication.palette()
相同。在
Tags:
结果发现
QMainWindow.menuBar().palette()
的颜色与屏幕顶部的Unity菜单匹配(我刚知道它叫appmenu)。这样就可以使用与菜单文本相同的颜色。在但是有一个问题。
QtIcon.Active
模式的图标版本不用于活动菜单项。在高对比度模式下可以看到。文本颜色改变,但图标颜色不变。当菜单项被选中时,图标“消失”。这对一个完美的程序来说还不够。在我尝试了很多解决方法,比如用
QIcon.addPixmap()
向图标添加额外的pixmap。什么都不管用。appmenu在一个单独的进程中运行,不希望我们的“活动”图标。所以我要画出真实的图标,在任何合理的背景下看起来都不错,而且不需要用小部件改变颜色。在太糟糕了。我希望
QIcon
模式和状态是专门为此类任务而设计的。在相关问题 更多 >
编程相关推荐