【问题标题】:tkinter 'var' for radiobutton is always returning 0单选按钮的 tkinter 'var' 总是返回 0
【发布时间】:2018-09-26 02:19:41
【问题描述】:

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

每当单击单选按钮(在 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()

【问题讨论】:

标签: python tkinter radio-button var


【解决方案1】:

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

【讨论】:

  • link我引用的链接
【解决方案2】:

在选择单选按钮时增加正在调用的函数中的计数器。 这是一个可以帮助您的示例。它会打印按钮被选中的次数。

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

【讨论】:

  • 我不想让计数器计算单选按钮被点击的次数,而是从单选按钮列表中知道点击了哪个单选按钮。
猜你喜欢
  • 2022-06-28
  • 2020-01-12
  • 2021-10-21
  • 2016-10-28
  • 2017-02-09
  • 2012-07-14
  • 1970-01-01
  • 1970-01-01
  • 2021-11-21
相关资源
最近更新 更多