Irgendwie komme ich mit der GUI-Entwicklung mit Glade nicht zurecht. Jeder Button oder sonstwas, nimmt grundsätzlich die Größe des Fensters oder des Containers an.
Kann mir jemand bitte (kurz) erklären, wie man generell an das Erstellen einer GUI rangeht und wie man eben die Größe der Buttons und auch die Position bestimmen kann?
Fenster, Container und in den Containern dann die einzelnen Elemente?
:K
Glade - Buttongröße und Position bestimmen
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Hallo saturnus, willkommen im Forum,
Genau. Dazu gibt es ja die Sizer (gtk.HBox, gtk.VBox, gtk.Table) etc.saturnus hat geschrieben:Fenster, Container und in den Containern dann die einzelnen Elemente?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Wie ich jetzt gesehen habe, sind bei mir zwei verschiedene Glade's installiert. Einmal das von http://glade.gnome.org/ und dann das von Damon Chaplin. Beide haben den selben Namen, machen auch das Selbe, sind aber dennoch unterschiedliche Programme. Naja, mit dem zweiten bin ich jetzt schon weiter gekommen, weil man da 'Feste Positionen' angeben kann. Das ist ja genau das, was ich wollte.Leonidas hat geschrieben:Genau. Dazu gibt es ja die Sizer (gtk.HBox, gtk.VBox, gtk.Table) etc.
THX!
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Genau das solltest du eben nicht machen.saturnus hat geschrieben:Naja, mit dem zweiten bin ich jetzt schon weiter gekommen, weil man da 'Feste Positionen' angeben kann. Das ist ja genau das, was ich wollte.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Dann erklär mir bitte wieso nicht. Mit den anderen 'Methoden' komme ich einfach nicht klar. Selbst diese kurze Anleitung (https://systemausfall.org/~age/bastel/b ... asten.html) bringt mich nicht wirklich weiter.Leonidas hat geschrieben:Genau das solltest du eben nicht machen.saturnus hat geschrieben:Naja, mit dem zweiten bin ich jetzt schon weiter gekommen, weil man da 'Feste Positionen' angeben kann. Das ist ja genau das, was ich wollte.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Weil absolute Positionierung nicht auf die Größe des Fensters rücksicht nimmt (User können Fenster ja vergrößern und verkleinern), weil es nicht auf die Auflösung Rücksicht nimmt (ein EEE PC hat eine andere Auflösung als mein Laptop, als der 21" LCD vom Designer etc), weil die Größe der Schriftart unberücksichtigt bleibt (Leute können verschiedene Schriftarten nutzen, die größer oder kleiner ausfallen können und noch dazu unterschiedliche Schriftgrade haben können) und weil die Interfaces oft einfach schief sind, weil sie eben nicht exakt durch einen Layout Manager positioniert sind.saturnus hat geschrieben:Dann erklär mir bitte wieso nicht.Leonidas hat geschrieben:Genau das solltest du eben nicht machen.saturnus hat geschrieben:Naja, mit dem zweiten bin ich jetzt schon weiter gekommen, weil man da 'Feste Positionen' angeben kann. Das ist ja genau das, was ich wollte.
Das war IMHO das schrechlichste am "GUI-Designer" von VB6: keine Layoutmanager.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Ok, daß leuchtet mir ein. Dennoch würde mich interessieren, warum zum Bsp. ein Button immer die Größe des ganzen Containers annimmt? Wie soll ich da noch einen Button oder sonstwas darüber bekommen? Muß ich den Container dann nochmals teilen? :KLeonidas hat geschrieben:Weil absolute Positionierung nicht auf die Größe des Fensters rücksicht nimmt (User können Fenster ja vergrößern und verkleinern), weil es nicht auf die Auflösung Rücksicht nimmt (ein EEE PC hat eine andere Auflösung als mein Laptop, als der 21" LCD vom Designer etc), weil die Größe der Schriftart unberücksichtigt bleibt (Leute können verschiedene Schriftarten nutzen, die größer oder kleiner ausfallen können und noch dazu unterschiedliche Schriftgrade haben können) und weil die Interfaces oft einfach schief sind, weil sie eben nicht exakt durch einen Layout Manager positioniert sind.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Letztendlich verschachtelt man entweder die Container oder nutzt gtk.Table, wo man angeben kann, in welche Zeilen und Spalten die Widgets einnehmen. Da musst du etwas mit runspielen, bis du ergebnisse bekommst - aber es funktioniert: so ziemlich alle GTK-Apps nutzen die Layout Manager.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Also quasi ähnlich wie bei HTML? Nun gut, ich werde es mir nochmal anschauen und wenn ich doch nicht weiterkommen sollte, gehe ich dir dann eben weiter auf'n...Leonidas hat geschrieben:Letztendlich verschachtelt man entweder die Container oder nutzt gtk.Table, wo man angeben kann, in welche Zeilen und Spalten die Widgets einnehmen. Da musst du etwas mit runspielen, bis du ergebnisse bekommst - aber es funktioniert: so ziemlich alle GTK-Apps nutzen die Layout Manager.
THX!