web-dev-qa-db-de.com

Wie verwende ich Qt Creator mit Python?

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, eine Qt-Anwendung in Python mit Qt-Creator als IDE zu schreiben?

31
Ralf Hersel

Ja, Qt-Creator ist eine C++ - IDE mit geringer 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 Dual Licensed PyQt 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.

13
Javier Rivera

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 __== '__main__':
    main()
17
scaamanho

Mit der Veröffentlichung von Qt Creator 2.8 ändern sich die Dinge. Es unterstützt jetzt nativ Python für die Codebearbeitung und es gibt nur wenige Python-basierte Funktionen.

Von Ankündigung der Veröffentlichung von Qt Creator 2.8 :

Ein für Python spezifischer Editor mit Hervorhebung und Einrückung sowie ein Klassenassistent für Python wurden hinzugefügt

8
lzap

Möglicherweise möchten Sie diese Tutorial-Serie jedoch befolgen: Entwicklung 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

2
swdev