Mon application a un qui permet de basculer la visibilité QMainWindow
lorsque vous avez cliqué sur le bouton gauche de la souris.QMainWindow problème de visibilité lors du changement de bureau virtuel
def tray_icon_activated_cb(reason):
if reason == QtWidgets.QSystemTrayIcon.Trigger:
self.main_window.setVisible(not self.main_window.isVisible())
self.activated.connect(tray_icon_activated_cb)
Il fonctionne correctement, sauf si je passe le bureau virtuel tandis que le QMainWindow
est visible.
Par exemple:
On virtual desktop 1, window hidden
Click
On virtual desktop 1, window visible
Click
On virtual desktop 1, window hidden
Change desktop
On virtual desktop 2, window hidden
Click
On virtual desktop 2, window visible
Click
On virtual desktop 2, window hidden
Change desktop
On virtual desktop 1, window hidden
Click
On virtual desktop 1, window visible
Change desktop
On virtual desktop 2, window hidden
Click
On virtual desktop 2, window hidden <- wrong
Change desktop
On virtual desktop 1, window hidden
Click
On virtual desktop 1, window hidden <-- still wrong
Je ne reçois que le QMainWindow retour en redémarrant l'application.
I ajouté print
s dans la méthode ci-dessus et peut vérifier que nous traversons
self.main_window.setVisible(not self.main_window.isVisible())
parce que self.main_window.isVisible()
retours True
et False
alternativement.
Je ne connais pas oùQMainWindow
est visible.
Debian Stretch, Mate 1.16.2, Python 3.5.3. Je peux reproduire avec PyQt4 et PyQt5.