Wie verwende ich Qt Creator mit Python?

32

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?

Ralf Hersel
quelle

Antworten:

14

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.

Javier Rivera
quelle
zuletzt hinzugefügt codereview.qt-project.org/#q,status:open,n,z
Persischer Golf
18

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()
scaamanho
quelle
1
Nur für den Fall, dass jemand diese Informationen benötigt, um pyuic4 zu installieren:sudo apt-get install pyqt4-dev-tools qt4-designer
Tshilidzi Mudau
8

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

lzap
quelle