3. 第一个 Tkinter 应用

先尝试运行如下的代码吧!

# 1. 导入tkinter包
import tkinter

# 2. 创建一个 Tkinter 主窗口
root = tkinter.Tk(className="白板窗口")

# 3. 进入主事件循环
root.mainloop()

print("结束主事件循环,程序退出")

运行效果

tkinter主界面效果图

恭喜你完成可第一个图形用户界面的程序。

上述程序中 第二步 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()

执行效果

tkinter的第一个界面

看到效果后,你会发现,hello world 实在一个Label中,而Lable 又在 主窗口中,主窗口变成了Label一样的大小,你可以用鼠标调整主窗口的大小,这样就能看到其实"hello world" 只是主窗口上的一个部件(Widget)。

关于第三步 label.pack() 是设置摆放方式,我们后面再讲。

让 GUI 程序启动和运行起来大概需要以下 5 个主要步骤:

  1. 导入 Tkinter 包:
    • import tkinter
    • from tkinter import Tk, Label, Entry等。
    • from tkinter import *
  2. 创建一个顶层窗口对象,用于容纳整个GUI应用;
  3. 在顶层窗口对象之上(或“其中”)构建所有的 GUI 组件(及其功能);
  4. 通过底层的应用代码将这些GUI组件连接起来;
  5. 进入主事件。