前言
这几天突然对python的GUI编程产生兴趣,尤其是tkinter这个模块,第一次上手就感受到它的简洁,只需三行代码,即可搭建一个python程序的窗体:
1 | import tkinter # 导入tkinter模块 |
也许有小伙伴不太了解什么是消息循环,在我看来,
mainloop()的作用就是维持这个窗体,使它一直存在并显示着,直到用户关闭这个窗体。
效果如下:

是不是感觉特别简洁?
当然,创建一个窗体只是GUI编程的开始,在接下几天我会抽空学习python的tkinter模块。
我所使用的环境:
1 | import tkinter |
1 | 8.6 |
我使用的是tkinter8.6版本
模块导入
导入tkinter模块常用的三种方法
1 | import tkinter # 直接把包导入 |
1 | from tkinter import * # 把tkinter中所有的控件导入,这种导入方式的好处在于,一些tkinter中的规定的特殊字符可以直接使用,比如BOTTOM,TOP等等 |
1 | import tkinter as tk # 取别名 |
自定义窗体
上述的三行代码窗体属性设置都是默认的,我们还需要根据开发的不同场景来自定义窗体,调整窗体的设置。
下面我将用注释+代码进行说明
以下是我觉得经常会用到的:
1 | import tkinter |
窗体最大化,最小化以及隐藏设置:
1 | from tkinter import * |
其他的设置:
root.quite() 退出窗口
root.update() 刷新窗口
root.after(second,command),自动触发事件,表示多少秒以后自动执行command指令
root.attributes("-toolwindow", True) 设置为工具窗口(没有最大最小按钮)
root.attributes("-topmost", True) 使窗口保持处于顶层
root.attributes(’-transparentcolor’,‘red’) 设置透明色,red可替换其他颜色
root.attributes(’-alpha’,0.5) 设置窗口透明度,0~1之间
root[‘background’]=‘blue’ 设置窗口背景色,blue可替换其他颜色
root.overrideredirect(True) 隐藏窗口边框和标题栏(缺点:脱离windows窗口管理,窗口也不会出现在任务栏,且无法设置最大化、最小化,否则会报错)
root.winfo_screenwidth() 获取屏幕分辩率(屏幕的宽)root.winfo_screenheight() 获取屏幕分辨率(屏幕的高)
总结
个人认为,窗体的自定义设置还是比较重要的。需要考虑到用户的使用体验的话,就要注重窗体设置的美观。
这只是窗体,tkinter还有一些控件(widgets)等待我去学习。
哎,平时比较忙,只能偶尔抽空去学习这些我感兴趣的内容了。
附上我借鉴的一个学习tkinter模块的博客地址: