1
私はPyqtを使用していますが、C++コードは問題ありません。私はQSystemTrayIconのメニュー項目をLinux(Ubuntu 11.10)のQTフレームワークを使って変更しようとしています。現在、私は最初に設定したQMenuをリセットしようとしました:Qt QSystemTrayIconメニュー項目を変更する
self.tray = QSystemTrayIcon()
m = QMenu()
m.addAction('First')
m.addAction('Second')
tray.setContextMenu(m)
これを私のクラスに置き、トレイ変数をクラス変数にします。私はちょうど新しいメニューを設定するには、トレイを変更した場合、それは更新してしまうことを考えていた:
new_m = QMenu()
new_m.addAction('First')
new_m.addAction('Third')
self.tray.setContextMenu(new_m)
はしかし動作しないことと、それが最初に行われたとしてトレイメニューは同じです。変更するためにメニューを再構築するにはどうすればいいですか?
何かの理由で私はトレイを隠してからそれを見せて、新しいコンテキストメニューを表示して表示させる必要がありました。多分私のセットアップで何かをしなければならないかもしれません。 – user654628
まったく同じ問題を抱えていますが、私の場合、上記のコードは自分のアプリケーションと同じように動作しません。私はUbuntu 12.04 LTSを利用しています。 –