GUI Programming
Python提供了各种用于开发图形用户界面(GUI)的选项。 最重要的是下面列出的。
Tkinter - Tkinter是Python附带的Tk GUI工具包的Python接口。 我们将在本章中看到这个选项。
wxPython - 这是wxWindows http://wxpython.org的开源Python接口。
JPython - JPython是Java的Python端口,它使Python脚本可以无缝访问本地机器上的Java类库http://www.jython.org 。
还有许多其他可用的接口,您可以在网上找到它们。
Tkinter编程
Tkinter是Python的标准GUI库。 Python与Tkinter结合使用时,可以快速轻松地创建GUI应用程序。 Tkinter为Tk GUI工具包提供了强大的面向对象的接口。
使用Tkinter创建GUI应用程序是一项简单的任务。 您需要做的就是执行以下步骤 -
导入Tkinter模块。
创建GUI应用程序主窗口。
将一个或多个上述小部件添加到GUI应用程序。
输入主事件循环以对用户触发的每个事件采取操作。
例子 (Example)
#!/usr/bin/python
import tkinter
top = tkinter.Tk()
# Code to add widgets will go here...
top.mainloop()
这将创建一个以下窗口 -
Tkinter小部件
Tkinter提供各种控件,例如GUI应用程序中使用的按钮,标签和文本框。 这些控件通常称为小部件。
Tkinter目前有15种类型的小部件。 我们提供这些小部件以及下表中的简要说明 -
Sr.No. | 操作符和说明 |
---|---|
1 | Button Button小部件用于显示应用程序中的按钮。 |
2 | Canvas Canvas小部件用于在应用程序中绘制线条,椭圆,多边形和矩形等形状。 |
3 | Checkbutton Checkbutton小部件用于显示多个选项作为复选框。 用户可以一次选择多个选项。 |
4 | Entry Entry小部件用于显示单行文本字段,用于接受来自用户的值。 |
5 | Frame Frame小部件用作容器小部件来组织其他小部件。 |
6 | Label Label小部件用于为其他小部件提供单行标题。 它还可以包含图像。 |
7 | Listbox 列表框小部件用于向用户提供选项列表。 |
8 | Menubutton Menubutton小部件用于显示应用程序中的菜单。 |
9 | Menu Menu小部件用于向用户提供各种命令。 这些命令包含在Menubutton中。 |
10 | Message Message小部件用于显示多行文本字段,以接受用户的值。 |
11 | Radiobutton Radiobutton小部件用于将多个选项显示为单选按钮。 用户一次只能选择一个选项。 |
12 | Scale Scale小部件用于提供滑块小部件。 |
13 | Scrollbar Scrollbar小部件用于向各种小部件(例如列表框)添加滚动功能。 |
14 | Text “文本”小组件用于以多行显示文本。 |
15 | Toplevel Toplevel小部件用于提供单独的窗口容器。 |
16 | Spinbox Spinbox小部件是标准Tkinter Entry小部件的变体,可用于从固定数量的值中进行选择。 |
17 | PanedWindow PanedWindow是一个容器窗口小部件,可以包含水平或垂直排列的任意数量的窗格。 |
18 | LabelFrame labelframe是一个简单的容器小部件。 其主要目的是充当复杂窗口布局的间隔物或容器。 |
19 | tkMessageBox 此模块用于在应用程序中显示消息框。 |
让我们详细研究这些小部件 -
标准属性 (Standard attributes)
让我们看一下它们的一些常见属性,例如大小,颜色和字体是如何指定的。
让我们简要地研究它们 -
几何管理
所有Tkinter小部件都可以访问特定的几何管理方法,这些方法的目的是在整个父窗口小部件区域中组织窗口小部件。 Tkinter公开以下几何管理器类:pack,grid和place。
pack()方法 - 此几何管理器在将它们放入父窗口小部件之前以块为单位组织窗口小部件。
grid()方法 - 此几何管理器在父窗口小部件中以类似表的结构组织窗口小部件。
place()方法 - 此几何管理器通过将窗口小部件放置在父窗口小部件中的特定位置来组织窗口小部件。
让我们简单地研究几何管理方法 -