¿Cómo usar Qt Creator con Python?


32

Quiero usar Qt para desarrollar aplicaciones de escritorio, teléfono y tableta de Ubuntu, pero no quiero aprender un nuevo lenguaje de programación (C ++, JavaScript). ¿Es posible escribir la aplicación Qt en Python utilizando Qt-Creator como IDE?

Respuestas:


14

Sí, Qt-Creator es un IDE de C ++, con poco soporte para otros lenguajes, pero desde la versión 2.8.0 se ha agregado un soporte de Python bastante básico.

Dicho esto, puede usar Qt-Designer (la herramienta de creación de formularios), Qt-Translator (la herramienta de traducción), etc. fácilmente con python.

En este momento, hay dos enlaces Qt-Python, el PyQt con licencia dual GPL / Commercial y el PyPL de LGPL . He usado PyQt durante mucho tiempo y soy un usuario feliz, también he probado PySide, pero me parece menos maduro. Si sus requisitos de licencia lo permiten, iría por PyQt.



18

Simplemente diseñe su interfaz en Qt-Designer y conviértala en un archivo python ejecutando pyuic4 .

P.ej:

pyuic4 editorFrame.ui -o editorFrame.py

entonces puede importarlo desde su clase principal, en este caso estoy usando un QMainWindow:

import sys
from PyQt4 import QtGui
from editorFrame import Ui_MainWindow

class Editor(QtGui.QMainWindow):

    def __init__(self):
        super(Editor, self).__init__()
        self.ui=Ui_MainWindow()
        self.ui.setupUi(self)
        self.show()

def main():
    app = QtGui.QApplication(sys.argv)
    ex = Editor()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()

1
Por si alguien necesita esta información, para instalar pyuic4:sudo apt-get install pyqt4-dev-tools qt4-designer
Tshilidzi Mudau

8

Con el lanzamiento de Qt Creator 2.8 las cosas están cambiando. Ahora es compatible de forma nativa con Python para la edición de código y hay pocas características basadas en Python.

Del anuncio de lanzamiento de Qt Creator 2.8 :

Se agregó un editor específico para Python, con resaltado e sangría, y un asistente de clase Python


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.