python窗体tkinter的简单使用教程

现在随着科技发展,计算机语言也越发丰富,找一个写代码简单的文章越来越难,也越来越少的大佬愿意去写简单的教程,现在我就简单的写一个关于tkinter的简单制作。

一、了解tkinter的常用组件

1.组件及功能 

Button窗体按钮
Canvas画布,用于绘制直线、椭圆、多边形等各种图像
Checkbutton复选框
Entry单行文本框
Frame框架,可作为其他组件的容器,常用来对组件进行分组
Label标签,常用来显示单行文本
Listbox列表框
Menu菜单
Message多行文本框
Radiobutton单选按钮,同一组中的单选按钮任何时刻只能有一个处于选中状态
Scrollbar滚动条
Toplevel常用来创建新的窗

 2.本篇文章讲解Button、Entry、Label、Message的布局教程,当然这这是我的个人布局方式,如果有更好的,可以不使用我的布局方式。

1.引入tkinter 

import tkinter #先引入tkinter

 2.一般我们窗体制作的方式都是以下流程

     1.创建空白面板(设置面板的宽和高及标题)

root=tkinter.Tk() #创建窗体root,root是一个人为随机定义的对象名
root.geometry('500x200+600+300') #设置root窗体宽高和显示在电脑桌面的位置,
                                 #500x200对应的是宽500个像素,高200个像素,
                                 #位于桌面x轴的600个像素,y轴的300个像素
root.title('窗口标题') #设置root窗体的标题

     2.创建组件(将组件放入指定窗体,设置组件属性比如对齐方式、初始值、字体大小)

     3.设置组件在窗体的位置及宽高

lbEn=tkinter.Label(root,text='标签1:') #括号的root表示将标签放入root窗体中,text为标签内容
lbEn.place(x=150,y=20,height=30,width=60) #place是设置此标签所在窗体的x轴和y轴上的位置以及标签的宽高

EntryEn=tkinter.Entry(root) #设置文本框,因为文本框一般是用来键盘输入内容,所以没有text
EntryEn.place(x=200,y=25,height=25,width=150) #place同上

lbCh=tkinter.Label(root,text='标签2:')
lbCh.place(x=150,y=50,height=30,width=60)

e=tkinter.StringVar() #定义一个tkinter变量,这个变量可以改变组件的相关内容
MessCh=tkinter.Message(root,relief=tkinter.SUNKEN,textvariable=e) #设置多行文本框
#多行文本框默认没有边框显示,因此需要设置relief的值
#这里我设置了textvariable的意思是Message的内容随e变量的变化
MessCh.place(x=200,y=60,height=80,width=150)

#e变量要使用set来获取内容显示在Message中
#比如e.set('你好'),那么Message上就显示‘你好’
button=tkinter.Button(root,text='按钮',command=fun) #按钮组件可以看作人控制的循环体,
#因为按钮中有command属性,command一般用来调用函数
button.place(x=230,y=150,height=30,width=60)
root.mainloop() 

 # mainloop()是窗体必调用的,它的功能是让窗体一直显示,因此为什么有些同学写窗体时运行后窗体显示一下就消失了,原因就是因为没有mainloop()

3.下面是一个完整代码例子:

import tkinter

root=tkinter.Tk()
root.geometry('500x200+600+300')
root.title('窗口标题')

lbEn=tkinter.Label(root,text='标签1:')
lbEn.place(x=150,y=20,height=30,width=60)

EntryEn=tkinter.Entry(root)
EntryEn.place(x=200,y=25,height=25,width=150)

lbCh=tkinter.Label(root,text='标签2:')
lbCh.place(x=150,y=50,height=30,width=60)

e=tkinter.StringVar()
MessCh=tkinter.Message(root,relief=tkinter.SUNKEN,textvariable=e)
MessCh.place(x=200,y=60,height=80,width=150)

def fun():
    e.set(EntryEn.get()) #获取单行文本框内容并将内容显示在多行文本框上

button=tkinter.Button(root,text='按钮',command=fun) #command调用上面的fun函数
button.place(x=230,y=150,height=30,width=60)
root.mainloop()

4.视频演示:

5.总结:

  1. 首先创建空白窗体tkinter.Tk()
  2. 创建组件并设置位置及属性,一些属性是很多组件都可以设置的
  3. 特别的通常Label可设置text标签内容,Button可设置command调用函数,relief设置边框样式,可定义变量tkinter.StringVar()来改变组件的显示内容
  4. 注意写完整体代码后要在最后面调用mainloop()

版权声明:本文为m0_59799878原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。