购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.3 系统界面开发基础

为了方便用户输入图像并查看各种算法的处理结果,需要开发用户界面,内含菜单、文本提示、按钮等关键要素。本节介绍开发图像处理仿真系统的界面技术。

1.常用设计图形界面的模块

Python有多种用于设计用户界面的模块,常用的模块有以下几种:

● Tkinter:使用Tk平台,Python系统自带的标准图形用户界面库;

● Wxpython:基于WxWidgets平台,具有跨平台的特性;

● PythonWin:只能在Windows上使用,使用了本机的Windows GUI功能;

● PyGTK:使用GTK平台,在Linux上很流行;

● PyQt:使用Qt平台,跨平台。

2.使用Tkinter库创建窗口界面

Tkinter是Python的标准GUI库,它提供了丰富的组件和布局管理器,能够快速地创建用户界面应用程序,其模块中的Tk接口是Python的标准GUI工具包的接口,使用import tkinter命令即可将该模块导入程序。

使用Tkinter模块的基本步骤如下:

(1)导入Tkinter模块。

例如:

(2)创建一个顶层容器对象。

例如:

(3)在顶层容器对象中,添加其他组件。

(4)采取调用pack()方法进行容器的组件布局。

(5)进入主事件循环。

当容器进入主事件循环状态时,容器内部的其他图形对象就处于循环等待状态,这样才能一直保持显示状态。

上面的代码中,首先导入了Tkinter模块,并创建了一个窗口对象。然后,设置窗口标题,设置窗口大小,调用窗口对象的mainloop()运行主事件循环。

3.布局管理

在Tkinter中,布局管理器负责管理组件的位置和大小。目前,Tkinter提供了三种布局管理器:pack、grid和place。

(1)pack布局管理器:按组件的创建顺序在容器区域中排列。pack布局的常用属性有side和fill。

side属性:其取值为‘top’、‘bottom’、‘left’或‘right’,分别表示组件排列在上、下、左、右的位置。默认为‘top’。

fill属性:其取值为‘x’、‘y’或‘both’,分别表示填充x(水平)或y(垂直)方向的空间。

(2)grid布局管理器:将窗口划分为网格,将组件放置到指定的网格中。grid布局的常用属性有:row(行)、column(列)、rowspan(组件占据行数)、columnspan(组件占据列数)。

(3)place布局管理器:允许开发者精确地控制组件的位置和大小,指定组件的坐标位置排列,这种排列方式又称为绝对布局。

4.组件

这里介绍仿真系统所用的组件。

(1)创建标签组件Label

下面创建一个标签组件Label,并使用pack()方法将它们添加到窗口中。

(2)添加按钮Button

按钮组件用于在应用程序中添加按钮。创建一个按钮组件Button,按钮上可以显示文本或图像,并使用pack()方法将它们添加到窗口中。按钮与一个回调函数关联,当用户单击按钮时,自动调用该回调函数。

本书的集成系统界面按钮【运行】与回调函数start()关联,当用户单击【运行】按钮时,自动调用该回调函数,就会在界面的右侧显示处理后的图片,start()函数内容见1.4.2节。

5.菜单

创建菜单的主要步骤如下:

(1)创建菜单条对象:menubar = Menu(窗体容器)。

(2)把菜单条放置到窗体中:窗体容器.config(menu = menubar)。

(3)在菜单条中创建菜单:菜单名称= Menu(menubar, tearoff = 0)。

其中,tearoff取值0表示菜单不能独立使用。

(4)为菜单添加文字标签。

menubar.add_cascade(label = "文字标签", menu =菜单名称)

(5)在菜单中添加菜单项。

菜单名称.add_command (label = " 菜单项名称",command = 功能函数名)

例如: xTeOyEP9peN2YhVjA7eE6PPhrYS+VEJ9YyRGDUiDLM3MRu8167asJfZ8q6KJDL5q

点击中间区域
呼出菜单
上一章
目录
下一章
×