PyQt - Connect QAction à la fonction
Je suis à l'aide d'un TrayIcon, j'ai ajouté une "Sortie" QAction, et maintenant, je veux exécuter une fonction donnée lorsque vous cliquez sur Quitter dans le TrayIcon menu. Voici le code que j'ai :
class TrayIcon(QSystemTrayIcon):
"""
Displays a system tray icon
"""
def __init__(self, interface: Interface) -> None:
"""
Constructor
:param interface: Interface to show when the tray icon is clicked
"""
super().__init__(QIcon(resource_filename("ezstorage.resources.img.tray_icon", "folder.png")))
self.interface = interface
self.setVisible(True)
self.show()
self.activated.connect(self.clicked)
menu = QMenu()
action = QAction("Exit")
menu.addAction(action)
self.setContextMenu(menu)
Vous devez vous connecter pour publier un commentaire.
C'est de cette façon que j'avais de connecter les icônes dans le menu de fonctions selon votre code:
La fonction
self.my_function
ne puis que vous en avez envie.Ce montrer comment cela fonctionne dans une Classe MainWindow.
Ps. vous avez besoin de mettre en œuvre les méthodes à appeler, en cliquant sur les actions. Dans mon cas, ils sont appelés (de soi.handleShowAction, de soi.handleTrayIconButton et l'auto.close_application).