Austauschen eines Bereichs durch Klick auf Toolbar Icon

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
metty
User
Beiträge: 99
Registriert: Samstag 13. Dezember 2008, 19:30

Hallo zusammen,

ich programmiere jetzt schon seit längerer Zeit Python. Mein Steckenpferd war bis jetzt immer die Webentwicklung mit Django aber auch kleine Netzwerkdienste und Tools habe ich programmiert. Jetzt möchte ich mich an die GUI-Programmierung wagen. Ich habe mich für pyGTK entschieden, weil ich die Programme hauptsächlich unter Linux (Ubuntu) verwenden möchte. Kleine Programme konnte ich damit auch schon ganz gut erstellen.

Jetzt aber zu meiner Frage:
Ich plane ein Programm mit einer Toolbar, mit 3 Icons. Bei einem Klick auf das erste Icon soll im selben Fenster der gesamte Anzeigebereich (Mitte des Programms, bzw. der VBox) durch etwas anderes ersetzt werden werden, klicke ich auf das 2 Icon soll der gleiche Bereich wieder durch etwas anderes ersetzt werden usw.

Hier mal ein kleines Bildbeispiel eines x-beliebigen Programms, das ich bei google gefunden habe:

Bild

Angenommen ich klicke auf "Convert", dann soll der Listview durch ein anderes Element ersetzt werden, klicke ich auf "Add File" soll das eben ersetzte wieder durch etwas anderes ersetzt werden usw.

Problem ist, wie kann ich rausbekommen, was gerade aktiv ist?
Ich könnte höchstens in einer Variable speichern, was gerade geklickt wurde und darauf dann entsprechend reagieren. Aber geht das anders (schöner)?

Vielen Dank.
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Hallo

Währe da nicht ein Notebook (http://www.pygtk.org/docs/pygtk/class-gtknotebook.html) besser für geeignet?

Ansonsten kann du ja es so mit der Variable machen, mache ich auch immer so und funktioniert super.

Gruß
Andyh
Meinen Dickschädel schon bemerkt?
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys

if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Rein prinzipiell musst du gar nichts in einer Variable speichern. Du leerst einfach die VBox und füllst sie neu.
Oder musst du aus irgendeinem Grund wissen, was gerade aktiv ist. Selbst dann ist es doch kein Problem, das in einer Variable zu speichern.

(Wobei ich persönlich in diesem Fall auch eine Notebook-Variante verwenden würde.)
Antworten