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()
を変更するには働いていません( )とself.newicon.show()しかし、私はこれを行う正しい方法だとは思わない。PyQt5 QSystemTrayIcon.setIconは、私は最初のアイコンがうまく設定して得ることができると私はアプリのための2つのアイコンを作成し、self.trayIcon.hideを行うことによって問題を回避できるトレイアイコン
Pycharmは予告「が期待QSystemTrayIcon、QIconを得ました」と言って示していますが、私はQSystemTrayIcon
でQIcon
を交換する場合、それはQicon
が欠落していると言います。 SOOOOOO QSystemTrayIcon(QIcon("icons\python.ico")
に変更し、それでもQIcon
は埋められていないと言います。問題の検出が円で行われているようです。
コードをそのまま実行すると、setIcon(self、QIcon):swapicon関数を実行すると、バインドされていないメソッドの最初の引数に 'QSystemTrayIcon'型が指定されている必要があります。 QIconを削除してsetIcon(ファイル)を取得した場合、「setIcon(self、QIcon):引数が足りません」
これで解決しました。説明してくれてありがとう。 – sidnical