Python 3 - GUI编程(Tkinter)

Python提供了各种用于开发图形用户界面(GUI)的选项.最重要的功能如下所示.

  • Tkinter :  Tkinter是Python附带的Tk GUI工具包的Python接口.我们将在本章中看到这个选项.

  • wxPython : 这是一个用于wxWidgets GUI工具包的开源Python接口.您可以在WxPython上找到完整的教程

  • PyQt : 这也是一个流行的跨平台Qt GUI库的Python接口. TutorialsPoint有一个非常好的PyQt教程.

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

Sr .No.运算符&说明
1Button

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

2Canvas

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

3Checkbutton

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

4Entry

条目小部件用于显示单个-line文本字段,用于接受来自用户的值.

5Frame

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

6Label

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

7Listbox

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

8Menubutton

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

9Menu

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

10Message

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

11Radiobutton

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

12Scale

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

13Scrollbar

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

14Text

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

15Toplevel

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

16Spinbox

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

17PanedWindow

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

18LabelFrame

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

19tkMessageBox

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

标准属性

让我们来看看如何指定了一些常见属性,例如大小,颜色和字体.

  • 维度

  • 颜色

  • 字体

  • 主播

  • 救济方式

  • 位图

  • Cursors

几何管理

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

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

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

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