重庆机电职业技术大学,重庆 404100
摘要:随着我国互联网发展速度的不断加快,各类信息数据也在随之增多,Python语言迎来了广阔的发展空间,合理应用能够根据用户需求,在短时间内找到网页中自己想要的内容,然后将数据进行反馈与储存,现如今已经成为搜索引擎中的重要内容。下面本文就Python语言图形用户界面设计进行简要探讨。
关键词:Python语言;图形;用户界面设计;
1 Python 语言发展
Python 作为一种高级语言,可以提供网络综合信息协议数据库,随着云计算和大数据的发展,越来越多的数据需要被搜索,为此这对搜索引擎提出了更高的要求,不仅系统的构成框架十分简洁,能够兼容各种不同类型的操作系统,且自身的数据分析功能十分强大,配合网络爬虫技术可以保证数据信息的即时性和时效性,为此现如今已被各类搜索引擎广泛应用。Python 语言自身有着非常强大功能性,适合链接和网页处理,面向对象语言编程可以进行解释,通过简单的语法与动态输入编辑脚本,为此在实际执行中需要集中各方面精力完善Python 语言模式,从而提升整个网址的开发速度,保证其能够与需求契合。
2 基于 Python 语言图形用户界面设计的研究
2.1 图形用户界面概述
2.1.1 常用设计图形界面的模
Python 有多种用于设计图形用户界面的模块,常用的模块有如下几种:
Tkinter:使用 Tk 平台,Python 系统自带的标准图形用户界面库。
Wxpython:基于 wxWindows,具有跨平台的特性。
PythonWin:只能在 Windows 上使用,使用了本机的Windows GUI 功能。
JavaSwing:只能用于 Jython,使用本机的 Java GUI。
PyGTK:使用 GTK 平台,在 linux 上很流行。
PyQt:使用 Qt 平台,跨平台。
2.1.2 tkinter 模块
使用 tkinter 模块的基本步骤如下:
(1) 导入 tkinter 模块
例如:import tkinter 或 from tkinter import *
(2) 创建一个顶层容器对象
例如:创建一个窗体对象: win = tkinter.Tk()
(3) 在顶层容器对象中,添加其它组件
(4) 调用 pack()方法进行容器的区域布局
(5) 进入主事件循环:win.mainloop()
当容器进入主事件循环状态时,容器内部的其他图形对象则处于循环等待状态, 这样才能一直保持显示状态。
2.2 窗体容器和组件
2.2.1 窗体容器和标签组件
2.2.1.1 创建窗体
窗体是带有标题、边框的一个顶层容器,在其内部可以添加其它组件。
设计一个窗体的主要步骤如下:
(1) 导入 tkinter 包:import tkinter
(2) 创建窗体对象:win = tkinter.Tk()
(3) 设置窗体初始的大小(宽×高)和位置(x, y):
win.geometry(’宽×高 + x 坐标 + y 坐标’)
(4) 设置事件循环,使窗体一直保持显示状态:
win. mainloop()
通过 Tk 对象创建一个最简单窗体示例代码如下:
import tkinter
win = tkinter.Tk()
win.title(’我创建的窗体’)
win.geometry(’300×220+100+50’)
win.mainloop()结果见图 1。
图 1 创建窗体
2.2.1.2 使用标签
标签是用于窗体容器中显示文字内容的组件。标签的基本格式为:label = tkinter.Label (容器名称,显示文字或图像内容,显示位置, 文字字体、颜色等)标签应用示例代码如下:
lable=tkinter.Label(win,\
text=’欢迎来到 Pyhon 世界!’,\
font=’微软雅黑’,\
bg=’blue’,\
fg=’white’
)
2.2.1.3 按钮对象
创建按钮对象的方法为:Btn = tkinter.Button(容器,text ="按钮上的文字")由于按钮是一个普通组件,设计时必须放置到一个容器中,以下是设计一个按钮事件程序代码:
btn=tkinter.Button(win,text=’我是按钮’)
2.3 界面布局管理
Python 定义了 3 种界面布局管理方式。
2.3.1 pack 布局
pack 布局管理方式按组件的创建顺序在容器区域中排列。
pack 的常用属性有 side 和 fill。
side 属性:其取值为’top’、’bottom’、’left’、’right’,分别表示组件排列在上、下、左、右的位置。默认为 top。fill 属性:其取值为’x’、’y’、’both’,分别表示填充 x(水平)或 y(垂直)方向的空间。
2.3.2 place 布局
place 布局管理方式为指定组件的坐标位置排列,这种排列方式又称为绝对布局。
2.3.3 grid 布局
grid 布局管理方式为网格布局,组件放置在二维表格的单元格中。
grid 布局的常用属性有:row(行)、column(列)、rows-pan(组件占据行数)、columnspan(组件占据列数)。
2.4 文本框组件
文本框的格式Python 中,文本框 Entry 用于接收输入的数据。文本框 Entry 的基本格式为:txt = tkinter.Entry (容器名称,width=宽度, 文字字体、颜色等)文本框中的内容设置及获取文本框 Entry 中文字内容的操作可以使用 StringVar()对象来完成。StringVar()是 Tkinter 模块的对象,它可以跟踪变量值的变化,把最新的值显示到界面上。把 Entry的 textvariable 属性设置为 StringVar(),再通过 StringVar()的 get()和 set()函数读取和输出相应内容。这样,文本框中始终显示的值。运用文本框属性设计一个密码验证程序,编写程序代码如下:
from tkinter import *
win = Tk()
win.geometry(’550×250’)
win.title(’登陆界面’)
def Click():
txt = txt2.get()
if(txt == ’123456’):
txt3.set("欢迎进入系统")
label1=Label (win, text=" 用户名:",font=(’微软雅黑’,’
18’,’bold’))
label2=Label(win, text="密 码:",font=(’微软雅黑’,’
18’,’bold’))
txt1=StringVar()
txt2=StringVar()
txt3=StringVar()
entry1 = Entry (win,textvariable=txt1, width=16,font=(’黑体’,’18’,’bold’) )
entry2 = Entry (win,textvariable=txt2,width=16,show=’*’,
font=(’黑体’,’18’,’bold’))
button = Button(win, text=’提交’, command=Click,font=
(’黑体’,’18’,’bold’))
txt3.set("请输入用户名和密码")label3=Label(win,textvariable=txt3,width=30,font=(’微软雅黑’,’18’))
label1.grid(row=0,column=0)
label2.grid(row=1,column=0)
entry1.grid(row=0,column=1)
entry2.grid(row=1,column=1)
label3.grid(row=2,column=1,columnspan=1)
button.grid(row=3,column=1)
win.mainloop()
登陆界面运行结果见图 2。
图 2 登陆界面运行结果
结论
为了促进学生更好、更直观地学习图形用户界面设计以及 Python 的基本知识,设计实现一个所见即所得的用户界面,学生可以通过本研究学习,学会如何在用户和程序之间可以方便地进行交互,如何介绍设计友好的图形用户界面应用程序。尽管 Python 在 C/C++、Java、C# 等语言当中是一种非常年轻的语言,但其强大的优势不容小觑。近几年来,Python 在编程领域,一直在稳步上升。相信 Python 在未来会有更强的发展,并且很可能成为快速发展的主流语言。
参考文献:
[1] 余勍.大数据分析中Python语言的应用分析[J].中国新通信,2021,23(21):178-179.
[2] 李宗杰.Python脚本语言在Web开发中的应用探究[J].电子元器件与信息技术,2020,4(12):136-137.
[3] 蒋程燕,孟令琴.基于Python语言的自动化测试应用实例[J].工业控制计算机,2021,34(10):109-110+113.