radiobutton的tkinter“var”始终返回0

2024-04-24 00:25:40 发布

您现在位置:Python中文网/ 问答频道 /正文

from the List of radio button I want to know which one was clicked

每当单击单选按钮(在python Tkinter)时,其返回的0。。。在

我尝试了以下方法:

  • 声明“var”变量全局
  • 传递所有变量

但这些步骤都没有奏效

def get_date(var):
    path_read = E1.get()
    date_list = readunparseddata.getdate_unparseddate(path_read)
    show_date(date_list,var)


def show_date(list_date,var):
    print(var)
    frame = Tk()
    #v.set(1)
    Label(frame,text="""Choose your Date :""",justify=LEFT,padx=20).pack( anchor = W )
    count = 0
    for date in list_date:
        print count
        R1=Radiobutton(frame, text=date, padx=20, value=count, variable=var, command=lambda:ShowChoice(var))
        R1.pack()
        count+=1

def ShowChoice(var):
    print "option : " + str(var.get())


top = Tk()
var=IntVar()

Tags: pathtextreadgetdatevardefshow
2条回答

问题在于我创建的Tk()实例。 下面的链接(1)说要使用TopLevel()来解决问题

当单选按钮被选中时,计数器被选中。 这里有一个例子可以帮助你你。它打印按钮被选中的次数。在

import Tkinter as tk
count=0
root = tk.Tk()
def add():
    global count
    count=count+1
    print count
v = tk.IntVar()

tk.Label(root, 
        text="""Choose a 
programming language:""",
        justify = tk.LEFT,
        padx = 20).pack()
tk.Radiobutton(root, 
              text="Python",
              padx = 20, 
              variable=v, 
              value=1,command=add).pack(anchor=tk.W)
root.mainloop()

相关问题 更多 >