Python 特金特';var';对于radiobutton,它始终返回0

Python 特金特';var';对于radiobutton,它始终返回0,python,tkinter,radio-button,var,Python,Tkinter,Radio Button,Var,每当单击单选按钮(在python Tkinter中)时,其返回的0 我尝试了以下方法: 将“var”变量声明为全局变量 在所有函数中传递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

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

我尝试了以下方法:

  • 将“var”变量声明为全局变量
  • 在所有函数中传递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()

选择单选按钮时,递增正在调用的函数中的计数器。 下面是一个帮助您的示例。它打印按钮被选中的次数

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()

问题在于我正在创建的Tk()实例。
下面的链接()说使用TopLevel()解决了这个问题

我不想要计数器来计算单选按钮被点击的次数,而是从单选按钮列表中知道哪个按钮被点击。你能创建一个计数器吗?我们无法看到传递给
get\u date
的内容。我引用的链接