Installtion von PyQt5 auf Python 3.6

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Gummix
User
Beiträge: 2
Registriert: Freitag 6. Januar 2017, 22:18

Hallo,
ich bin neu im Bereich Python und teste mich gerade durch ein paar GUI-Toolkits.
Leider bekomme ich die installation von PyQt5 nicht hin.

System:
Win10 64bit
Python 3.6 32bit

Ich habe bei Youtube ein Tutorial gefunden welches PyQt5 behandelt.
https://www.youtube.com/watch?v=Z66AtVqdLUc

Ich habe also PyQt5 installiert

Code: Alles auswählen

pip3 install PyQt5
Soweit hat es auch geklappt.

Dann sollte man die designer.exe öffnen, aber die ist nicht vorhanden.

Auch fehlt eine pyuic5.bat die zum umwandeln von .ui in .py verwendet wurde.
(wobei das scheinbar eine veraltete Methode ist, wie wird dass den aktuell behandelt?)

könnt ihr mir sagen wie ich PyQt5 richtig installiert bekomme?
Gummix
User
Beiträge: 2
Registriert: Freitag 6. Januar 2017, 22:18

Keiner der mir da nen Tipp geben kann?
kemc
User
Beiträge: 5
Registriert: Donnerstag 28. Mai 2015, 12:35
Wohnort: Münster

Hey Gummix,

ich kann hier nur mit Halbwissen dienen, also verbessert mich falls ich irgendwo falsch liege ;).
Also bei PyQt handelt es sich lediglich um die Bindings für Python, womit du per Code GUI's erstellen kannst. Den Designer (eine Art grafische GUI IDE) bekommst du meines Wissens auf der offiziellen Seite von Qt. Damit lassen sich GUI's als .ui-Datei erstellen. Wenn du PyQt (4 oder 5) installiert hast kannst du anschliend mittels pyuic die .ui-Datei entweder direkt in dein Python-Programm einbinden oder vorab in eine .py-Datei umwandeln.

Hier ein paar vllt. nützliche Links:
- Anaconda Distribution von Python (enthält bereits viele nützliche Packages und ermöglicht ein einfaches installieren und updaten eben dieser):
https://www.continuum.io/downloads
- Qt: https://www.qt.io/download-open-source/

Gruß Kemc
bb1898
User
Beiträge: 199
Registriert: Mittwoch 12. Juli 2006, 14:28

So richtig glücklich bin ich mit meiner aktuellen Lösung für Python 3.6 und PyQt 5.7.1 zwar auch noch nicht, aber sie funktioniert.

1. Um eine fertige .ui-Datei im Programm zu verwenden, braucht man nicht pyuic, sondern loadUi, aus dem Modul uic, zum Beispiel so:

Code: Alles auswählen

from PyQt5 import QtCore
...
from PyQt5 import uic

class TownsForm(QtWidgets.QWidget):
    
    def __init__(self, parent=None):
        super().__init__(parent)
        uic.loadUi("statoids_xml.ui", self)
        self.btExport.clicked.connect(self.exportData)
        self.show()
Die .ui-Datei "statoids_xml.ui" ist mit dem Designer erzeugt und liegt im gleichen Verzeichnis wie der Code. "btExport" ist der Name eines QPushButtons in dieser Datei; den kann ich im Code als Attribut meiner Fensterklasse benutzen. Die Methode exportData() habe ich weggelassen, aber natürlich ist sie nötig. So ist das Zeug aber sowieso nicht lauffähig. Bis zu diesem Punkt kommt man ohne weiteres, wenn man PyQt5 mit pip install ... installiert hat.

Zum Umgang mit loadUi steht einiges in der offiziellen PyQt-Dokumentation auf den Riverbank-Seiten; es gibt da mehrere Varianten.

2. Hier wird's mühsamer als es früher war: die alten Windows-Installationsdateien für PyQt hatten den QtDesigner dabei, in den Wheels steckt er nicht. Das PyPi-Paket "pyqt5-tools 5.7.dev9" enthält ihn, existiert aber (noch?) nicht in einer Version für Python 3.6. Ich habe mir von der Qt-Seite den QtCreator geholt und installiert, der enthält den Designer, aber auch einen Haufen Zeugs, den man nur brauchen würde, wenn man direkt mit Qt, nicht mit PyQt arbeiten wollte. Immerhin kann ich mit dem eine .ui-Datei öffnen und weiter bearbeiten; wie ich verfahren muss, wenn ich eine neue .ui-Datei anfangen will, aber kein Qt-Projekt erzeugen oder so was, habe ich noch nicht raus.

Wenn jemand hierzu mehr weiß oder ausprobiert hat, wäre auch ich dankbar für weitere Berichte.
bb1898
User
Beiträge: 199
Registriert: Mittwoch 12. Juli 2006, 14:28

Ich bin selber etwas weiter: der Qt Creator lässt einen durchaus .ui-Dateien ohne umgebendes Projekt erzeugen: Datei/Neu und im folgenden Dialog unter "Dateien und Klassen" Qt und dann Qt-Designer-Formular auswählen. Dann "Auswählen..." und jetzt geht es so ziemlich weiter wie vom Designer gewohnt.

Und wenn man will, kann man auch Python-Code im Qt Creator schreiben.

Aber ich hätte noch mal eine Frage: weiß jemand, ob und wo das XML-Format der .ui-Dateien dokumentiert ist? Das ist so ziemlich alles, was ich an WPF wirklich mag: die Möglichkeit, in Visual Studio direkt in die .xaml-Dateien zu schreiben, mit kompletter Code-Vervollständigung und guter Dokumentation. Die Design-Ansicht brauche ich dann nur zur Kontrolle.
gamp-ba
User
Beiträge: 6
Registriert: Dienstag 2. Mai 2017, 12:43

Hallo, ist da vielleicht jemand schon schlauer geworden? (meine Basis ist Windows10 64 bit und Python 3.6)
Ich habe jetzt PyQt5 installiert. Funktioniert wunderbar.
Habe aus dieser Anleitung heraus das Beispiel übernommen http://projects.skylogic.ca/blog/how-to ... ython-3-4/ funktioniert bestens, aber dann:
dort steht starte "designer.exe". Die Datei gibt es nicht mehr. Dafür aber zig +.pyd Dateien. Im Beitrag von bb1898 steht QtDesigner (direkt) installieren. es scheint so zu sein, dass die *.pyd-Dateien dann alle "umsonst" drin sind, da man sie nicht (direkt?) öffnen kann?
bb1898
User
Beiträge: 199
Registriert: Mittwoch 12. Juli 2006, 14:28

gamp-ba hat geschrieben:Habe aus dieser Anleitung heraus das Beispiel übernommen http://projects.skylogic.ca/blog/how-to ... ython-3-4/ funktioniert bestens, aber dann:
dort steht starte "designer.exe". Die Datei gibt es nicht mehr. Dafür aber zig +.pyd Dateien. Im Beitrag von bb1898 steht QtDesigner (direkt) installieren. es scheint so zu sein, dass die *.pyd-Dateien dann alle "umsonst" drin sind, da man sie nicht (direkt?) öffnen kann?
Der Haken an dieser Anleitung: zwischen 3.4 und 3.5 hat sich die Installation von Python selbst und in der Folge auch die von PyQt5 gründlich geändert. Es gibt die alten Windows-Installationsdateien für PyQt nicht mehr, in denen alles, einschließlich Designer, drin steckte. Die neuen Wheels enthalten den Designer (und auch andere Entwicklungstools) nicht mehr.

Auf der Qt-Webseite kannst Du den Qt Creator herunterladen und installieren. Mehr zur Verwendung des Designers in dieser IDE habe ich schon geschrieben. Oder Du gehst vor wie in diesem StackOverflow-Thread beschrieben, das funktioniert auch (ich habe den Weg aus der ersten Antwort gewählt).

Die *.pyd-Dateien sind dll's mit gewissen Unterschieden (weiß ich auch nur aus den Python-FAQs). Wenn Du das PyQt5-Wheel installiert hast, sehe ich nicht, wie Du Dir unnötige *.pyd-Dateien eingehandelt haben solltest, ich würde davon ausgehen, dass die dazu gehören und mit dem Designer eher nichts zu tun haben. Aber sicher weiß ich das nicht.
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

bb1898 hat vollkommen recht mit seinem Beitrag. Ich möchte nur einen weiteren Weg erwähnen.

Du kannst eine Python Distro nutzen z.B https://winpython.github.io/

Dann solltest du aber vorher deine andere Python Version deinstallieren, um nicht durcheinander zu kommen.
bb1898
User
Beiträge: 199
Registriert: Mittwoch 12. Juli 2006, 14:28

Und für alle, die es nicht sowieso aus der PyQt-Mailingliste wissen: inzwischen gibt es die PyQt5-Tools auch für Python 3.6 auf PyPi: https://pypi.python.org/pypi/pyqt5-tools/5.8.2.1.0rc0. Sie sollen jetzt wohl weiterhin aktuell gehalten werden.
michael.herrmann
User
Beiträge: 17
Registriert: Dienstag 20. November 2012, 12:43

Hallo! Ich hatte auch das Problem, dass die Installation von Qt Designer erstaunlich mühsam war. Ich habe es jetzt (zumindest für mich) gelöst, indem ich Standalone Installer für Windows und Mac veröffentlicht habe. Sie sind weniger als 40MB groß und erfordern kein Python. Ihr findet sie hier: Qt Designer Download.

LG
Michael
Antworten