-
Python GUI编程:界面设计(tkinter)
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。
作者:xubingtao
来源:分享录xubingtao
Python爬虫、数据分析、网站开发等案例教程视频免费在线观看
https://www.xin3721.com/eschool/pythonxin3721/
前言
此篇文章介绍的是有关GUI(Graphical User Interface)图形用户界面的设计。使用到的库是tkinter,tkinter库在python3版本开始就是自带的库,IDLE就是通过这个库设计的。再过几天会更新其他内容(输入框、滚动条、分页、多行文本、下拉框)。
相关介绍
Python GUI编程(Tkinter)-菜鸟教程
Python Tkinter Wiki
Tk图形用户界面(GUI)
一、函数方法介绍
下面的函数方法是基于import tkinter和from tkinter import ttk的导入来的。如果你使用的是imort tkinter as tk这种的,将下面的tkinter替换成你所定义的别名就行。
函数方法中有些方法只是简单介绍,详细的内容会在之后的步骤提及。
组件的放置和删除方法是通用的
二、导入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]. 创建
和窗口不同,其他组件创建时不会直接将组件放置到窗口中。
button = tkinter.Button(window,text='退出',command=lambda:window.destroy(),width=3,height=2)
[2]. 放置按钮(绝对位置)
button.place(x=40,y=90,anchor='nw')
[3]. 放置按钮(相对位置)
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]. 创建
如果传入的颜色或者是文本内容是需要输入获取时,可以将等号后面的内容替换成对应的字符串变量
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) #相对位置,放置文本