您的位置 首页 java

使用python的tkinter制作多选框,单选框,拖动控件,输入框

要求:

1、制作多选框checkbutton,打印喜欢的编程语言。

2、制作单元框radiobutton,打印性别。

3、制作横向拖动控件scale,打印年龄。

4、制作输入框entry,打印输入内容。

注意: 每行都有注释,注释内容要么注释本行代码,要么注释下行代码。

代码如下:

 import tkinter as tk  #导入tkinter库,并设置简称为 tk 
 root =tk.Tk()   #建立窗体对象并赋值给root
root.geometry('600x400')   #设置root窗体的大小尺寸
root.title('复选框')   #设置root窗体的标题是复选框
font_16=('微软雅黑',16)  #定义变量font_16,设置为16号微软雅黑
#定义标签l1,置于root窗体中,文本是1、你喜欢的编程语言是:,字体是16号 微软 雅黑字体
l1=tk.Label(root,text='1、你喜欢的编程语言是:',font=font_16)
l1.grid(row=1,column=1)  #将l1标签布局在窗体中的第一行和第一列
#定义标签l2,置于root窗体中,文本是空,字体是16号微软雅黑字体
l2=tk.Label(root,text='',font=font_16)
# 将l2标签布局在窗体中的第一行和第2列
l2.grid(row=1,column=2)
var1=tk.IntVar()  #定义整形变量var1,用来接收第一个选择值
var2=tk.IntVar()  #定义整形变量var2,用来接收第2个选择值
var3=tk.IntVar()  #定义整形变量var3,用来接收第3个选择值
var4=tk.IntVar()  #定义整形变量var4,用来接收第4个选择值
#定义打印选择项函数print_selection
def print_selection():
    global str   #定义 全局变量 str
    if var1.get()==0:  #假设var1的取值等于0
        value1=''  #则将value1的值设为空
    elif var1.get()==1:   #假设var1的取值等于1
        value1=' python '   #则将value1的值设为python
    if var2.get()==0:  #假设var2的取值等于0
        value2=''    #则将value2的值设为空
    elif var2.get()==1:   #假设var2的取值等于1
        value2='java'  #则将value2的值设为 java 
    if var3.get()==0:  #假设var3的取值等于0
        value3=''  #则将value3的值设为空
    elif var3.get()==1:  #假设var3的取值等于1
        value3='C#'  #则将value3的值设为C#
    if var4.get()==0:  #假设var4的取值等于0
        value4=''   #则将value4的值设为空
    elif var4.get()==1:  #假设var4的取值等于1
        value4='go'  #则将value4的值设为go
    if var1.get()+var2.get()+var3.get()+var4.get()==0:  #假如这四个选择值的求和等于0
        str=''  #则将空赋值给str变量
    else:   #否则
        str=value1+' '+value2+' '+value3+' '+value4   #将四个选择的字符串进行串联求和赋值给str
    l2.config(text=str)  #最后将l2标签的文本设置为str
#定义c1变量为复选框按钮,置于 窗体 root中,文本是python,可变值设置为var1,当var1被选择时, var 1的值为1,没被选择时,var1的值为0,不管是否被选中,都执行print_selection方法
c1=tk.Checkbutton(root,text='python',variable=var1,onvalue=1,offvalue=0,command=print_selection)
c1.grid(row=2,column=1)  #将c1复选框标签布局在窗体的第2行,第1列
#定义c2变量为复选框按钮,置于窗体root中,文本是java,可变值设置为var2,当var2被选择时,var2的值为1,没被选择时,var2的值为0,不管是否被选中,都执行print_selection方法
c2=tk.Checkbutton(root,text='java',variable=var2,onvalue=1,offvalue=0,command=print_selection)
c2.grid(row=3,column=1)  #将c2复选框标签布局在窗体的第3行,第1列
#定义c3变量为复选框按钮,置于窗体root中,文本是c#,可变值设置为var3,当var3被选择时,var3的值为1,没被选择时,var3的值为0,不管是否被选中,都执行print_selection方法
c3=tk.Checkbutton(root,text='c#',variable=var3,onvalue=1,offvalue=0,command=print_selection)
c3.grid(row=4,column=1)  #将c3复选框标签布局在窗体的第4行,第1列
#定义c4变量为复选框按钮,置于窗体root中,文本是go,可变值设置为var4,当var4被选择时,var4的值为1,没被选择时,var4的值为0,不管是否被选中,都执行print_selection方法
c4=tk.Checkbutton(root,text='go',variable=var4,onvalue=1,offvalue=0,command=print_selection)
c4.grid(row=5,column=1)  #将c4复选框标签布局在窗体的第5行,第1列
#定义var5变量为字符串变量
var5=tk.StringVar()
#定义l3标签,置于窗体中,文本是2、你的性别是:,字体是16号微软雅黑
l3=tk.Label(root,text='2、你的性别是:',font=font_16)
l3.grid(row=6,column=1)  #将l3标签置于窗体中的第6行第1列
l4=tk.Label(root,text='',font=font_16)  #定义l4标签,置于窗体中,文本是空,字体是16号微软雅黑
l4.grid(row=6,column=2)  #将l4标签置于窗体中的第6行第2列
#定义print_selection2函数,用来设置当性别被选择时,设置l4标签的文本值
def print_selection2():
    global v5  #定义全局变量v5
    v5=var5.get()  #将被选择的性别值var的取值赋值给v5
    l4.config(text=v5)    #设置l4标签的文本值为v5
#定义r1变量为单选框按钮,置于窗体root中,文本是男,可变值设置为var5,当被选择时,执行print_selection2方法
r1=tk.Radiobutton(root,text='男',variable=var5,value='男',command=print_selection2)
r1.grid(row=7,column=1,padx=2)  ##将r1单选框按钮置于窗体中的第7行第1列,左边距为2
#定义r2变量为单选框按钮,置于窗体root中,文本是女,可变值设置为var5,当被选择时,执行print_selection2方法
r2=tk.Radiobutton(root,text='女',variable=var5,value='女',command=print_selection2)
r2.grid(row=7,column=2,padx=2)  #将r2单选框按钮置于窗体中的第7行第2列,左边距为2
#定义r3变量为单选框按钮,置于窗体root中,文本是中性人,可变值设置为var5,当被选择时,执行print_selection2方法
r3=tk.Radiobutton(root,text='中性人',variable=var5,value='中性人',command=print_selection2)
r3.grid(row=7,column=3,padx=2)  #将r3单选框按钮置于窗体中的第7行第3列,左边距为2
#定义标签l5,置于窗体root中,文本是你的年龄是:,字体是16号微软雅黑
l5=tk.Label(root,text='3、你的年龄是:',font=font_16)
l5.grid(row=8,column=1)  #将l5标签置于窗体中的第8行第1列
#定义标签l6,置于窗体root中,文本是你的年龄是空,字体是16号微软雅黑
l6=tk.Label(root,text='',font=font_16)
l6.grid(row=8,column=2)  #将l6标签置于窗体中的第8行第2列
#定义打印年龄函数print_age,接收的变量是v
def print_age(v):
    global age  #定义全局变量age
    age=v  #将参数v赋值给age
    l6.config(text=age)    #将l6标签的文本设置为age
#定义拖动控件scale1,置于窗体root中,标签是年龄,从0到100,展示拖动值,每10个单位设置一个刻度值,横向展示,并设置宽度为500,当被拖动时执行print_age方法
scale1=tk.Scale(root,label='年龄',from_=0,to=100,showvalue=1,tickinterval=10,orient=tk.HORIZONTAL,
                length=500,command=print_age)
scale1.grid(row=9,column=1)  #将拖动控件scale1布局在第9行第1列
#定义标签l7,置于窗体root中,文本是你的年龄是4、请输入你的留言:,字体是16号微软雅黑
l7=tk.Label(root,text='4、请输入你的留言:',font=font_16)
l7.grid(row=10,column=1)  #将l7标签置于窗体中的第10行第1列
e2=tk.StringVar()   #定义字符串变量e2
e1=tk.Entry(root,textvariable=e2)  #定义输入框变量e1,置于窗体root中,可变值设置为e2
e1.grid(row=11,column=1)  #将e1布局置于11行1列
def submit_button():  #定义提交按钮函数
    print('1、你喜欢的编程语言是:{}'.format(str))  #打印1、你喜欢的编程语言是:
    print('2、你的性别是:{}'.format(v5))  #打印2、你的性别是:
    print('3、你的年龄是:{}岁'.format(age))  #打印3、你的年龄是:岁:
    print('4、请输入你的留言:{}'.format(e2.get()))   #打印4、请输入你的留言:
#定义按钮submit_buttom,置于窗体root中,文本是提交,当被点击时执行提交按钮函数submit_button
submit_button=tk.Button(root,text='提交',command=submit_button)
submit_button.grid(row=12,column=1)  #将提交按钮置于第12行第1列
root.mainloop()  #设置root窗体持续运行  

运行结果如下图所示:

文章来源:智云一二三科技

文章标题:使用python的tkinter制作多选框,单选框,拖动控件,输入框

文章地址:https://www.zhihuclub.com/191255.shtml

关于作者: 智云科技

热门文章

评论已关闭

5条评论

  1. Kaplan Meier estimates of A time to first skeletal related event SRE and B time to first and subsequent SREs multiple event analysis, which is represented as the cumulative mean number of SREs over time

  2. Adiponectin, NOx and cGMP levels were significantly increased after 6 months compared with baseline or the Hormone Replacement Therapy HRT group LEUKERAN COMPRESSION- COATED TABLET 2MG THE WELLCOME FOUNDATION LTD

  3. The main tool for diagnosing coronary artery disease, however, is cardiac catheterization and angiography

  4. Sorry, couldn t resist However, there have been several studies proving it could work for treating gynecomastia

网站地图