tkinter中checkbutton多选框控件和variable用法(六)

checkbutton控件

简单的实现多选:

 1 import tkinter
 2 
 3 wuya = tkinter.Tk()
 4 wuya.title("wuya")
 5 wuya.geometry("300x200+10+20")
 6 
 7 # 创建四个多选框
 8 cb1 = tkinter.Checkbutton(wuya,text='周杰伦')
 9 cb1.pack()
10 cb2 = tkinter.Checkbutton(wuya,text='周星驰')
11 cb2.pack()
12 cb3 = tkinter.Checkbutton(wuya,text='爱舞涯')
13 cb3.pack()
14 cb4 = tkinter.Checkbutton(wuya,text='蔡依林')
15 cb4.pack()
16 
17 wuya.mainloop()

tkinter中如果不设置对齐方式,默认是居中的,如果要设置可以在pack()中加参数:cb1.pack(side='left')

结果为:

结合之前学的加lable和打印功能:

 1 import tkinter
 2 
 3 wuya = tkinter.Tk()
 4 wuya.title("wuya")
 5 wuya.geometry("300x200+10+20")
 6 
 7 # 加标签
 8 lb = tkinter.Label(wuya,text='请选择自己喜欢的名星(多选):',fg='blue')
 9 lb.pack()
10 
11 
12 
13 # 定义执行选择框后的函数
14 def func():
15     msg = ''
16     if h1.get() == True: # 因为h1创建时是bool的运算,选中为真,不选为假
17         msg += "周杰伦
"
18     if h2.get() == True:
19         msg += "周星驰
"
20     if h3.get() == True:
21         msg += "爱舞涯
"
22     if h4.get() == True:
23         msg += "蔡依林
"
24 
25     text.delete(0.0,tkinter.END)   # 清除text中的内容,0.0表示从第一行第一个字开始清除,end表示清除到最后结束
26     text.insert('insert',msg)
27 
28 # 创建四个多选框
29 h1 = tkinter.BooleanVar() # 设置选择框对象
30 cb1 = tkinter.Checkbutton(wuya,text='周杰伦',variable=h1,command=func)
31 cb1.pack()
32 
33 h2 = tkinter.BooleanVar()
34 cb2 = tkinter.Checkbutton(wuya,text='周星驰',variable=h2,command=func)
35 cb2.pack()
36 
37 h3 = tkinter.BooleanVar()
38 cb3 = tkinter.Checkbutton(wuya,text='爱舞涯',variable=h3,command=func)
39 cb3.pack()
40 
41 h4 = tkinter.BooleanVar()
42 cb4 = tkinter.Checkbutton(wuya,text='蔡依林',variable=h4,command=func)
43 cb4.pack()
44 # side='left'表示左对齐
45 
46 # 创建一个文本框
47 text = tkinter.Text(wuya,width=30,height=10)
48 text.pack()
49 
50 
51 wuya.mainloop()

结果为:

 

variable用法

variable主要用于传参和绑定变量。主要参数有:variabletextvariableonvalueoffvaluevalue

他是双向绑定的,也就是说如果该变量发生变化,随之绑定的控件也会变化,与他保持一致

常用的variable变量有:

  x = StringVar()  保存一个 string 类型变量, 默认值为""

  x = IntVar()  保存一个整型变量, 默认值为0

  x = DoubleVar()  保存一个浮点型变量,默认值为0.0

  x = BooleanVar()  保存一个布尔型变量,返回值为0表示假,1表示真

对他的操作主要有两个:

  设置他的值,用set()方法,即:x.set()

  得到他的值,用get()方法,即:x.get()

原文地址:https://www.cnblogs.com/tynam/p/8778667.html