首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python,Tkinter,Checkbutton:有没有办法检查开/关的值?

Python,Tkinter,Checkbutton:有没有办法检查开/关的值?
EN

Stack Overflow用户
提问于 2012-07-10 05:49:10
回答 1查看 19.3K关注 0票数 0

我正在尝试做的是设置if语句来检查checkbutton的值是开还是关

我的想法是这样的

代码语言:javascript
运行
复制
from Tkinter import *

def checkbutton_value():
    #If statement here
    #is their something like 

    #if checkbox_1.onvalue == True:
    #   checkbox_2.deselect()

    #if checkbox_1.varible == checkbox_1.onvalue:
    #   checkbox_2.deselect()

    print 'Need Help on lines 7-8 or 10-11'

root=Tk()

checkbox_1 = Checkbutton(root, text='1   ', command=checkbutton_value).pack()
checkbox_2 = Checkbutton(root, text='2   ', command=checkbutton_value).pack()

checkbox_3 = Checkbutton(root, text='QUIT', command=quit).pack()

root.mainloop()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-10 05:57:32

首先,不会在一行上创建和打包小部件。pack返回None,所以在上面的代码中,checkbox_1None。而是:

代码语言:javascript
运行
复制
checkbox_1 = Checkbutton(root, text='1   ', command=checkbutton_value)
checkbox_1.pack()

现在,要获取复选按钮的值:

代码语言:javascript
运行
复制
def checkbutton_value1():
    if(var1.get()):
       var2.set(0)

def checkbutton_value2():
    if(var2.get()):
       var1.set(0)

var1=IntVar()
checkbox_1 = Checkbutton(root, text='1   ', variable=var1, command=checkbutton_value1)
checkbox_1.pack()
var2=IntVar()
checkbox_2 = Checkbutton(root, text='2   ', variable=var2, command=checkbutton_value2)
checkbox_2.pack()

通常需要为以下内容创建自己的checkbutton类:

代码语言:javascript
运行
复制
class MyCheckButton(CheckButton):
    def __init__(self,*args,**kwargs):
        self.var=kwargs.get('variable',IntVar())
        kwargs['variable']=self.var
        Checkbutton.__init__(self,*args,**kwargs)

    def is_checked(self):
        return self.var.get()
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11403723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档