gpt4 book ai didi

python - QSystemTrayIcon.setIcon 无法更改托盘图标

转载 作者:太空宇宙 更新时间:2023-11-04 02:46:33 24 4
gpt4 key购买 nike

import sys
from PyQt5.QtWidgets import QSystemTrayIcon, QApplication, QMenu
from PyQt5.QtGui import QIcon

class autoparse():
def __init__(self):

self.main()

def main(self):
app = QApplication(sys.argv)

self.trayIcon = QSystemTrayIcon(QIcon("icons\icon-windowed.ico"), app)
self.menu = QMenu()
self.autopconfig = self.menu.addAction('Config')
self.autopconfig.triggered.connect(self.swapicon)
self.trayIcon.setContextMenu(self.menu)

self.trayIcon.show()
sys.exit(app.exec_())
def swapicon(self):
QSystemTrayIcon.setIcon(QIcon("icons\python.ico"))

test1 = autoparse()

我可以让初始图标设置得很好,我可以通过为应用程序创建 2 个图标然后执行 self.trayIcon.hide() 和 self.newicon.show() 来解决这个问题,但我没有觉得这是正确的做法。

Pycharm 显示一条通知,上面写着“Expected QSystemTrayIcon, got QIcon”,但如果我将 QIcon 替换为 QSystemTrayIcon,则它会显示 Qicon 丢失。 SOOOOOO 我将其更改为 QSystemTrayIcon(QIcon("icons\python.ico") 并且它仍然说 QIcon 未填充。问题检测似乎在循环。

当我运行 swapicon 函数时,按原样运行代码会出现“setIcon (self, QIcon):未绑定(bind)方法的第一个参数必须具有类型‘QSystemTrayIcon’”。如果我删除 QIcon 所以它只是 setIcon(文件)然后我得到“setIcon(self,QIcon):没有足够的参数”

最佳答案

QSystemTrayIcon 不是静态元素,因此要更改某些属性,您必须使用该实例,在您的情况下,您必须更改:

QSystemTrayIcon.setIcon(QIcon("icons\python.ico"))

到:

self.trayIcon.setIcon(QIcon("icons\python.ico"))

你可能对QSystemTrayIcon(QIcon("icons\icon-windowed.ico"), app)感到困惑,这是一个构造函数,可以接收图标。

关于python - QSystemTrayIcon.setIcon 无法更改托盘图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44983173/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com