Seite 1 von 1

[gelöst] - Radiobutton problem

Verfasst: Sonntag 25. September 2011, 19:43
von jtschoch
Hey Leute,

Ich habe ein Problem mit dem Radio-button.
Ich will Eine Auswahl bei meine wwwSearchdesk - Programm machen und die soll so Aussehen:

° Google
● Bing
° Web - Search
° Ecosia

Wenn ich jetzt ein Eintrag auswähle soll der übergeben werden mit command oder wie das dort geht!
Das Funktioniert aber nicht, es kommt immer google raus???

Mein Code:

Code: Alles auswählen

    def sichere():
        print (var.get())
        
    suchmaschine=[('Google', 'google'),('Bing', 'bing')]

    var = StringVar()
    for text, value in suchmaschine:
        Radiobutton(root, text=text,value = value, textvariable=var, command=sichere).pack(anchor=W)
        var.set("google")
Es gibt keine Fehlermeldung!

Re: Radiobutton problem

Verfasst: Montag 26. September 2011, 12:12
von wuf
Hi jtschoch

The solution is simple:

Code: Alles auswählen

textvariable=var
replaced by:

Code: Alles auswählen

variable=var
Gruß wuf :wink:

Re: Radiobutton problem

Verfasst: Montag 26. September 2011, 12:13
von yipyip
Du braucht nicht 'textvariable' sondern 'variable' bei der Radiobutton Initialisierung.

Code: Alles auswählen

import Tkinter as tk


class Gui(object):

  def __init__(self, engines):

    self.root = tk.Tk()
    self.engines = engines
    self.ivar = tk.IntVar()
    self.radiobuttons = [tk.Radiobutton(self.root, text=engine, variable=self.ivar, value=i,
                                        command=self.check) for i, engine in enumerate(engines)]
    for i, but in enumerate(self.radiobuttons):
      but.grid(row=i, sticky=tk.W)
      
    #self.ivar.set(1)
    self.radiobuttons[1].select()

    
  def check(self):

    print self.engines[self.ivar.get()]

     
  def run(self):

    self.root.mainloop()


if __name__ == '__main__':

  engines = 'Google', 'Bing', 'Web-Search', 'Ecosia'
  Gui(engines).run()
Auch solltest du dir so langsam angewoehnen, das Ganze objektorientiert zu programmieren.
Der Effbot macht es einem eigentlich relativ leicht, ein Grundverstaendnis fuer Tkinter zu bekommen.
Immer erst drauf los zu programmieren und dann auf passenden Antwort- Broeckchen
zu warten halte ich nicht fuer die sinnvollste Methode.

:wink:
yipyip

(wuf war schon da)

Re: Radiobutton problem

Verfasst: Montag 26. September 2011, 15:56
von jtschoch
Danke,
ach ja mit den Class habe ich demnächst mal vor das zu üben.
Ich bekomme das mit den Klassen (Class) nicht hin!

Und ich habe schon gegoogelt habe, aber nicht so richtig Beispiele gefunden,
und habe es auch nicht so richtig verstanden