Pregunta

  

Duplicar posible:
   ¿Cómo puedo ocultar la ventana de la consola en una aplicación de PyQt se ejecuta en Windows?

¿Cómo deshacerse de la consola que se muestra como la salida estándar al ejecutar programas de Windows en wxPython?

¿Fue útil?

Solución

Otros han sugerido ya de cambiar el nombre a partir del AP a PYW. Si en lugar de referirse a la redirección de salida de paso redirigir = True cuando se crea la clase wx.App.

http://www.wxpython.org/docs /api/wx.App-class.html

La firma de __init__ es

__init__(self, redirect=False, filename=None, useBestVisual=False, clearSigInt=True)

Si define redirect=True y nombre de archivo diferente de Ninguno, sys.stdout y sys.stderr se redirigir a nombre de archivo. Tenga en cuenta que en Windows y Mac redirigir valor predeterminado es True. Si redirect==True and filename is None, la salida será impreso en una ventana emergente diferente de sus otros marcos. Esto puede ser muy útil para que durante la depuración se puede seguir lo que está ocurriendo, aunque no saturan la interfaz de usuario con la parte interna de su aplicación en modo de lanzamiento.

Otros consejos

No está familiarizado con wxPython, pero si se invoca el script con pythonw.exe en lugar de python.exe, la ventana de la consola no debe aparecer. Creo que el ahorro de la secuencia de comandos como script.pyw también funciona.

La forma más sencilla de hacer esto:

if __name__ == "__main__":
    app = wx.App(0) #<--- or False
    frame = MyFrame('My Frame')
    frame.Show(True)
    app.MainLoop()

Esto imprime en la salida estándar en lugar de la ventana wxPython.

No sé wxPython pero la solución podría ser tan simple como usar pythonw.exe para ejecutar el programa en lugar de python.exe.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top