现在的位置: 首页 > 综合 > 正文

Python TK编程第一部分 第一个Tk程序 Hello Tkinter

2014年07月08日 ⁄ 综合 ⁄ 共 998字 ⁄ 字号 评论关闭

最近学习python有一段时间,也写了一些小程序,但主要还都是命令行执行的,一直想学习下GUI,考虑到tk的简洁,也能满足一般程序的要求,就决定学习下Tkinter,准备先花一段时间看完Python Tkinter的官方介绍,然后在自己写一些小程序。下面会将Tkinter官方的介绍结合自己的理解翻译成中文,也顺便加深下自己的理解。

我们的第一个python程序
from Tkinter import *   #导入Tkinter模块

root = Tk()             #创建一个根窗口,其余的控件都要在这个窗口上面

w = Label(root, text="Hello, world!")   #创建一个Label控件,指定其父控件位创建的根窗口,并在Label上显示 hello worl!
w.pack()                               #显示label控件,pack方法会让label显示,并根据文本内容自动调节大小

root.mainloop()       #让根窗口进入事件循环

以下面的方式运行程序

$ python hello1.py

会出现下面的结果

程序讲解:

1.我们首先导入Tkinter模块,它包含我们需要使用的一切和Tkinter有关的函数,类和其它相关的东西。

from Tkinter import *

使用此种方式可以将所有东西导入,但同时也会造成名称空间的污染。

2. 为了初始化Tkinter,我们需要先创建一个root控件。他是一个普通的窗口,包含一个标题栏和其他有窗口管理器提供的装饰。

root = Tk()

你只能为每个程序创建一个root控件,且它必须在其它控件被创建前创建。

3.下一步我们创建一个label控件座位root窗口的子控件。

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

Label控件可以显示文本/位图/图像。在这个例子中,我们使用text选项指定我们要显示的文本。

接着,我们对label这个控件使用pack方法,它会让label根据文本自动调整自己的大小并且使自己可见。

然而实际上, 窗口并不会出现,除非我们让Tkinter进入事件循环。

root.mainloop()

这样程序就会一直停留在事件循环里知道我们关闭这个窗口。事件循环不止处理来自用户(如点击鼠标,按键)或者窗口系统(重新显示)的请求,他同时处理来自Tkinter内部的操作。所有这些操作都是通过几何布局进行管理和更新的。换句话说,应用窗口不会在你进入事件循环之前出现。

抱歉!评论已关闭.