tkinter的简介
GUI英文全称是Graphical User Interface,中文为图形用户接口。早期人与计能的之间的沟通是文字形式的沟通,例如,早期的DOS操作系统、Windows 的命令机分窗口、Linux 系统,等等。
tkinter是一个开放源码的图形接口开发工具,原来是用TCL(Tool Commana Language,工具命令语言)编写的GUI函数库,最初发展是从1991年开始,具有路平台的特性,可以在Linux、Windows、 Mac OS等操作系统上执行。这个tkinter工具提供许多图形接口,例如,标签(Label)、菜单(Menu)、按钮(Button)等。
目前,这个tkinter工具已经移植到Python语言,属于Python语言内建的模块,在Python 2版本中该模块名称是tkinter, 在Python 3版本中该模块被称为tkinter 模块。
在安装Python的时候,就同时安装了这个模块,使用前需导入
from tkinter import *
查看tkinter版本
import tkinter
print(tkinter.TkVersion)
运行结果:
8.6
一般8.5之后的版本功能比较齐全
j
建立窗口
import tkinter
"""创建主窗口"""
root = tkinter.Tk()
"""设置窗口的标题"""
root.title("MyWindows")
"""放在程序最后一行,使程序继续执行"""
root.mainloop()
运行结果:
当然,窗口是可以随便拖拽的,可以放大或者缩小,当我们关闭这个窗口时,程序才会结束
如果不设置标题,默认为tk
注:在GUI程序设计中,有时候也将上述所建立的窗口也成为容器
窗口属性的设置
| 方法 | 说明 |
|---|---|
| title() | 可以设置窗口的标题 |
| geometry(“widthxheight+x+y”) | 设置窗口宽 width 与高 height, 单位是像素,x与y是窗口的位置 |
| maxsiza(width, height) | 拖拽时可以设置窗口最大的宽与高 |
| minsiza(width, height) | 拖拽时可以设置窗口最小的宽与高 |
| configure(bg=“color”) | 设置窗口的背景颜色 |
| resizable(True, True) | 可设置是否更改窗口大小, 第一个参数是宽,第二个参数是高,如果要固定窗口,宽与高可以使用resizable(0, 0) |
| state(“zoomed”) | 最大化窗口 |
| iconify() | 最小化窗口 |
| iconbitmap(“xx.ico”) | 更改默认窗口图标 |
例子,设置窗口标题为MyWindow,同时设置宽为360,高为200
import tkinter
# 创建主窗口
root = tkinter.Tk()
# 设置窗口的标题
root.title("MyWindows")
root.geometry("360x200")
root.configure(bg="yellow")
# 放在程序最后一行,使程序继续执行
root.mainloop()
运行结果:
窗口位置的设置
geometry( )方法除了可以设置窗口的大小,也可以设置窗口的位置,此时它的语
法格式如下。
geometry (widthxheight+x+y)
上述widthxheight已说明是窗口的宽和高,width 与height用x分隔。“+x”表示x是窗口左边距离屏幕左边的距离,如果是“-x”,则表示x是窗口右边距离屏幕右边的距离。“+y"表示y是窗口上边距离屏幕上边的距离,如果是“-y”则表示y是窗口下边距离屏幕下边的距离。
列子:建立一个360x200的窗口,此窗口左上角坐标是(400, 200)
import tkinter
# 创建主窗口
root = tkinter.Tk()
# 设置窗口的标题
root.title("MyWindows")
root.geometry("360x200+400+200")
# 放在程序最后一行,使程序继续执行
root.mainloop()
运行结果:
在tkinter中,有方法可以获取到屏幕的宽度和高度
"""屏幕宽度"""
winfo_screenwidth()
"""屏幕高度"""
winfo_screenheight()
列子:设计窗口并放在屏幕中央
import tkinter
# 创建主窗口
root = tkinter.Tk()
screenWindth = root.winfo_screenwidth()
screenHeight = root.winfo_screenheight()
w = 300
h = 160
x = (screenWindth - w) / 2
y = (screenHeight - h) / 2
root.geometry("%dx%d+%d+%d" % (w, h, x, y))
# 放在程序最后一行,使程序继续执行
root.mainloop()
运行结果就是在屏幕中央,不方便截图
后续仍在更新
如果有错误或者有疑问,请私信我喔,感谢观看
来源:CSDN
作者:qq_1471587327
链接:https://blog.csdn.net/qq_44168690/article/details/104558692