PyQT5 Diseñador QT
QT Designer es una aplicación que nos facilita la creación de GUI, nos permite crear interfaces gráficas de usuario rápidamente mediante el método de arrastrar y soltar, una vez creada se guarda en un archivo .ui en formato XML que puede ser cargado en tiempo de ejecución o convertirse en código Python para generar la GUI.
Al iniciar QT Designer este nos permite crear una GUI partiendo de una de las plantillas que tenemos disponibles, para nuestro ejemplo elegiremos widget de este modo extendemos la clase QWidget.

El siguiente paso es arrastrar los controles que necesitemos, en la parte izquierda vemos los distintos controles y layouts disponibles organizamos por categoría, en la parte derecha se encuentran las propiedades del control seleccionado, además de un editor signal / slot que nos permitirá crear manejadores de eventos.
Creamos una GUI sencilla y la guardamos con el nombre form.ui para generar el código Pyhton haremos lo siguiente:
Abrimos una consola de comandos, Pyhton debe estar en la variable de entorno PATH, y ejecutamos el siguiente comando:
C:\Developer\TEMP>pyuic5.bat -x -o form.py form.ui
El archivo form.ui lo guardamos en la carpeta c:\developer\temp, -x indica que deseamos generar código extra que inicia la aplicación, -o from.py establece el nombre del archivo de salida.
El código generado es completamente ejecutable.
Al iniciar QT Designer este nos permite crear una GUI partiendo de una de las plantillas que tenemos disponibles, para nuestro ejemplo elegiremos widget de este modo extendemos la clase QWidget.
El siguiente paso es arrastrar los controles que necesitemos, en la parte izquierda vemos los distintos controles y layouts disponibles organizamos por categoría, en la parte derecha se encuentran las propiedades del control seleccionado, además de un editor signal / slot que nos permitirá crear manejadores de eventos.
Creamos una GUI sencilla y la guardamos con el nombre form.ui para generar el código Pyhton haremos lo siguiente:
Abrimos una consola de comandos, Pyhton debe estar en la variable de entorno PATH, y ejecutamos el siguiente comando:
C:\Developer\TEMP>pyuic5.bat -x -o form.py form.ui
El archivo form.ui lo guardamos en la carpeta c:\developer\temp, -x indica que deseamos generar código extra que inicia la aplicación, -o from.py establece el nombre del archivo de salida.
# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'form.ui' # # Created: Sun Apr 3 17:17:16 2016 # by: PyQt5 UI code generator 5.3.1 # # WARNING! All changes made in this file will be lost! from PyQt5 import QtCore, QtGui, QtWidgets class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(400, 134) self.widget = QtWidgets.QWidget(Form) self.widget.setGeometry(QtCore.QRect(10, 10, 381, 121)) self.widget.setObjectName("widget") self.verticalLayout = QtWidgets.QVBoxLayout(self.widget) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("verticalLayout") self.gridLayout = QtWidgets.QGridLayout() self.gridLayout.setObjectName("gridLayout") self.label_2 = QtWidgets.QLabel(self.widget) self.label_2.setObjectName("label_2") self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1) self.lineEdit_2 = QtWidgets.QLineEdit(self.widget) self.lineEdit_2.setObjectName("lineEdit_2") self.gridLayout.addWidget(self.lineEdit_2, 1, 1, 1, 2) self.label = QtWidgets.QLabel(self.widget) self.label.setObjectName("label") self.gridLayout.addWidget(self.label, 0, 0, 1, 1) self.lineEdit = QtWidgets.QLineEdit(self.widget) self.lineEdit.setObjectName("lineEdit") self.gridLayout.addWidget(self.lineEdit, 0, 1, 1, 2) self.verticalLayout.addLayout(self.gridLayout) self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.pushButton = QtWidgets.QPushButton(self.widget) self.pushButton.setObjectName("pushButton") self.horizontalLayout.addWidget(self.pushButton) self.pushButton_2 = QtWidgets.QPushButton(self.widget) self.pushButton_2.setObjectName("pushButton_2") self.horizontalLayout.addWidget(self.pushButton_2) self.verticalLayout.addLayout(self.horizontalLayout) self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Form")) self.label_2.setText(_translate("Form", "Contraseña")) self.label.setText(_translate("Form", "Nombre")) self.pushButton.setText(_translate("Form", "Aceptar")) self.pushButton_2.setText(_translate("Form", "Cancelar")) if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) Form = QtWidgets.QWidget() ui = Ui_Form() ui.setupUi(Form) Form.show() sys.exit(app.exec_())
El código generado es completamente ejecutable.
Gracias por el aporte
ResponderEliminar