繁体   English   中英

Python tkinter单选按钮不会更改变量

[英]Python tkinter Radio Button Won't Change Variable

我正在尝试在python 3.4.3中使用单选按钮,并且单选按钮未更改其分配的变量。 我在这里想念什么?

from tkinter import *
import tkinter

class c:
def __init__(self):
    self.master=tkinter.Tk()
    self.bvar=IntVar()
    rb1=Radiobutton(self.master,text="1",variable= self.bvar,value=1,command=self.rbselect).pack()
    rb2=Radiobutton(self.master,text="0",variable=self.bvar,value=0,command=self.rbselect).pack()

def rbselect(self):
    print(self.bvar)

def run(self):
    self.master.mainloop()

app=c()
app.run()

如果通过“不更改其分配的变量”来表示“无论选择哪个变量,它总是会打印PY_VAR0 ”,是的,这是正常现象-打印IntVar不会给您任何有关其包含的值的信息。 尝试使用get代替。

def rbselect(self):
    print(self.bvar.get())

现在选择“ 1”单选按钮将导致“ 1”被打印,并且同样被打印为“ 0”。

需要使用.get()比较IntVar实例:

from tkinter import *
import tkinter

class c:
    def __init__(self):
        self.master=tkinter.Tk()
        self.b=IntVar() 
        rb1=Radiobutton(self.master,text="1",variable= self.b,value=1,command=self.rbselect).pack()
        rb2=Radiobutton(self.master,text="0",variable= self.b,value=0,command=self.rbselect).pack()

    def rbselect(self):
        print(self.b.get())

    def run(self):
        self.master.mainloop()

app=c()
app.run()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM