0%

Python Tkinter 你好

你好, Tkinter

废话不多说,直接上代码。

写过代码都知道,第一个肯定就是Hello-world了。先来一个简单的。

我们的第一个代码helloworld.py

1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/python
#tk/helloworld.py
# -*- coding: UTF-8 -*-
import tkinter

root = tkinter.Tk()

w = tkinter.Label(root, text='你好,Tkinter!')
w.pack()

root.mainloop()

运行示例

如何运行呢,与python程序一样,如下所述:

1
$ python helloworld.py

如果一些顺利,你会看到下面的一幅图片:

Hello Tkinter

如果希望停止该程序,直接点击关闭按钮即可。

细节

首先第一行,我们看到需要导入tkinter模块。

该模块包含所有的类,函数和其他Tk工具运行所需要的一切。
大多数情况下,你可以简单地导入Tkinter的所有到你的模块空间。

1
import tkinter

初始化tkinter,我们需要创建一个Tk根组件。
根组件包含一个title bar和由窗口管理器提供的装饰组件。
对于每一个程序创建一个根组件即可,并且需要在所有的组件之前创建。

1
root = tkinter.Tk()

接下来,我们创建一个根组件的Label子组件。

1
2
w = tkinter.Label(root, text="Hello, world!")
w.pack()

Label组件可以使用文本、图标和其他图像显示。
在这个示例中,我们使用文本显示。

然后,我们使用pack方法来将文本显示到组件上。不过直到我们使用Tkinter的事件主循环,我们才能看到这个窗口。

1
root.mainloop()

在我们关闭窗口前,程序将一直处在事件循环中。这个事件循环不仅仅接收来自用户(比如鼠标🖱点击和键盘⌨️输入)和系统(比如重绘事件和窗口配置信息)的事件,也会处理Tkinter本身的事件。

比如串口重绘或者配置等。这也就意味着如果不进入这个事件循环,之前的程序窗口是无法显示出来的。

处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

欢迎关注我的其它发布渠道