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 模块.

  • 创建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种类型的小部件.我们提供这些小部件以及下表中的简要说明 :

Sr.No.运算符&说明
1按钮

Button小部件用于显示应用程序中的按钮.

2画布

"画布"小部件用于在应用程序中绘制线条,椭圆,多边形和矩形等形状.

3Checkbutton

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

4条目

条目小部件用于显示单行文本字段用于接受用户的值.

5框架

框架窗口小部件用作容器窗口小部件来组织其他窗口小部件.

6标签

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

7列表框

列表框小部件用于向用户提供选项列表.

8Menubutton

Menubutton小部件用于显示应用程序中的菜单.

9菜单

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

10消息

消息窗口小部件用于显示多行文本字段以接受用户的值.

11Radiobutton

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

12缩放

"缩放"小组件用于提供滑块小部件./p>

13滚动条

Scrollbar小部件用于向各种小部件添加滚动功能,例如列表框.

14文本

文本小部件用于以多行显示文本.

15Toplevel

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

16Spinbox

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

17PanedWindow

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

18LabelFrame

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

19tkMessageBox

此模块用于显示消息你的申请中的方框.

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

标准属性

让我们看一下它们的一些常见属性,例如尺寸,颜色和字体.

  • 维度

  • 颜色

  • 字体

  • 主播

  • 救济风格

  • 位图

  • 游标

让我们简要地研究它们 :

几何管理

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

  • pack()方法 : 此几何管理器在将它们放入父窗口小部件之前以块为单位组织窗口小部件.

  • grid()方法 : 此几何管理器在父窗口小部件中以类似表的结构组织窗口小部件.

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

让我们简要地研究几何管理方法 :