Glade - Buttongröße und Position bestimmen

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
saturnus
User
Beiträge: 5
Registriert: Montag 30. Juni 2008, 14:52

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
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Hallo saturnus, willkommen im Forum,
saturnus hat geschrieben:Fenster, Container und in den Containern dann die einzelnen Elemente?
Genau. Dazu gibt es ja die Sizer (gtk.HBox, gtk.VBox, gtk.Table) etc.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
saturnus
User
Beiträge: 5
Registriert: Montag 30. Juni 2008, 14:52

Leonidas hat geschrieben:Genau. Dazu gibt es ja die Sizer (gtk.HBox, gtk.VBox, gtk.Table) etc.
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. :wink:

THX!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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. :wink:
Genau das solltest du eben nicht machen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
saturnus
User
Beiträge: 5
Registriert: Montag 30. Juni 2008, 14:52

Leonidas hat geschrieben:
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. :wink:
Genau das solltest du eben nicht machen.
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
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

saturnus hat geschrieben:
Leonidas hat geschrieben:
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. :wink:
Genau das solltest du eben nicht machen.
Dann erklär mir bitte wieso nicht.
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.

Das war IMHO das schrechlichste am "GUI-Designer" von VB6: keine Layoutmanager.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
saturnus
User
Beiträge: 5
Registriert: Montag 30. Juni 2008, 14:52

Leonidas 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.
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? :K
Leonidas
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
saturnus
User
Beiträge: 5
Registriert: Montag 30. Juni 2008, 14:52

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.
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... :lol: :lol:

THX!
Antworten