1 votos

La GUI escrita en Python (con PyQT/PySide2) no se lanza

Acabo de actualizar a Big Sur 11.2.1 y quería lanzar un script de Python que escribí en una GUI con PySide2 . Cuando lanzo el script, los terminales parecen estar ocupados con la aplicación:

screenshot1

screenshot2

screenshot3

Sin embargo, no sucede nada más: la interfaz gráfica de usuario no se inicia, no hay ningún mensaje de error y tengo que matar manualmente la aplicación. Aquí está el código

#!/usr/bin/python

# Import PySide classes
import sys
from PySide2.QtWidgets import *

# Create a Qt application
app = QApplication(sys.argv)
# Create a Label and show it
label = QLabel("Hello World")
label.show()
# Enter Qt application main loop
app.exec_()
sys.exit()

Si se ejecuta un script que contenga sólo print("hello") desde el terminal, esto funciona

Además, en Preferencias del Sistema > Seguridad y Privacidad > Privacidad > Acceso total al disco, la aplicación iTerm.app está seleccionado (por lo que iTerm.app debe tener permiession)

-1voto

ecjb Puntos 131

Acabo de encontrar la respuesta en esta pregunta de stackoverflow . Por alguna extraña razón, hay que añadir el siguiente trozo de código al principio del script.

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

Y eso me funcionó

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X