Seite 1 von 1

QT von Hand coden oder Qt Designer

Verfasst: Freitag 10. Mai 2019, 19:30
von Grendel
Hallo,

ich möchte jetzt von tkinter zu QT wechseln und frage mich, ob es Gründe gibt, Qt Designer nicht zu verwenden. Außerdem bringt Qt zahlreiche Klassen für alles mögliche mit (Netzwerk etc.). Wie handhabt man das in der Praxis, wenn ähnliche Funktionalitäten bereits von Python selbst bereitgestellt werden? Qt oder natives Python?

Vielen Dank.

Re: QT von Hand coden oder Qt Designer

Verfasst: Freitag 10. Mai 2019, 19:41
von __deets__
Es hat Vorteile Qt Klassen zu benutzen weil die durch ihr Signal Slot pattern dann einheitlich funktionieren, und auch den Qt mainloop kennen.

Designer würde ich empfehlen, da man bei ordentlicher benahmung der Widgets damit sauber Code von Layout trennt. Und letzteres ändert sich schon mal schnell.

Re: QT von Hand coden oder Qt Designer

Verfasst: Freitag 10. Mai 2019, 21:28
von __blackjack__
@Grendel: Designer macht IMHO Sinn. Dann wird das Layout der GUI zu einer Datendatei die mit einer grafischen Oberfläche erstellt und bearbeitet werden kann, was sonst oft zu einer ziemlichen Wüste an Code ausartet, bei der man sich oft auch durch's lesen nicht so gut vorstellen kann, wie es am Ende am Bildschirm aussieht.

Bei den Nicht-GUI-Klassen aus dem Qt-Rahmenwerk muss man halt schauen in wie weit sich die Vorteile (Signal/Slot) gegen die Nachteile – also hauptsächlich die Abhängigkeit von Qt – abwiegen lassen.

Ich persönlich würde mich zum Beispiel schwer damit tun die Qt Network Klassen als ”Ersatz” für `requests` zu verwenden, einfach weil ich die API gewohnt bin, und man den Teil dann auch ohne Qt-Abhängigkeit verwenden kann.

Bei den Qt SQL Klassen könnte ich mir das nur bei wirklich ganz simplen CRUD-Anwendungen vorstellen dem einen Vorzug vor SQLAlchemy zu geben.

Die Qt Test Klassen habe ich mir noch gar nicht angeschaut. Ich denke hier wird es auch schwer das py.test was ich verwende zu ersetzen.

Qt Concurrent wird AFAIK in den Python-Bindings gar nicht erst angeboten. Die ganzen Containerdatentypen werden auch nicht angeboten.

Von JSON- und XML-Kram von Qt würde ich die Finger lassen, das gibt's auch in der Python-Standardbibliothek (+ `lxml`) in einer API die deutlich weniger nach statischer Programmiersprache aussieht. :-)

Re: QT von Hand coden oder Qt Designer

Verfasst: Samstag 11. Mai 2019, 21:04
von Grendel
Vielen Dank für die Antworten. Eine letzte Frage hierzu: man kann den Output, den der Qt Designer generiert, in Python-Code umwandeln. Macht das Sinn?

Re: QT von Hand coden oder Qt Designer

Verfasst: Samstag 11. Mai 2019, 21:27
von Sirius3
Nein, das macht keinen Sinn, weil es einfacher ist, direkt die ui-Datei zu laden.