Python GUI 编程 (Tkinter)


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

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

  • wxPython : 这是wxWindows的开源Python接口 http://wxpython.org .

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

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

Tkinter 编程


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

使用 Tkinter 创建 GUI 应用程序是一项简单的任务。你只需执行以下步骤:

  • 导入 Tkinter module.

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

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

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

例子


#!/usr/bin/python

import Tkinter
top = Tkinter.Tk()
# Code to add widgets will go here...
top.mainloop()

这将创建一个如下窗口:

TK Window

Tkinter 小部件


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

Tkinter 目前有 15 种类型的小部件。我们在下表中展示了这些小部件以及简要说明:

序号. 运营商和描述
1 Button

Button 小部件用于在你的应用程序中显示按钮。

2 Canvas

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

3 复选按钮

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

4 Entry

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

5 Frame

Frame 小部件用作容器小部件来组织其他小部件。

6 Label

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

7 Listbox

Listbox 小部件用于向用户提供选项列表。

8 菜单按钮

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

9 Menu

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

10 Message

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

11 单选按钮

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

12 Scale

Scale 小部件用于提供滑块小部件。

13 滚动条

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

14 Text

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

15 Toplevel

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

16 Spinbox

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

17 窗格窗口

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

18 标签框

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

19 tkMessageBox

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

让我们详细研究一下这些小部件:

标准属性


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

  • 方面

  • Colors

  • Fonts

  • Anchors

  • 浮雕样式

  • Bitmaps

  • Cursors

让我们简要研究一下:

几何管理


所有 Tkinter 小部件都可以访问特定的几何管理方法,这些方法的目的是在整个父小部件区域中组织小部件。 Tkinter 公开了以下几何管理器类:pack、grid 和 place。

  • The pack() Method : 这个几何管理器在将它们放入父widget之前以块的形式组织widget。

  • The grid() Method :这个几何管理器在父widget中以表格的结构组织widget。

  • The place() Method : 这个几何管理器通过将小部件放置在父小部件中的特定位置来组织小部件。

让我们简单研究一下几何管理方法: