Curso de PyQT: Creación de archivo .pyw y lanzamiento de aplicación.

Posted by


En este tutorial, te mostraré cómo crear un archivo .pyw en PyQT y cómo crear un lanzador de aplicación para tu aplicación de PyQT. Un archivo .pyw es similar a un archivo .py, pero se ejecuta en modo ventana (sin una consola adjunta), lo que lo hace ideal para aplicaciones de escritorio.

Para empezar, primero asegúrate de tener PyQT instalado en tu sistema. Puedes instalar PyQT usando pip con el siguiente comando:

pip install PyQt5

Una vez que tienes PyQT instalado, puedes comenzar a crear tu aplicación de PyQT. Para este tutorial, crearemos una aplicación simple que muestra una ventana con un botón.

  1. Crear el archivo .pyw

Abre tu editor de texto favorito y crea un nuevo archivo con la extensión .pyw (por ejemplo, app.pyw). En este archivo, importaremos los módulos necesarios de PyQT y crearemos una clase que represente nuestra aplicación. Aquí tienes un ejemplo de código para la aplicación:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton

class MyApp(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setGeometry(100, 100, 300, 200)
        self.setWindowTitle('Mi Aplicación PyQT')

        button = QPushButton('Haz clic aquí', self)
        button.setGeometry(100, 50, 100, 50)
        button.clicked.connect(self.buttonClicked)

    def buttonClicked(self):
        print('¡Has hecho clic en el botón!')

if __name__ == '__main__':
    app = QApplication(sys.argv)
    myapp = MyApp()
    myapp.show()
    sys.exit(app.exec_())

Este código crea una ventana con un botón que muestra un mensaje en la consola cuando se hace clic en él. Puedes personalizar este código para adaptarlo a tus necesidades.

  1. Crear un lanzador de aplicación

Una vez que hayas creado tu archivo .pyw, puedes crear un lanzador de aplicación para ejecutar tu aplicación fácilmente. Para crear un lanzador de aplicación en Windows, puedes crear un archivo de lote (.bat) con el siguiente contenido:

@echo off
cd ruta/del/archivo
python app.pyw

Debes reemplazar "ruta/del/archivo" con la ruta donde se encuentra tu archivo .pyw. Guarda este archivo con la extensión .bat (por ejemplo, lanzador.bat).

Para ejecutar tu aplicación, simplemente ejecuta el archivo de lote (.bat) que has creado.

En resumen, en este tutorial te mostré cómo crear un archivo .pyw en PyQT y cómo crear un lanzador de aplicación para ejecutar tu aplicación de PyQT fácilmente. Espero que este tutorial te haya resultado útil y te haya ayudado a comenzar a desarrollar aplicaciones de escritorio con PyQT. ¡Buena suerte!

0 0 votes
Article Rating

Leave a Reply

22 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@beta45virgoazteca
15 days ago

Muchas gracias! Excelente curso y explicación detallada y precisa, sin ambigüedades y resultados desde el primer video. Tu canal debería ser más conocido.

@vlc5554
15 days ago

Que buena explicación !!! La verdad estuve trabajando con Tkinter pero llego el momento en que me frustre por que no encontraba los widgets que necesitaba para trabajar.. Felicidades tienes un nuevo suscriptor !!!

@carlosestrada9917
15 days ago

Para PyQT 6: import sys

from interfaz_1 import *

from PyQt6.QtWidgets import QDialog

class Miformulario(QDialog):

def __init__(self, parent = None):

QtWidgets.QWidget.__init__(self, parent)

self.ui = Ui_Dialog()

self.ui.setupUi(self)

if _name_ == "__main__":

app = QtWidgets.QApplication(sys.argv)

myapp = Miformulario()

myapp.show()

app.exec()

@victorvillafane5734
15 days ago

Hola, en el programa lanzador hay algo que sea de escritura de codigo automatico o hay que teclear todo tal cual el video lo muestra terminado ?

@anthonysanchez5313
15 days ago

Buena explicación un sub mas

Para Qt5

from PyQt5.QtWidgets import QDialog

import sys

from gui_sisclapeeuap import *

class GUIinit(QtWidgets.QDialog):

def __init__(self, parent=None) :

QtWidgets.QWidget.__init__(self, parent)

self.ui =Ui_framePrincipal()

self.ui.setupUi(self)

if __name__== "__main__":

app = QtWidgets.QApplication(sys.argv)

myapp = GUIinit()

myapp.show()

sys.exit(app.exec_())

@portinho199
15 days ago

Holla Jésus, que tal?
Mira mi cod.:
import sys

from PrimeiraAplicacao import*

class MeuFormulario(QtGui.QDialog):

def __init__(self, parent=None):

self.ui = Ui_Dialog()

self.ui.setupUi(self)

if _name_ == "__main__":

app = QtGui.QApplication(sys.argv)

myapp = MeuFormulario()

myapp.show()

sys.exit(app.exec_())

Pero, no se marcha, un error en linea 4 aparece:
Traceback (most recent call last):

File "c:/Users/Portinho/Documents/Python/PyQt5/Curso/chamaaplicacao.py", line 4, in <module>

class MeuFormulario(QtGui.QDialog):

AttributeError: module 'PyQt5.QtGui' has no attribute 'QDialog'

PS C:UsersPortinhoDocumentsPythonPyQt5Curso>
los passos eston exactos a vos.
Gracis por la ayuda.
Portinho de Brazil!

@gabrielfernandez9959
15 days ago

me marca error:del__init__(self, parent=None): SyntaxError: invalid syntax porque?

@msx68k
15 days ago

Nota para PyQt5. Hay que empezar importando: from PyQt5.QtWidgets import QDialog, y luego reemplazar cada aparición de QtGui por QtWidgets. QtGui ya no hace falta para este ejemplo.

@3erB
15 days ago

Es en la carpeta de Pyqt ?

@3erB
15 days ago

Adonde guardo el archivo pyw ?

@ebertrondon2809
15 days ago

como creo el archivo .pyw ? la única opción que me muestra son los archivos .py

@jorgesierra4916
15 days ago

Señor Conde que pena, pero la linea " _main_": generar syntaxis de error? y no ejecuta el lanzador? que podria ser

@salsatradicional
15 days ago

recien estoy entendiendo PyQt4.
gracias por el esfuerzo que le pones
sigue adelante !

@pabloweiss1788
15 days ago

no me tira ningun error pero lo corro en el IDLE de python y no abre la app
pero no da errores porque es que cuando corro el programa no se abre

@Tanketor
15 days ago

Estaria muy interesado, si puediese hacer ua tarea de planificacion de exursiones de personas (este seria el dominio) utilizando el modelo-vista-controlador(MVC) con PYQT.

@EEAA9467
15 days ago

Estimado Jesús,

He seguido exactamente las instrucciones que indica, pero cuando creo el archivo .py y luego el .pyw que indica en el tutorial, y lo ejecuto a través de Tools/Build, no aparece la aplicación y en la consola del Sublime Text 2 sale el siguiente contenido:

Traceback (most recent call last):
File "C:Python27Libsite-packagesPyQt4LLamaPrimeraAplicacion.py", line 12, in <module>
myapp = MiFormulario()
File "C:Python27Libsite-packagesPyQt4LLamaPrimeraAplicacion.py", line 6, in _init_
QtGui.Qwidget.__init__(self, parent)
AttributeError: 'module' object has no attribute 'Qwidget'
[Finished in 0.8s with exit code 1]

Debo estar haciendo algo erróneo, podría indicarme que falla.

Muchísimas gracias de antemano!!!

Un saludo,

Enrique Abadin

@blackdj29
15 days ago

tengo un error, dice que mi formulario no esta definido, aun copiando todo exactamente igual

@enriquevillafane7583
15 days ago

Muchas Gracias por los videos, excelentes tutoriales, tengo una duda, cuando creo un archivo .pyw no puedo importarlo a otro script .py y por ello no puedo utilizar sus widgets, como puedo hacerlo en ese caso? Espero su ayuda y gracias nuevamente

@mrrony2703
15 days ago

como hago el archivo pyw… ami solo me sale el archivo .py

@carlosrigolan73
15 days ago

Muy buenos tutoriales. Sin embargo no logro abrir la ventanita del proyecto. Ni  ejecutandolo desde el editor , Ni creandole un ejecutable. Nota el fichero no es que se llamaba PrimeraAplicacionCurso … pues en el lanzador aparece como PrimeraAplicacion
😉

22
0
Would love your thoughts, please comment.x
()
x