tkinter中checkbutton的使用 15

#!/usr/bin/envpython#-*-coding:UTF-8-*-importtkinterastkimporttkinter.fontastkfontcla... #!/usr/bin/env python
#-*- coding:UTF-8 -*-
import tkinter as tk
import tkinter.font as tkfont
class Window:
def __init__(self):
self.root=tk.Tk()
check1 = int()
c1=tk.Checkbutton(self.root, text = "选择", variable =check1,
onvalue = 1, offvalue = 0, height=5, width = 20)
c1.pack(side="bottom")
self.btn1=tk.Button(self.root,text='测试check是否有效',
command=lambda:self.getcheck(check1))
self.btn1.pack(side="top")
self.root.mainloop()
def getcheck(self,check1):
print(check1)
win=Window()
这样写好像不对,出来的数值总是0,请问怎么得到checkbutton的状态
展开
 我来答
山水阿锐
推荐于2017-05-27 · TA获得超过34.3万个赞
知道顶级答主
回答量:23.7万
采纳率:91%
帮助的人:3.2亿
展开全部
您好,是这样的:
#Tkinter教程之Checkbutton篇
#Checkbutton又称为多选按钮,可以表示两种状态:On和Off,可以设置回调函数,每当点击此按钮时回调函数被调用
'''1.一个简单的Checkbutton例子'''
#创建一个Checkbutton,显示文本为"python"
from Tkinter import *
root = Tk()
Checkbutton(root,text = 'python').pack()
root.mainloop()

'''2.设置Checkbutton的回调函数'''
from Tkinter import *
def callCheckbutton():
print 'you check this button'
root = Tk()
Checkbutton(root,text = 'check python',command = callCheckbutton).pack()
root.mainloop()
#不管Checkbutton的状态如何,此回调函数都会被调用

'''3.通过回调函数改变Checkbutton的显示文本text的值'''
from Tkinter import *
def callCheckbutton():
#改变v的值,即改变Checkbutton的显示值
v.set('check Tkinter')

root = Tk()
v = StringVar()
v.set('check python')
#绑定v到Checkbutton的属性textvariable
Checkbutton(root,text = 'check python',textvariable = v,command = callCheckbutton).pack()

root.mainloop()

'''4.上述的textvariable使用方法与Button的用法完全相同,使用此例是为了区别Checkbutton的另外的一个属性variable,此属性与textvariable不同,它是与这个控件本身绑定,Checkbutton自己有值:On和Off值,缺省状态On为1,Off为0,如:'''
#显示Checkbutton的值
from Tkinter import *
root = Tk()
#将一整数与Checkbutton的值绑定,每次点击Checkbutton,将打印出当前的值
v = IntVar()
def callCheckbutton():
print v.get()
Checkbutton(root,
variable = v,
text = 'checkbutton value',
command = callCheckbutton).pack()
root.mainloop()

'''5.Checkbutton的值不仅仅是1或0,可以是其他类型的数值,可以通过onvalue和offvalue属性设置Checkbutton的状态值,如下代码将On设置为'python',Off值设置为'Tkinter',程序的打印值将不再是0或1,而是'Tkinter’或‘python’'''
from Tkinter import *
root = Tk()
#将一字符串与Checkbutton的值绑定,每次点击Checkbutton,将打印出当前的值
v = StringVar()
def callCheckbutton():
print v.get()
Checkbutton(root,
variable = v,
text = 'checkbutton value',
onvalue = 'python', #设置On的值
offvalue = 'tkinter
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式