Ich möchte Qt für die Entwicklung von Ubuntu-Desktop-, Telefon- und Tablet-Anwendungen verwenden, möchte jedoch keine neue Programmiersprache (C ++, JavaScript) erlernen. Ist es möglich, Qt-Anwendungen in Python mit Qt-Creator als IDE zu schreiben?
Ich möchte Qt für die Entwicklung von Ubuntu-Desktop-, Telefon- und Tablet-Anwendungen verwenden, möchte jedoch keine neue Programmiersprache (C ++, JavaScript) erlernen. Ist es möglich, Qt-Anwendungen in Python mit Qt-Creator als IDE zu schreiben?
Antworten:
Ja, Qt-Creator ist eine C ++ - IDE mit wenig Unterstützung für andere Sprachen, aber seit Version 2.8.0 wurde eine recht grundlegende Python-Unterstützung hinzugefügt.
Das heißt, Sie können Qt-Designer (das Formularerstellungstool), Qt-Translator (das Übersetzungstool) usw. problemlos mit Python verwenden.
Derzeit gibt es zwei Qt-Python-Bindungen, die GPL / Commercial- PyQt mit doppelter Lizenz und die LGPL PySide . Ich habe PyQt lange benutzt und bin ein zufriedener Benutzer. Ich habe PySide auch ausprobiert, aber es sieht für mich weniger ausgereift aus. Wenn Ihre Lizenzanforderungen es erlauben, würde ich mich für PyQt entscheiden.
Entwerfen Sie einfach Ihr Interface in Qt-Designer und konvertieren Sie es in eine Python-Datei, in der pyuic4 ausgeführt wird .
Z.B:
pyuic4 editorFrame.ui -o editorFrame.py
Dann können Sie es aus Ihrer Hauptklasse importieren. In diesem Fall verwende ich ein 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
Mit der Veröffentlichung von Qt Creator 2.8 ändern sich die Dinge. Es unterstützt nun Python nativ für die Codebearbeitung und es gibt nur wenige Python-basierte Funktionen.
Ankündigung der Veröffentlichung von Qt Creator 2.8 :
Ein für Python spezifischer Editor mit Hervorhebungen und Einrückungen sowie ein Python-Klassenassistent wurden hinzugefügt
Möglicherweise möchten Sie diese Tutorial-Serie jedoch befolgen: Entwickeln einer plattformübergreifenden Anwendung mit Qt, PyQt und PySide: GUI-Anwendungsentwicklung - Teil 5 von 5 . Es wird vollständig auf Qt dev mit C ++, PyQt und PySide eingegangen