你好, Tkinter
废话不多说,直接上代码。
写过代码都知道,第一个肯定就是Hello-world
了。先来一个简单的。
我们的第一个代码helloworld.py
1 | #!/usr/bin/python |
运行示例
如何运行呢,与python程序一样,如下所述:
1 | $ python helloworld.py |
如果一些顺利,你会看到下面的一幅图片:
如果希望停止该程序,直接点击关闭按钮即可。
细节
首先第一行,我们看到需要导入tkinter
模块。
该模块包含所有的类,函数和其他Tk
工具运行所需要的一切。
大多数情况下,你可以简单地导入Tkinter
的所有到你的模块空间。
1 | import tkinter |
初始化tkinter
,我们需要创建一个Tk根组件。
根组件包含一个title bar
和由窗口管理器提供的装饰组件。
对于每一个程序创建一个根组件即可,并且需要在所有的组件之前创建。
1 | root = tkinter.Tk() |
接下来,我们创建一个根组件的Label
子组件。
1 | w = tkinter.Label(root, text="Hello, world!") |
Label组件可以使用文本、图标和其他图像显示。
在这个示例中,我们使用文本显示。
然后,我们使用pack
方法来将文本显示到组件上。不过直到我们使用Tkinter
的事件主循环,我们才能看到这个窗口。
1 | root.mainloop() |
在我们关闭窗口前,程序将一直处在事件循环中。这个事件循环不仅仅接收来自用户(比如鼠标🖱点击和键盘⌨️输入)和系统(比如重绘事件和窗口配置信息)的事件,也会处理Tkinter
本身的事件。
比如串口重绘或者配置等。这也就意味着如果不进入这个事件循环,之前的程序窗口是无法显示出来的。