当前位置:首页>python>python GUI之tkinter(一)

python GUI之tkinter(一)

  • 2026-09-09 18:10:56
python GUI之tkinter(一)

3.19

python GUI之tkinter(一)

?

学前疑问

当你希望用Python创建一个有按钮、输入框的软件窗口时,是否觉得这需要复杂的图形库? 其实Python自带了一个简单强大的工具。

1

什么是GUI

Tkinter用于制作程序GUI界面的pthon官方内置库

Tkinter优点:简单、易上手、跨平台Windows、macOS和Linux多种操作系统上运行

Tkinter缺点:基础功能、界面不太好看

GUI除了Tkinter还有wxPython、PyQT等GUI三方库,比Tkinter复杂,建议先学Tk,再学其他

官方技术文档:

https://docs.python.org/zh-cn/3/library/tk.html

2

tkinter之Tk窗口添加

(1)创建窗口、开启窗口/主循环、设置窗口标题

# 创建窗口# 开启窗口/主循环#设置窗口标题import tkinter as tk# 创建窗口a1 = tk.Tk()# 设置窗口标题a1.title('我的游戏')# 开启窗口/主循环a1.mainloop()

执行结果:

(2)设置窗口大小、设置窗口打开位置、获取用户分辨率

# 设置窗口大小# 设置窗口打开位置# 获取用户分辨率import tkinter as tk# 创建窗口a1 = tk.Tk()# 设置窗口标题a1.title('我的游戏')# 获取用户分辨率a2 = a1.maxsize()k, g = a2# 设置窗口大小# 设置窗口打开位置a1.geometry(f'{int(k*0.5)}x{int(g*0.5)}+{int(k*0.1)}+{int(g*0.1)}')# a1.geometry('宽x高+距离屏幕左侧多少+距离屏幕上方多少')# 开启窗口/主循环a1.mainloop()

(3)设置窗口锁定缩放、设置窗口图标

# 设置窗口锁定缩放# 设置窗口图标import tkinter as tk# 创建窗口a1 = tk.Tk()# 设置窗口标题a1.title('我的游戏')# 获取用户分辨率a2 = a1.maxsize()k, g = a2# 设置窗口大小# 设置窗口打开位置a1.geometry(f'{int(k*0.5)}x{int(g*0.5)}+{int(k*0.1)}+{int(g*0.1)}')# a1.geometry('宽x高+距离屏幕左侧多少+距离屏幕上方多少')# 设置窗口锁定缩放a1.resizable(width=True, height=False)  # 默认True,可缩放# 设置窗口图标a1.iconbitmap('logo1.ico')  # 可以传相对路径和绝对路径,建议相对路径# 开启窗口/主循环a1.mainloop()

(4)设置窗口背景颜色、设置窗口透明度

# 设置窗口背景颜色# 设置窗口透明度# https://tools.jb51.net/static/colorpicker/ 颜色表import tkinter as tk# 创建窗口a1 = tk.Tk()# 设置窗口标题a1.title('我的游戏')# 获取用户分辨率a2 = a1.maxsize()k, g = a2# 设置窗口大小# 设置窗口打开位置a1.geometry(f'{int(k*0.5)}x{int(g*0.5)}+{int(k*0.1)}+{int(g*0.1)}')# a1.geometry('宽x高+距离屏幕左侧多少+距离屏幕上方多少')# 设置窗口锁定缩放a1.resizable(width=True, height=True)  # 默认True,可缩放# 设置窗口图标a1.iconbitmap('logo1.ico')  # 可以传相对路径和绝对路径,建议相对路径# 设置窗口背景颜色  # 可以写颜色英文和颜色编码a1.configure(bg='#9999ff')# 设置窗口透明度  # 第一个位置传参,字符串'-alpha',后面是数字 0-1 之间a1.attributes('-alpha', 1)# 开启窗口/主循环a1.mainloop()

(5)设置窗口置顶、设置窗口关闭时执行的函数 WM_DELETE_WINDOW、销毁窗口\组件

# 设置窗口置顶# 设置窗口关闭时执行的函数 WM_DELETE_WINDOW# 销毁窗口\组件import tkinter as tk# 创建窗口a1 = tk.Tk()# 设置窗口标题a1.title('我的游戏')# 获取用户分辨率a2 = a1.maxsize()k, g = a2# 设置窗口大小# 设置窗口打开位置a1.geometry(f'{int(k*0.5)}x{int(g*0.5)}+{int(k*0.1)}+{int(g*0.1)}')# a1.geometry('宽x高+距离屏幕左侧多少+距离屏幕上方多少')# 设置窗口锁定缩放a1.resizable(width=True, height=True)  # 默认True,可缩放# 设置窗口图标a1.iconbitmap('logo1.ico')  # 可以传相对路径和绝对路径,建议相对路径# 设置窗口背景颜色  # 可以写颜色英文和颜色编码a1.configure(bg='#9999ff')# 设置窗口透明度  # 第一个位置传参,字符串'-alpha',后面是数字 0-1 之间a1.attributes('-alpha', 1)# 设置窗口置顶a1.attributes('-topmost', True)def guan():    print('关闭窗口执行函数')    # 销毁窗口    a1.destroy()# 设置窗口关闭时执行的函数 WM_DELETE_WINDOWa1.protocol('WM_DELETE_WINDOW', guan)# 开启窗口/主循环a1.mainloop()

最新文章

随机文章