1 votes

L'interface graphique écrite en python (avec PyQT/PySide2) ne se lance pas

Je viens de mettre à jour vers Big Sur 11.2.1 et je voulais lancer un script Python que j'ai écrit dans une interface graphique avec PySide2. Lorsque je lance le script, le terminal semble être occupé par l'application :

capture1

capture2

capture3

Cependant, rien d'autre ne se passe : l'interface graphique ne se lance pas, il n'y a pas de message d'erreur, et je dois tuer l'application manuellement. Voici le code

#!/usr/bin/python

# Importer les classes PySide
import sys
from PySide2.QtWidgets import *

# Créer une application Qt
app = QApplication(sys.argv)
# Créer une étiquette et la montrer
label = QLabel("Bonjour tout le monde")
label.show()
# Entrer dans la boucle principale de l'application Qt
app.exec_()
sys.exit()

Si j'exécute un script contenant uniquement print("hello") depuis le terminal, cela fonctionne

De plus, dans Préférences Système > Sécurité & Confidentialité > Confidentialité > Accès complet au disque, l'application iTerm.app est sélectionnée (donc iTerm.app devrait avoir les autorisations)

-1voto

ecjb Points 404

J'ai juste trouvé la réponse dans cette question stackoverflow. Pour une raison étrange, il faut ajouter le morceau de code suivant au début du script.

import os
os.environ['QT_MAC_WANTS_LAYER'] = '1'

Et ça a marché pour moi

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X