Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Wechselnde Einträge bei aktiviertem RadioButton

Frage Entwicklung Python

Mitglied: sabio23

sabio23 (Level 1) - Jetzt verbinden

30.12.2008, aktualisiert 06:47 Uhr, 2809 Aufrufe, 1 Kommentar

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?


Es handelt sich um GTK

ich hatte mir das jetzt so vorgestellt:
der abschnitt in dem ich das vor habe:

01.
class umfang: 
02.
 
03.
	def change(self, widget, data): 
04.
		if data=="radio1": 
05.
			entry1=gtk.Entry() 
06.
			entry2=gtk.Entry() 
07.
			entry3=gtk.Entry() 
08.
			entry4=gtk.Entry() 
09.
			vbox.pack_start(entry1) 
10.
			vbox.pack_start(entry2) 
11.
			vbox.pack_start(entry3) 
12.
			vbox.pack_start(entry4) 
13.
		if data=="radio2": 
14.
			entry1=gtk.Entry() 
15.
			entry2=gtk.Entry() 
16.
			entry3=gtk.Entry() 
17.
			vbox.pack_start(entry1) 
18.
			vbox.pack_start(entry2) 
19.
			vbox.pack_start(entry3) 
20.
			 
21.
			 
22.
 
23.
	 
24.
	def __init__(self): 
25.
		window=gtk.Window(gtk.WINDOW_TOPLEVEL) 
26.
		window.set_title("Rechner - Umfang") 
27.
		window.set_border_width(0) 
28.
 
29.
		vbox=gtk.VBox(False, 0) 
30.
		window.add(vbox) 
31.
 
32.
		frame=gtk.Frame("Erklaerung:") 
33.
		label=gtk.Label("Waehlen sie zunaechst ob Viereck oder Dreieck.\n" 
34.
				"Danach geben sie entweder 4 Informationen fuer das Viereck\n" 
35.
				"oder 3 fuer das Dreieck.") 
36.
		frame.add(label) 
37.
		vbox.pack_start(frame) 
38.
 
39.
		radio1=gtk.RadioButton(None, "Viereck") 
40.
		radio1.connect("toggled", self.change, "radio1") 
41.
		vbox.pack_start(radio1) 
42.
 
43.
		radio2=gtk.RadioButton(radio1, "Dreieck") 
44.
		radio2.connect("toggled", self.change, "radio2") 
45.
		vbox.pack_start(radio2) 
46.
 
47.
		window.show_all() 
48.
 


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 jede Hilfe

EDIT Mitchell
Überschrift geändert
Mitglied: Grindhold
10.12.2009 um 11:45 Uhr
Da gibts ne ganz einfache loesung fuer. Jedes Gtk::Widget verfuegt ueber die methode set_visible(boolwert). Damit kann man ein widget ein-oder ausblenden und braucht nicht die ganze rechenintensiver packerei bei jedem klick nochmal durchfuehren. Alternativ gaebe es auch noch set_sensitive(boolwert) mit der kannst du (0) ein widget "ausgrauen" oder (1) wieder benutzbar machen

Deine change() muesste dann so aussehen. Wichtig: Entries schon vorher generieren

def change(self, widget, data):
if data=="radio1":
entry4.set_visible(1)
if data=="radio2":
entry4.set_visible(0)
Bitte warten ..
Ähnliche Inhalte
Viren und Trojaner
CryptoLocker und seine wechselnden Datei-Endungen (24)

Erfahrungsbericht von Tharen zum Thema Viren und Trojaner ...

Windows Tools
gelöst Acrobat Reader Pro - Radiobuttons default nicht angeklickt (4)

Frage von Ghost108 zum Thema Windows Tools ...

Windows 7
Wann wurde Windows aktiviert (19)

Frage von gardenzwerg zum Thema Windows 7 ...

Windows Server
Windows BranchCache - nur mit aktivierter Windows-Firewall? (2)

Frage von User1000 zum Thema Windows Server ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(2)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
gelöst Leiten "dumme" Switches VLAN-Tags mit durch? (26)

Frage von coltseavers zum Thema Netzwerkprotokolle ...

Windows Server
gelöst Neues KB für W10 1607 und W2K16 wieder mal nicht im WSUS 3.0, hat das noch jemand? (16)

Frage von departure69 zum Thema Windows Server ...

Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (16)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Windows Server
DC virtualisieren + wie sichern (SingleDC-Environment) (12)

Frage von KMUlife zum Thema Windows Server ...