Python GUI编程:Tkinter模块Radio和Check控件
1. Radio按钮
有的时候我们需要在多个选项中选择一项,那么我们就可以使用到Tkinter模块中的Radiobutton方法来创建相关按钮,创建的选项效果图如下:
它的语法格式同前面的方法类似,它的相关可选项也相似,下面我们就直接通过例子来学习这个控件,代码如下:
1234567891011121314 | import tkinter
win
= tkinter.Tk()
win.title(
"Python教程"
)
#给窗口取一个标题
win.minsize(
366
,
50
)
# 定义一个最小尺寸
def get_data():
print
(
'选择的为第%d项'
%
x.get())
x
= tkinter.IntVar()
# 在这里我们把一组单选框绑定为同一个变量
radio_one
= tkinter.Radiobutton(win, text
=
"选项1"
, value
=
1
, variable
=
x,
command
=
get_data)
radio_one.pack()
radio_two
= tkinter.Radiobutton(win, text
=
"选项2"
, value
=
2
, variable
=
x,
command
=
get_data)
radio_two.pack()
win.mainloop() |
运行结果为:
我们每点击一个选项,就选择了该按钮,然后在控制台输出了选择的第几项,需要注意的是我们在定义的时候给两个Radiobutton使用了同一变量,通过这个我们才可以使得两个按钮公用的为一个信息,当然我们还可以通过具体函数去实现更多的功能,在这里先对Radiobutton做一个简单的了解。
2. Check控件
我们在做选择题的时候会遇到多选题,上面我们学习的Radio按钮即给我们提供了单选的功能,那么如果我们要使用多选操作的时候就要通过Check按钮来实现。
Check按钮的显示效果如图所示:
Check按钮使用的时候tkinter模块中的Checkbutton方法来创建相关控件,下面我们也直接通过例子来学习这个按钮,代码如下:
1234567891011121314151617181920212223242526272829 | import tkinter
win
= tkinter.Tk()
win.title(
"Python教程"
)
win.minsize(
200
,
200
)
def get_data():
my_str
= ''
if x.get()
=
= True
:
my_str
+
= "已选择选项1n"
if y.get()
=
= True
:
my_str
+
= "已选择选项2n"
if z.get()
=
= True
:
my_str
+
= "已选择选项3n"
text.delete(
0.0
, tkinter.END)
# 清除text文板框中的内容
text.insert(tkinter.INSERT, my_str)
#把上面的信息插入到文本框中
x
= tkinter.BooleanVar()
ckbutton_one
= tkinter.Checkbutton(win, text
=
"选项1"
, variable
=
x,
command
=
get_data)
ckbutton_one.pack()
y
= tkinter.BooleanVar()
ckbutton_two
= tkinter.Checkbutton(win, text
=
"选项2"
, variable
=
y,
command
=
get_data)
ckbutton_two.pack()
z
= tkinter.BooleanVar()
ckbutton_three
= tkinter.Checkbutton(win, text
=
"选项3"
, variable
=
z,
command
=
get_data)
ckbutton_three.pack()
text
= tkinter.Text(win, width
=
50
, height
=
5
)
text.pack()
win.mainloop() |
运行结果为:
在这个例子中,我们对三个按钮分别绑定了三个不同的变量,我们可以在点击不同按钮的时候给出相应的信息,在这里我们给按钮定义了一个布尔值的选取,当我们选择了该选项的时候,该选项的布尔值为True,然后我们就可以输出选项为True时的相关信息,如果未选中时我们也可以给出相应的信息。
3. 总结
这两个按钮在我们完善界面相关功能的时候能够提供一定的帮助,大家可以尝试着练习使用这个模块中的功能,甚至有兴趣的可以通过本章的内容出一份单选加多选的兴趣答卷或者是相关方面的内容,学习的过程也是兴趣挖掘的过程,大家一定要在学习之后去把我们学过的知识串联到一起.