Qt Designer Fehlgeschlagenes Plugin

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Gerri3d
User
Beiträge: 23
Registriert: Montag 17. Juli 2017, 07:39

Hallo, ich versuche das pyqt5 plugin in den QT Designer zu verlinken. Wenn ich mir die Plugins jedoch ansehe, dann bekomme ich die Fehlermeldung:

Cannot load library C:\....\Python\Python35\Lib\site-packages\PyQt5\plugins\designer\pyqt5.dll: Das angegebene Modul wurde nicht gefunden

Kennt jemand dieses Problem?
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ich habe das noch nie gesehen/gemacht. Wozu soll das gut sein, und gibt es Dokumentation dazu?

Der Designer von Qt funktioniert definitiv auch ohne das, und die resultierenden UI-Files koennen von PyQt genutzt werden. Insofern stelle ich in Frage, dass dieser Schritt ueberhaupt notwendig ist.
Gerri3d
User
Beiträge: 23
Registriert: Montag 17. Juli 2017, 07:39

Ich habe versucht, schlau daraus zu werden. Ich habtte nur den kostenpflichtigen QT Creator gefunden, bis ich dann hier auf den QT Designer gestossen bin:
https://riverbankcomputing.com/software/pyqt/download5
und zwar von dieser Seite aus:
http://projects.skylogic.ca/blog/how-to ... ython-3-4/
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

Nee. Weder Creator noch Designer sind kostenpflichtig, und ersteren kannst du eh nicht brauchen - der hilft nur, wenn du C++ machen willst.

Den Qt-Designer solltest du eigentlich als Teil eines normalen Downloads bekommen.
Gerri3d
User
Beiträge: 23
Registriert: Montag 17. Juli 2017, 07:39

Vielen Dank, ich denke so langsam versteh ich das Prozedere.
Man erstellt im Designer ein *.ui File, das man dann in *.py wandeln muß.
Dies geschieht als CMD mit pyuic5 -x file.ui -o file.py
file.ui muß im selben Verzeichnis wie pyuic5.bat sein
Anschließend wird das *.py Modul einfach im python projekt eingebettet.
BlackJack

@Gerri3d: Kann man so machen, würde ich aber nicht so machen. Quelltext generieren ist ein zusätzlicher Schritt den man sich sparen kann wenn man das `uic`-Modul von PyQt verwendet.
Gerri3d
User
Beiträge: 23
Registriert: Montag 17. Juli 2017, 07:39

Hast du dazu ein Tutorial? Mit dem QT Designer kann man ui speichern, uic wüsste ich nun nicht wie das klappt
BlackJack

@Gerri3d: Ein Tutorial für *einen* Funktionsaufruf ist mit Kanonen auf Spatzen geschossen. In 99,9% der Fälle lädt man die *.ui-Datei mit der `loadUi()`-Funktion. Je nach dem ob man das `baseinstance`-Argument übergibt, verwendet man entweder den Rückgabewert der Funktion — das Widget-Exemplar das durch die *.ui-Datei beschrieben wird und von der Funktion erstellt wird, oder man verwendet das übergebene (passende) Widget-Exemplar das von der Funktion mit den in der *.ui-Datei beschriebenen GUI bestückt wurde.
Alfons Mittelmeyer
User
Beiträge: 1715
Registriert: Freitag 31. Juli 2015, 13:34

__deets__ hat geschrieben:Nee. Weder Creator noch Designer sind kostenpflichtig, und ersteren kannst du eh nicht brauchen - der hilft nur, wenn du C++ machen willst.

Den Qt-Designer solltest du eigentlich als Teil eines normalen Downloads bekommen.
Habe mir pyqt5 auf dem Raspberry installiert. Das geht auch. Aber wie rufe ich den qtdesigner auf?
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

Der sollte teil deiner Qt-Installation sein. Da du nicht verraetst welches OS du verwendest kann man da konkreteres nicht zu sagen. Wenn es Linux ist musst du ggf. auch noch ein extra Paket installieren, weil die ja gerne immer alles zerfleddern ... :twisted:
Alfons Mittelmeyer
User
Beiträge: 1715
Registriert: Freitag 31. Juli 2015, 13:34

__deets__ hat geschrieben:Der sollte teil deiner Qt-Installation sein. Da du nicht verraetst welches OS du verwendest kann man da konkreteres nicht zu sagen. Wenn es Linux ist musst du ggf. auch noch ein extra Paket installieren, weil die ja gerne immer alles zerfleddern ... :twisted:
Natürlich habe ich das OS verraten. Es ist natürlich Raspbian, da es ein Raspberry ist, also ein Derivat von Debian

Jetzt habe ich auch qt4 für python2.7 installiert, weiß aber genausowenig wie ich da den qtcreator starte
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ups, ja, hast du. Der creator ist dort ganz normal unter /usr/bin zu finden. Wenn nicht, gibt es ein Paket dafuer. Und wie ich schon schrieb - der creator ist nutzlos, der designer ist was du brauchst.
Alfons Mittelmeyer
User
Beiträge: 1715
Registriert: Freitag 31. Juli 2015, 13:34

__deets__ hat geschrieben:Ups, ja, hast du. Der creator ist dort ganz normal unter /usr/bin zu finden. Wenn nicht, gibt es ein Paket dafuer. Und wie ich schon schrieb - der creator ist nutzlos, der designer ist was du brauchst.
Also gefunden habe ich ihn mittlerweile, entweder ich gebe ein: designer
oder: designer-qt4
Gehen tut er allerdings nicht, da Fehlermeldungen kommen.

Damit fängt es an:

Code: Alles auswählen

Error while reparenting!
QMetaProperty::read: Unable to handle unregistered datatype 'QList<QColor>' for property 'KColorCombo::colors'
Vielleicht muss man doch alles von Grund auf neu übersetzen, was dann viele Stunden in Anspruch nehmen kann oder ich installiere es einfach unter Windows auf dem PC.
ganja
User
Beiträge: 189
Registriert: Mittwoch 3. Dezember 2014, 07:44

hast es so gemacht?

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install qt5-default

sudo apt-get install qtcreator

sudo apt-get install libqt5serialport5
sudo apt-get install libqt5serialport5-dev
Alfons Mittelmeyer
User
Beiträge: 1715
Registriert: Freitag 31. Juli 2015, 13:34

ganja hat geschrieben:hast es so gemacht?

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install qt5-default

sudo apt-get install qtcreator

sudo apt-get install libqt5serialport5
sudo apt-get install libqt5serialport5-dev
Also das mit den serialports nicht. Jetzt compiliere ich gerade von Source

Hat nicht hingehauen, war auch ein Fehler drin beim compilieren.
Probiere daher eine Version vorher
Alfons Mittelmeyer
User
Beiträge: 1715
Registriert: Freitag 31. Juli 2015, 13:34

@ganja: danke, war wohl das nicht Gemachte dist_upgrade gewesen
Antworten