3. 第一个 Tkinter 应用
先尝试运行如下的代码吧!
# 1. 导入tkinter包
import tkinter
# 2. 创建一个 Tkinter 主窗口
root = tkinter.Tk(className="白板窗口")
# 3. 进入主事件循环
root.mainloop()
print("结束主事件循环,程序退出")
运行效果
恭喜你完成可第一个图形用户界面的程序。
上述程序中 第二步 root = tkinter.Tk(className="白板窗口")
是创建一个窗口对象。但此窗口并不能正常显示和接收任何信息。
第三步:root.mainloop()
,在此mainloop()
方法的内部其实就是一个死循环,在循环的内部不停地检查是否有键盘事件和鼠标事件,如果有就做出相应的操作。直至此应用中所有的窗口都关闭,此时这个 mainloop()
函数才返回。
再来一个 "hello world" 程序!
import tkinter
# 1. 创建一个 Tkinter 主窗口,连窗口的标题也不给出!
root = tkinter.Tk(className="Label示例")
# 2. 创建一个 Label 窗口小部件(Widget),将他放在刚才创建的主窗口上。
label = tkinter.Label(root, text="http://weimingze.com")
# 3. 使用Pack布局方式,label在主窗口的布局方式是pack布局(后面会将)
label.pack()
# 4. 进入主事件循环
root.mainloop()
执行效果
看到效果后,你会发现,hello world 实在一个Label中,而Lable 又在 主窗口中,主窗口变成了Label一样的大小,你可以用鼠标调整主窗口的大小,这样就能看到其实"hello world" 只是主窗口上的一个部件(Widget)。
关于第三步 label.pack()
是设置摆放方式,我们后面再讲。
让 GUI 程序启动和运行起来大概需要以下 5 个主要步骤:
- 导入 Tkinter 包:
import tkinter
from tkinter import Tk, Label, Entry
等。from tkinter import *
- 创建一个顶层窗口对象,用于容纳整个GUI应用;
- 在顶层窗口对象之上(或“其中”)构建所有的 GUI 组件(及其功能);
- 通过底层的应用代码将这些GUI组件连接起来;
- 进入主事件。