Tkinter 是 Python 的标准 GUI (Graphic User Interface)库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。

由于 Tkinter 内置到 python 的安装包中,只要安装好 Python 之后就能 import Tkinter 库。

例1:窗口import Tkinter

top = Tkinter.Tk()
top.mainloop()

这里介绍一下mainloop。

mainloop就是进入到事件(消息)循环。一旦检测到事件,就刷新组件。

譬如你输入一个字符,就要立即在光标那个位置显示出来(前提是你选中了文本框,也就是鼠标在文本框这个图案的范围内单击过)。

又譬如你点击了浏览器的首页按钮,那么就要清除你浏览器里的全部部件,然后重新绘制主页的布局和内容。

运行结果:

1.png

例2:

列表from Tkinter import *
root = Tk()
computerLanguages = ['C','C++','Python','Java']
humanLanguages = ['Chinese','English','Spanish']
listbox1 = Listbox(root)
listbox2 = Listbox(root)
for item in computerLanguages:
listbox1.insert(0,item)
for item in humanLanguages:
listbox2.insert(0,item)
listbox1.pack()
listbox2.pack()
root.mainloop()

运行结果:

2.png

例3:

按纽from Tkinter import *
def clickButton():
print('hello button')
root = Tk()
Button(root, text='MyButton', command = clickButton).pack()
root.mainloop()

说明:

这里的clickButton是一个回调函数。当你点击按扭的时候,回调函数会被调用,在终端里打印出“hello button”。

运行结果:

3.png

4.png

Tkinter 组件

Tkinter的提供各种控件,如按钮,标签和文本框等。

目前有15种Tkinter控件。下表作了简单的介绍:

控件描述Button按钮控件;在程序中显示按钮。

Canvas画布控件;显示图形元素如线条或文本

Checkbutton多选框控件;用于在程序中提供多项选择框

Entry输入控件;用于显示简单的文本内容

Frame框架控件;在屏幕上显示一个矩形区域,多用来作为容器

Label标签控件;可以显示文本和位图

Listbox列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户

Menubutton菜单按钮控件,由于显示菜单项。

Menu菜单控件;显示菜单栏,下拉菜单和弹出菜单

Message消息控件;用来显示多行文本,与label比较类似

Radiobutton单选按钮控件;显示一个单选的按钮状态

Scale范围控件;显示一个数值刻度,为输出限定范围的数字区间

Scrollbar滚动条控件,当内容超过可视化区域时使用,如列表框。.

Text文本控件;用于显示多行文本

Toplevel容器控件;用来提供一个单独的对话框,和Frame比较类似

Spinbox输入控件;与Entry类似,但是可以指定输入范围值

PanedWindow窗口布局管理的插件,可以包含一个或者多个子控件。

LabelFrame简单的容器控件。常用与复杂的窗口布局。

tkMessageBox用于显示你应用程序的消息框。

标准属性

标准属性也就是所有控件的共同属性,如大小,字体和颜色等。

属性描述Dimension控件大小

Color控件颜色

Font控件字体

Anchor锚点

Relief控件样式

Bitmap位图

Cursor光标

几何管理

Tkinter控件有特定的几何状态管理方法,管理整个控件区域组织,一下是Tkinter公开的几何管理类:包、网格、位置

几何方法描述pack()包装

grid()网格

place()位置