PySide dynamische laden von UI-Files

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
convoy
User
Beiträge: 6
Registriert: Sonntag 11. Oktober 2009, 16:28

Hallo,

bisher habe ich mit PyQt4 gearbeitet und meine UI-Files direkt geladen:

Code: Alles auswählen

uic.loadUi('ui/Form.ui',self)
bzw

Code: Alles auswählen

MainBase, MainForm = uic.loadUiType("ui/main1.ui")
class MainGui(MainBase, MainForm):    
    def __init__(self,parent=None):
        super(MainBase,self).__init__(parent)
        self.setupUi(self)
Aber wie bekomme ich das mit PySide richtig hin.

Danke schonmal im voraus
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Das Thema hatten wir schon mehrfach, hier mal ein Link dazu: Link :-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
lunar

@convoy: In PySide ist es etwas komplizierter, GUIs dynamisch zu laden. Nach Aussagen der Entwickler – frag mich nicht nach der Quelle, irgendeine Mail auf der Mailingliste war das – hat PySide.uic auch keine Priorität.

Bleibe doch einfach bei PyQt, wenn Du nicht zwingend zu PySide wechseln musst.
convoy
User
Beiträge: 6
Registriert: Sonntag 11. Oktober 2009, 16:28

Sorry den Link hatte ich schon angeschaut, hab aber das "Beispiel" nicht gesehen ! Danke.

Wen ich es richtig verstanden habe, verwendet PySide die API 2, wen man python 2.7 mit PyQt4 nimmt wird die API 1 verwendet.
Mit Python 3 dagegen kann ich die API 2 verwenden.

Die API 2 spart mir, wen ich auch das richtig verstanden habe die Typekonfertierung.

Da ich aber leider die meiste Zeit mir LDAP zu tun habe muss ich python 2.7 verwenden da es keine python-ldap für 3 gibt.
Also bin ich gezwungen mit PyQt4 und API 1 zu leben !

Aber nochmals besten Dank.
lunar

@convoy: Du kannst auch in PyQt3 zusammen mit Python 2 die neue API verwenden, Du musst sie lediglich explizit aktivieren. Wie das geht, steht in der Dokumentation von PyQt :)
Antworten