Python3 GUI编程(Tkinter)


Python提供了多种开发图形用户界面(GUI)的选项。下面列出了最重要的功能。

  • Tkinter :Tkinter是Python随附的Tk GUI工具包的Python接口。我们将在本章中查找此选项。

  • wxPython :这是wxWidgets GUI工具包的开源Python界面。你可以在WxPython上找到完整的教程 here .

  • PyQt :这也是流行的跨平台Qt GUI库的Python接口。 newbiego在PyQt上有一个很好的教程 here .

  • JPython :JPython是Java的Python端口,可让Python脚本无缝访问本地计算机上的Java类库 http://www.jython.org .

还有许多其他可用接口,你可以在网上找到它们。

Tkinter编程


Tkinter是Python的标准GUI库。与Tkinter结合使用时,Python提供了一种快速简便的方法来创建GUI应用程序。 Tkinter为Tk GUI工具包提供了强大的面向对象的界面。

使用Tkinter创建GUI应用程序很容易。你所需要做的就是执行以下步骤:

  • 导入 Tkinter module.

  • 创建GUI应用程序主窗口。

  • 将一个或多个上述小部件添加到GUI应用程序。

  • 进入主事件循环以对用户触发的每个事件采取措施。

Example


#!/usr/bin/python3

import tkinter # note that module name has changed from Tkinter in Python 2 to tkinter in Python 3
top = tkinter.Tk()
# Code to add widgets will go here...
top.mainloop()

这将创建以下窗口:

TK Window

Tkinter小部件


Tkinter提供了各种控件,例如GUI应用程序中使用的按钮,标签和文本框。这些控件通常称为小部件。

Tkinter当前有15种类型的小部件。下表列出了这些小部件以及简要说明:

序号 运算符和说明
1 Button

“按钮”小部件用于显示应用程序中的按钮。

2 Canvas

“画布”小部件用于在你的应用程序中绘制形状,例如线条,椭圆形,多边形和矩形。

3 复选按钮

Checkbutton小部件用于将许多选项显示为复选框。用户可以一次选择多个选项。

4 Entry

Entry小部件用于显示单行文本字段,以接受来自用户的值。

5 Frame

框架小部件用作组织其他小部件的容器小部件。

6 Label

标签窗口小部件用于为其他窗口小部件提供单行标题。它还可以包含图像。

7 Listbox

列表框窗口小部件用于向用户提供选项列表。

8 菜单按钮

Menubutton小部件用于在你的应用程序中显示菜单。

9 Menu

菜单小部件用于向用户提供各种命令。这些命令包含在Menubutton中。

10 Message

消息小部件用于显示多行文本字段,以接受来自用户的值。

11 单选按钮

单选按钮小部件用于将许多选项显示为单选按钮。用户一次只能选择一个选项。

12 Scale

缩放小部件用于提供滑块小部件。

13 滚动条

滚动条窗口小部件用于向各种窗口小部件(例如列表框)添加滚动功能。

14 Text

文本小部件用于显示多行文本。

15 Toplevel

顶级窗口小部件用于提供单独的窗口容器。

16 Spinbox

Spinbox小部件是标准Tkinter Entry小部件的一种变体,可用于从固定数量的值中进行选择。

17 平移窗口

PanedWindow是一个容器小部件,可以包含任意数量的水平或垂直排列的窗格。

18 标签框

标签框是一个简单的容器小部件。它的主要目的是充当复杂窗口布局的间隔物或容器。

19 tkMessageBox

此模块用于在你的应用程序中显示消息框。

标准属性


让我们看看如何指定它们的一些常见属性,例如大小,颜色和字体。

  • 方面

  • Colors

  • Fonts

  • Anchors

  • 浮雕样式

  • Bitmaps

  • Cursors

几何管理


所有Tkinter窗口小部件都可以访问特定的几何图形管理方法,该方法的目的是在整个父窗口小部件区域中组织窗口小部件。 Tkinter公开以下几何图形管理器类:包装,网格和位置。

  • pack()方法 :此几何图形管理器将小部件组织为块,然后再将其放置在父小部件中。

  • grid()方法 :此几何图形管理器在父窗口小部件中以表格状结构组织窗口小部件。

  • place()方法 :此几何图形管理器通过将小部件放置在父小部件中的特定位置来组织小部件。