PyQt:如何在ubuntuunity中找到菜单文本颜色?

2024-06-01 05:19:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我想给菜单项添加无色图标。为了合理地看,图标应该与菜单中使用的文本颜色相同。除了Ubuntu,它在任何地方都能工作。问题是默认的Ubuntu Unity主题对主菜单和应用程序中的其他文本(例如弹出菜单)使用不同的颜色。我需要主菜单特别使用的颜色。在

QApplication.palette().color(QPalette.Text)返回应用程序中文本使用的深灰色。在深灰色的菜单背景上几乎看不见。在

我在QMenu子体上尝试了palette()方法,但它返回的值与QApplication.palette()相同。在


Tags: 文本应用程序主题颜色ubuntu地方菜单unity
1条回答
网友
1楼 · 发布于 2024-06-01 05:19:29

结果发现QMainWindow.menuBar().palette()的颜色与屏幕顶部的Unity菜单匹配(我刚知道它叫appmenu)。这样就可以使用与菜单文本相同的颜色。在

但是有一个问题。QtIcon.Active模式的图标版本不用于活动菜单项。在高对比度模式下可以看到。文本颜色改变,但图标颜色不变。当菜单项被选中时,图标“消失”。这对一个完美的程序来说还不够。在

我尝试了很多解决方法,比如用QIcon.addPixmap()向图标添加额外的pixmap。什么都不管用。appmenu在一个单独的进程中运行,不希望我们的“活动”图标。所以我要画出真实的图标,在任何合理的背景下看起来都不错,而且不需要用小部件改变颜色。在

太糟糕了。我希望QIcon模式和状态是专门为此类任务而设计的。在

相关问题 更多 >