【发布时间】:2011-10-27 15:49:27
【问题描述】:
我正在编写一个 PyQt 系统托盘脚本。它只是系统服务的一个开关。我正在通过此代码将 QActions 添加到 QMenu,我的目的是将正在运行的服务显示为绿色,将停止的服务显示为红色:
....
for service, started in s.services.items():
action = self.menu.addAction(service)
if started: #It is my purpose, but obviously it doesn't work
action.setFontColor((0, 255, 0))
else:
action.setFontColor((255, 0, 0))
action.triggered.connect(functools.partial(self.service_clicked, service))
....
问题是,QAction 没有 setFontColor 方法:)。它有一个 setFont 方法,但我在 QFont 文档中看不到与颜色相关的方法。而且它不支持富文本格式。
我找到了一个可能的解决方案here,但是对于这个简单的操作来说似乎工作量很大。
谁能给我一个更简单的方法?
【问题讨论】: