首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyQt:如何找到与Ubuntu Unity兼容的菜单文本颜色?

问PyQt:如何找到与Ubuntu Unity兼容的菜单文本颜色?
EN

Stack Overflow用户
提问于 2015-03-14 13:49:11
回答 1查看 325关注 0票数 1

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

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

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

EN

回答 1

Stack Overflow用户

发布于 2015-03-18 04:28:37

原来QMainWindow.menuBar().palette()在屏幕上方有与Unity菜单相匹配的颜色(我刚刚了解到它被称为appmenu)。这使得使用与菜单文本相同的颜色成为可能。

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

我尝试了很多变通方法,比如用QIcon.addPixmap()给图标添加额外的像素图。毫无办法。应用程序菜单在一个单独的进程中运行,并且不希望我们的“活动”图标。因此,我将绘制真实的图标,这些图标在任何合理的背景下看起来都很好,并且不需要改变小部件的颜色。

太可惜了。我认为QIcon模式和状态是专门为这些任务创建的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29045905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档