PySide mit Python 3-Unterstützung

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
lunar

PySide hat jetzt Python-3-Unterstützung, ein entsprechendes Release steht offenbar bereits Ende dieser Woche an.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Das hört man gerne :-)

Jetzt fehlt imho eigentlich nur noch eine Adaption des `uic`-Moduls, dann hätte PySide PyQt komplett in den Schatten gestellt.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
lunar

Mit QtUiTools.QUiLoader kann man UI-Dateien auch in PySide dynamisch laden (Beispiel).
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

lunar hat geschrieben:Mit QtUiTools.QUiLoader kann man UI-Dateien auch in PySide dynamisch laden (Beispiel).
Danke dafür. Das sollte aber imho in PySide direkt einfließen - besteht da eine Chance? Ich würde auch dafür voten ;-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
lunar

@Hyperion: Ich weiß es nicht, doch ich glaube nicht. Schließlich ist diese Lösung irgendwo nur ein Hack, und insbesondere nicht äquivalent zu "PyQt4.uic", wenn benutzerdefinierte Widgets in der Oberfläche enthalten sind. Mit benutzerdefinierten Widgets, welche in Python implementiert sind, kommt "QUiLoader" als C++-Klasse natürlich nicht zurecht. Folglich muss man ".createWidget()" selbst dahingehend überladen, dass solche Widgets erzeugt werden können, indem man den Klassennamen prüft, und ggf. das entsprechende Modul importiert. "PyQt4.uic" kann das von sich aus.

Ich glaube daher, dass über kurz oder lang ein "uic"-Modul in PySide Einzug hält.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Dennoch danke für das Snippet. Solange es eben kein `uic`-Modul gibt, ist das imho ein netter Workaround. Ich habe mich schon so sehr an `uic` gewöhnt, dass ich das Kompilieren von ui-Dateien bei PySide irgend wie extrem nervig fand ;-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten