Python Problem

Ich hab ein Fenster, in dem 2 RadioButton sind.

Und zwar, würde ich gern, das wenn z.B. : radiobutton1 aktiv ist, dass ich dann 4 entrys habe und sobald ich auf radiobutton2 klicke dass dann nur 3 entrys da sind, und bei radiobutton1 halt wieder 4 entrys

Wie stelle ich das am besten an?

Ich habe mir erst gedacht, das wenn Radio Button 1 toggled wurde, das er dann in eine Funktion geht, in der er die 4 entrys in eine box macht, aber wie bekomme ich die dann im Fenster angezeigt?

Und wie schaffe ich es dann, das wenn Button 2 toggled wurde, das er die 4 entrys aus der box löscht und 3 wieder herein schreibt?


Danke für jeder Hilfe

edit: Es handelt sich um GTK
 
Schau dir mal "Events" an... Das ist genau das was du suchst..

Wenn radiobutton1 ausgewählt ist springt das vorher definierte event (funktion) ein und darin setzt du deine entrys oder was du auch vorhast..
 
Ich kapiere das leider noch nicht so ganz, ich hatte mir das jetzt so vorgestellt:
der abschnitt in dem ich das vor habe:


Code:
class umfang:

	def change(self, widget, data):
		if data=="radio1":
			entry1=gtk.Entry()
			entry2=gtk.Entry()
			entry3=gtk.Entry()
			entry4=gtk.Entry()
			vbox.pack_start(entry1)
			vbox.pack_start(entry2)
			vbox.pack_start(entry3)
			vbox.pack_start(entry4)
		if data=="radio2":
			entry1=gtk.Entry()
			entry2=gtk.Entry()
			entry3=gtk.Entry()
			vbox.pack_start(entry1)
			vbox.pack_start(entry2)
			vbox.pack_start(entry3)
			
			

	
	def __init__(self):
		window=gtk.Window(gtk.WINDOW_TOPLEVEL)
		window.set_title("Rechner - Umfang")
		window.set_border_width(0)

		vbox=gtk.VBox(False, 0)
		window.add(vbox)

		frame=gtk.Frame("Erklaerung:")
		label=gtk.Label("Waehlen sie zunaechst ob Viereck oder Dreieck.\n"
				"Danach geben sie entweder 4 Informationen fuer das Viereck\n"
				"oder 3 fuer das Dreieck.")
		frame.add(label)
		vbox.pack_start(frame)

		radio1=gtk.RadioButton(None, "Viereck")
		radio1.connect("toggled", self.change, "radio1")
		vbox.pack_start(radio1)

		radio2=gtk.RadioButton(radio1, "Dreieck")
		radio2.connect("toggled", self.change, "radio2")
		vbox.pack_start(radio2)

		window.show_all()


Aber so funktioniert das nicht, allein schon, weil dort, vbox ja noch nicht definiert ist. Aber ich weis nicht, wie ich das sonst anstellen sollte.

Bitte um weitere Hilfe
 
Hey,

leider kenne ich mich mit GTK nicht aus aber als Tipp: meld dich bei www.python-forum.de an, denn wenn es jemand weiß dann die Leute dort und die können dir ganz sicher eine Lösung nennen. Übrigens eine sehr freundliche Community ;)

mfg.
 
Zurück
Oben