Conversión de archivos UI a código Python con PyUIC5
PyUIC5 es una herramienta que se utiliza para convertir archivos de interfaz de usuario (UI) de Qt Designer a código Python. Esta herramienta se distribuye junto con PyQt5, el framework de desarrollo de aplicaciones gráficas para Python.
Requisitos
Para utilizar PyUIC5, es necesario tener instalado PyQt5. Puedes instalar PyQt5 con el siguiente comando:
pip install PyQt5
Cómo convertir un archivo UI a código Python
Para convertir un archivo UI a código Python, utiliza el siguiente comando:
pyuic5 -x <nombre_archivo_ui> -o <nombre_archivo_py>
Por ejemplo, para convertir un archivo llamado mi_interfaz.ui
a código Python llamado mi_interfaz.py
, utilizarías el siguiente comando:
pyuic5 -x mi_interfaz.ui -o mi_interfaz.py
Estructura del archivo Python generado
El archivo Python generado por PyUIC5 contiene una clase que representa la interfaz de usuario. Esta clase hereda de la clase QMainWindow
de Qt.
La clase generada tiene los siguientes atributos:
objectName()
: El nombre de la clase.ui()
: Un objeto que representa la interfaz de usuario.setupUi()
: El método que establece la interfaz de usuario.
Ejemplo
El siguiente es un ejemplo de un archivo UI llamado mi_interfaz.ui
:
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>300</width>
<height>200</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>100</x>
<y>50</y>
<width>100</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>Hola mundo</string>
</property>
</widget>
</widget>
</ui>
El siguiente es el código Python generado por PyUIC5:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.label = self.ui.label
self.label.setText("Hola mundo")
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
Este código crea una ventana con un label que muestra el texto «Hola mundo».
Problemas comunes
- Si tienes problemas para convertir un archivo UI a código Python, asegúrate de que PyQt5 está instalado correctamente.
- Si el archivo Python generado no funciona correctamente, asegúrate de que la interfaz de usuario está bien diseñada.
Conclusión
PyUIC5 es una herramienta útil para convertir archivos UI de Qt Designer a código Python. Esta herramienta te permite crear aplicaciones gráficas rápidamente con Python.