前言
此篇文章介绍的是有关GUI(Graphical User Interface)图形用户界面的设计。
使用到的库是tkinter,tkinter库在python3版本开始就是自带的库,IDLE就是通过这个库设计的。
文章的内容是经过自己网上整理总结得到的,并非照搬照套,主要介绍自己清楚的内容
再过几天会更新其他内容(输入框、滚动条、分页、多行文本、下拉框)。
相关介绍
一、函数方法介绍
下面的函数方法是基于import tkinter和from tkinter import ttk的导入来的。
如果你是使用的是imort tkinter as tk这种的,将下面的tkinter替换成你所定义的别名就行。
函数方法中有些方法只是简单介绍,详细的内容会在之后的步骤提及。
组件的放置和删除方法是通用的
函数方法介绍window = tkinter.Tk()创建一个窗口,执行后就会跳出一个新界面
window.title("标题")为实例对象名为window的窗口设置窗口标题
window.geometry("宽度x高度")设置实例对象名为window窗口的宽和高,中间的是英文单词x,不能省略。
window.destroy()删除实例对象名为window的窗口
window.mainloop()消息循环,不是很清楚具体的作用,在不使用此函数的情况下也能正常运行GUI界面。
window.configure(background='Blue')设置窗口的背景色,background参数用于设置背景颜色,颜色需要为英文字母,对英文大小写没有限制。(估计是在内部方法有专门的转换代码)
button = tkinter.Button(window,text='退出',command=lambda:out(window),width=2,height=5)在实例对象名为window的窗口中创建一个按钮,text属性可设置按钮的显示文本,command可设置按下按钮后执行的函数(如果函数不需要传参时不需要lambda表达式),width为宽,height为高
button.place(x=0,y=70,anchor='center')以绝对位置放置按钮,如果x和y都为0时,按钮会被放置在窗口的左上角,如果你将窗口放大至全屏时,这个按钮不会根据窗口大小自适应调整位置。
button.place(relx=0.5,rely=0.5,anchor='center')以相对位置放置按钮,如果relx和rely都为0时,按钮会被放置在窗口的左上角,以相对位置放置按钮时会根据窗口的大小自动调制按钮的位置。
text = tkinter.Label(window,bd=4,fg='red',bg='white',text='内容111111111111111')在window对象的窗口中创建一个文本,bd为文本框的大小(并非文字的大小),fg为字体颜色,bg为背景色,text为内容
二、导入tkinter库
通常导入的话使用下面第一行代码进行导入就行
import tkinter
但对于某些功能时,需要导入一个ttk模块
import tkinter
from tkinter import ttk
三、窗口
步骤[5]的删除窗口对其他的组件是通用的,之后不再赘述
[1]. 创建
创建窗口的方法比较简单,执行tkinter.Tk()即可。
因为我们需要对这个窗口进行操作,所以得用一个实例对象来保存这个窗口。
import tkinter
window = tkinter.Tk()
[2]. 设置标题
上一个步骤执行完毕后,默认会给窗口设置一个名为tk的标题。
如果我们需要设置自定义的标题时,就得用到title方法。
import tkinter
window = tkinter.Tk()
window.title('标题')
[3]. 设置大小
在设置大小时,使用geometry方法,参数里的x是英文字母,大小写不会有影响。
对于200x300的大小,第一个参数200是宽度,第二个参数300是高度。
如果没有设置窗口大小时,默认大小为200x200
import tkinter
window = tkinter.Tk()
window.title('标题')
window.geometry('200x300')
[4]. 设置背景色
使用configure方法设置background参数的值,来改变背景色。
改变背景色时传入的参数大小写皆可
对于其他组件如文本、按钮等,同样能对组件进行设置背景色。
只需要将实例对象名window变更成组件的实例对象名即可。
import tkinter
window = tkinter.Tk()
window.title('标题')
window.geometry('200x300')
window.configure(background='BlUe')
[5]. 删除窗口
使用
import tkinter
window = tkinter.Tk()
window.title('标题')
window.geometry('200x300')
window.configure(background='BlUe')
window.destroy()
四、按钮
步骤[2]和步骤[3]放置按钮的方法对其他组件是通用的。
[1]. 创建
和窗口不同,其他组件创建时不会直接将组件放置到窗口中。
参数介绍window窗口的实例对象
text按钮的文本内容
command点击按钮后执行的函数命令
width按钮宽度,单位为像素
height按钮高度,单位为像素
button = tkinter.Button(window,text='退出',command=lambda:window.destroy(),width=3,height=2)
[2]. 放置按钮(绝对位置)
参数介绍x横轴坐标,x=0时将会把按钮放置在窗口最左侧
y纵轴坐标,y=0时将会把按钮放置在窗口最上方
anchor锚点,锚点有四种类型(nw,ne,sw,se),不填此参数时锚点默认为nw。nw为按钮框的左上角;ne为按钮框的右上角;sw为按钮框的左下角;se为按钮框的右下角。前两个参数设置的坐标就是锚点的坐标。
button.place(x=40,y=90,anchor='nw')
[3]. 放置按钮(相对位置)
参数介绍relx横轴坐标,relx=0时将会把按钮放置在窗口最左侧,relx=1时将会把按钮放置在窗口最右侧
rely纵轴坐标,rely=0时将会把按钮放置在窗口最上方,rely=1时将会把按钮放置在窗口最下方
anchor锚点,锚点有四种类型(nw,ne,sw,se),不填此参数时锚点默认为nw。nw为按钮框的左上角;ne为按钮框的右上角;sw为按钮框的左下角;se为按钮框的右下角。前两个参数设置的坐标就是锚点的坐标。
button.place(relx=1,rely=1,anchor='se')#相对位置,放置按钮
[4]. 代码
如果要将按钮放置在窗口的右下角,锚点可以设置为se,然后再将这个锚点的坐标设置成窗口的右下角即可。
横轴和纵轴坐标是必须给定的,而锚点参数anchor可以省略不填,但对于特殊的应用场景就得使用到anchor参数来设置锚点了。
import tkinter
window = tkinter.Tk()
window.title('标题')
window.geometry('200x300')
button = tkinter.Button(window,text='退出',command=lambda:window.destroy(),width=5,height=2)
##button.place(x=40,y=90,anchor='nw') #绝对位置,放置按钮
button.place(relx=1,rely=1,anchor='se')#相对位置,放置按钮
五、单行文本
[1]. 创建
如果传入的颜色或者是文本内容是需要输入获取时,可以将等号后面的内容替换成对应的字符串变量
参数介绍window窗口实例对象
bd文本框的大小(并非文字的大小)
fg字体颜色
bg背景色,传入的参数为颜色的英文单词
text显示的内容信息
text = tkinter.Label(window,bd=4,fg='red',bg='white',text='内容111111111111111')
[2]. 代码
import tkinter
window = tkinter.Tk()
window.title('标题')
window.geometry('200x200')
text = tkinter.Label(window,bd=4,fg='red',bg='white',text='内容111111111111111')
##text.place(x=20,y=50) #绝对位置,放置文本
text.place(relx=0.2,rely=0.2) #相对位置,放置文本
原文链接:/smallfox233/article/details/112093464