Я использую Pyqt, но код С++ в порядке. Я пытаюсь изменить пункт меню в QSystemTrayIcon, используя структуру QT в Linux (Ubuntu 11.10). В настоящее время я попытался сбросить QMenu, который я изначально установил:
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)
Однако это не работает, и меню в трее остается таким же, каким оно было изначально. Как я могу перестроить меню, чтобы изменить его?