Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何获取多个单选按钮值_Python_Tkinter_Radio Button - Fatal编程技术网

Python 如何获取多个单选按钮值

Python 如何获取多个单选按钮值,python,tkinter,radio-button,Python,Tkinter,Radio Button,我计划使用动态单选按钮数作为SQL查询返回到DB的行数 如何为单选按钮动态编码“变量”,以便在选择时为所有单选按钮获得单独的值 对于DB返回的每个结果,我都有一个Yes/No单选按钮 i = 0 for r in self.results : print(r) globals()[r[0]] = tk.IntVar() R1 = tk.Radiobutton(self.win1, text="Yes", variable=globals()[r[0]], value=1)

我计划使用动态单选按钮数作为SQL查询返回到DB的行数

如何为单选按钮动态编码“变量”,以便在选择时为所有单选按钮获得单独的值

对于DB返回的每个结果,我都有一个Yes/No单选按钮

i = 0
for r in self.results :
    print(r)
    globals()[r[0]] = tk.IntVar()
    R1 = tk.Radiobutton(self.win1, text="Yes", variable=globals()[r[0]], value=1)
    R2 = tk.Radiobutton(self.win1, text="No", variable=globals()[r[0]], value=2)
    R1.grid( column=2, row=i+2)
    R2.grid( column=3, row=i+2)

    item_Label = ttk.Label(self.win1, text=r[0])
    item_Label.grid(column=0, row=i+2)
    resp = globals()[r[0]].get()
    print(resp)
    i += 1
我得到的错误是“


其中object1是从DB返回的结果。

我将尝试以类似的方式重现您的问题,希望您能理解

您可以做的是创建一个
IntVar()
列表,用于查询结果每行使用的每对单选按钮

import tkinter as tk

win = tk.Tk()

def show_values():
    a = " ".join([str(i.get()) for i in values])
    tk.Label(win, text=a).grid()

results = ["RB1: ", "RB2: ", "RB3: "]
values = [tk.IntVar() for i in range(len(results))]
i = 0
for r in results:
    r1 = tk.Radiobutton(win, text="Yes", variable=values[i], value=1)
    r2 = tk.Radiobutton(win, text="No", variable=values[i], value=2)
    r1.grid(column=1, row=i)
    r2.grid(column=2, row=i)

    item_Label = tk.Label(win, text=r)
    item_Label.grid(column=0, row=i)
    i += 1

tk.Button(win, text='Show Values', command=show_values).grid(columnspan=2)

win.mainloop()

import tkinter as tk

win = tk.Tk()

def show_values():
    a = " ".join([str(i.get()) for i in values])
    tk.Label(win, text=a).grid()

results = ["RB1: ", "RB2: ", "RB3: "]
values = [tk.IntVar() for i in range(len(results))]
i = 0
for r in results:
    r1 = tk.Radiobutton(win, text="Yes", variable=values[i], value=1)
    r2 = tk.Radiobutton(win, text="No", variable=values[i], value=2)
    r1.grid(column=1, row=i)
    r2.grid(column=2, row=i)

    item_Label = tk.Label(win, text=r)
    item_Label.grid(column=0, row=i)
    i += 1

tk.Button(win, text='Show Values', command=show_values).grid(columnspan=2)

win.mainloop()