GUI sieht im Script anders aus als im Designer

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
peddy
User
Beiträge: 121
Registriert: Montag 30. Juni 2008, 13:51

Hallo,

ich bin gerade dabei mein erstes Python Programm zu basteln und dann solls auch noch mit GUI sein.

Mit dem Qt4 Designer habe ich mir ein Dialog erstellt. Wenn ich das Gui aber in meinem Python Script anzeigen lasse sieht es anders aus als im Designer. Wörter werden zum Teil abgeschnitten und der Start Button ist zu flach.

UI-File
http://rafb.net/p/gXWt2231.html

py-File
http://rafb.net/p/vSU3xF77.html

Woran kann das liegen?
lunar

Die mangelhafte Positionierung ist auf dein mangelhaftes Layoutmanagement zurückzuführen. Du hast zwar innerhalb der Container Layout-Management angewendet, das Widget selbst aber nicht mit einem Layout versehen. Im Übrigen solltest du Widgets, die du von außen ansprichst, immer einen aussagekräftigen Namen geben. "self.checkbox_11" ist absolut schlechter Code.

So sieht das Ganze mit vernünftigem Layout-Management aus: http://paste.pocoo.org/show/79767/

Was du mit damit meinst, dass der "Start Button zu flach sei", erschließt sich mir nicht.
peddy
User
Beiträge: 121
Registriert: Montag 30. Juni 2008, 13:51

Im Übrigen solltest du Widgets, die du von außen ansprichst, immer einen aussagekräftigen Namen geben. "self.checkbox_11" ist absolut schlechter Code.
Danke für den Tipp, das wollte ich machen nachdem das Gui auch richtig dargestellt wird.
Was du mit damit meinst, dass der "Start Button zu flach sei", erschließt sich mir nicht.
Bei mir ist der Button nur wenige Pixel hoch. Dadurch kann man die Beschriftung kaum erkennen.
lunar

peddy hat geschrieben:Bei mir ist der Button nur wenige Pixel hoch. Dadurch kann man die Beschriftung kaum erkennen.
Das liegt dann wohl auch am fehlenden Widget-Layout. Hast du mal meine UI-Datei ausprobiert?
peddy
User
Beiträge: 121
Registriert: Montag 30. Juni 2008, 13:51

lunar hat geschrieben:
peddy hat geschrieben:Bei mir ist der Button nur wenige Pixel hoch. Dadurch kann man die Beschriftung kaum erkennen.
Das liegt dann wohl auch am fehlenden Widget-Layout. Hast du mal meine UI-Datei ausprobiert?
Ja, habe ich. Da ist der Button in Ordnung. Für meine Zwecke wäre es perfekt, wenn jetzt noch alle Computernamen untereinander stehen würden.

Hätte da noch zwei Fragen:

1. Platzierst du erst alle Widgets, markierst sie und setzt dann das Layout?
2. Hinter allen Computernamen sollen noch jeweils drei Grafiken hin. Ich habe drei kleine Gifs mit 16x16 Punkten in den Farben rot, gelb und grün. Mit welchem Widget kann ich das realisieren?
lunar

peddy hat geschrieben:1. Platzierst du erst alle Widgets, markierst sie und setzt dann das Layout?
Ja, wie sollte man das sonst machen?
2. Hinter allen Computernamen sollen noch jeweils drei Grafiken hin. Ich habe drei kleine Gifs mit 16x16 Punkten in den Farben rot, gelb und grün. Mit welchem Widget kann ich das realisieren?
QLabel.
peddy
User
Beiträge: 121
Registriert: Montag 30. Juni 2008, 13:51

lunar hat geschrieben:
peddy hat geschrieben:1. Platzierst du erst alle Widgets, markierst sie und setzt dann das Layout?
Ja, wie sollte man das sonst machen?
In dem Fenster in dem man die Widgets hat gibt es auch Layoutwidgets die man rüber ziehen kann. Anschließend können in dem roten Rahmen andere Widgets plaziert werden.
lunar

Tja, dass wusste ich nicht. Ich versuche aber eh, in einem Parent-Widget nicht so viele Layouts unterzubringen. Das ist erstens ein Indiz dafür, dass der Dialog zu kompliziert wird, oder zweitens dafür, dass man die Widgets mit GroupBoxen oder ähnlichem noch besser gruppieren sollte.

Wenn man sich einigermaßen daran hält, kann man Widgets wunderbar über das Parent-Widget layouten.
Antworten