it-swarm.com.de

Entwickeln von Python-Anwendungen in Qt Creator

Ich habe in der Vergangenheit einige Qt-Projekte in C++ mit Qt Creator entwickelt, aber jetzt möchte ich mit der Python-Implementierung von Qt experimentieren. Ich habe entdeckt, dass Qt Creator 2.8 und höher Python unterstützt, aber ich konnte bisher nicht herausfinden, wie man eine Qt-Anwendung in Python damit erstellt. Online-Dokumentation dazu scheint knapp zu sein.

Wie kann ich ein solches Projekt in Qt Creator einrichten? Idealerweise suche ich nach einem einfachen "Hello World" -Projekt, das ich in Qt Creator öffnen und als Ausgangspunkt verwenden kann, um etwas zu bauen.

30
Pieter

Derzeit können Sie mit Qt Creator Python-Dateien (keine Projekte) erstellen und ausführen. Es hat auch Syntax-Hervorhebung, aber es fehlen komplexere Funktionen wie Autovervollständigung. 

Das Ausführen von Skripts erfordert einige Konfiguration (ich habe this Tutorial verwendet). Öffnen Sie Qt Creator und gehen Sie zu Tools->Options->Environment->External Tools. Klicken Sie auf Add->Add category und erstellen Sie eine neue Kategorie (z. B. Python). Wählen Sie dann die erstellte Kategorie aus und klicken Sie auf Add->Add Tool, um ein neues Werkzeug zu erstellen - beispielsweise RunPy. Wählen Sie das erstellte Werkzeug aus und füllen Sie die Felder rechts aus:

  1. Beschreibung - beliebiger Wert 
  2. Ausführbare Datei - Pfad zu python.exe
  3. Argumente - %{CurrentDocument:FilePath}
  4. Arbeitsverzeichnis - %{CurrentDocument:Path}
  5. Umwelt - QT_LOGGING_TO_CONSOLE=1

Sie bekommen so etwas:

enter image description here

Gehen Sie nun zu File->New File or Project->Python und wählen Sie Python source file aus. So führen Sie das erstellte Skript aus: Tools->External->Python->RunPy.

Sie können pyuic auch auf dieselbe Weise hinzufügen: Klicken Sie erneut auf die Schaltfläche Add->Add Tool, um ein neues Werkzeug zu erstellen - PyUic now. Wählen Sie es erneut aus und füllen Sie die Felder rechts aus:

  1. Beschreibung - beliebiger Wert
  2. Ausführbare Datei - Pfad zu pyuic5
  3. Argumente - -o UI%{CurrentDocument:FileBaseName}.py -x %{CurrentDocument:FilePath}
  4. Arbeitsverzeichnis - %{CurrentDocument:Path}
  5. Umwelt - QT_LOGGING_TO_CONSOLE=1

Dann sollten Sie auch PyUic angeschlossen haben.

34
NorthCat

Danke dafür, es hat enorm geholfen.

Ich habe einen Build-and-Run-Abschnitt eines neuen Kits für Python eingerichtet, und zwar anhand Ihrer Anweisungen, was ziemlich gut zu funktionieren scheint.

Hier sind die Build-Einstellungen:

 qtcreator python build settings

Hier sind die Laufeinstellungen:

 qtcreator python run settings

beachten Sie, dass ich/usr/bin/python als Link zu /usr/bin/python3.6 habe

Hier sind die Projektdateieinstellungen:

 qtcreator python project settings

Das einzige, was nötig ist, ist in Tools -> Options -> Build zu gehen und auszuführen und die Auswahl "Immer Projekt vor dem Deployment erstellen" aufzuheben und "Projekt immer vor dem Ausführen zu implementieren".

Nachdem Sie ein Formular entworfen haben, können Sie auf Erstellen klicken, um die UI.py-Datei zu erstellen, und die aktuell ausgewählte Python-Quelldatei ausführen, indem Sie auf Ausführen klicken.

Für PyQt noobs wie ich fand ich die folgende Ressource besonders hilfreich beim Einstieg ... (obwohl ich eher unter Linux als unter Windows bin) ...

http://projects.skylogic.ca/blog/how-to-install-pyqt5-and-build-your-first-gui-in-python-3-4/

bearbeiten.

Ich habe auch pdb - den Python-Debugger hinzugefügt

 qtcreator python pdb settings

die Sie dann auswählen können, indem Sie auf die Schaltfläche über der Ausführungsschaltfläche klicken:

 qtcreator run button

bevor Sie auf Ausführen klicken. Sie können Haltepunkte in Ihrem Code mithilfe des folgenden Codeausschnitts festlegen, wobei ich der Systemumgebung in den Laufeinstellungen des pdb-Laufs DEBUG = 1 und dem Laufpython env DEBUG = 0 hinzugefügt habe:

if (QtCore.QProcessEnvironment.systemEnvironment().value("DEBUG") == "1"):
                import pdb; QtCore.pyqtRemoveInputHook(); pdb.set_trace()
1