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?
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:
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.
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()
sudo apt-get install pyqt4-dev-tools qt4-designer
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
Sin embargo, es posible que desee seguir esta serie de tutoriales: Desarrollo de aplicaciones multiplataforma con Qt, PyQt y PySide: Desarrollo de aplicaciones GUI - Parte 5 de 5 . Discute completamente Qt dev usando C ++, PyQt y PySide