基于Python语言图形用户界面设计探究

(整期优先)网络出版时间:2023-09-22
/ 2

基于Python语言图形用户界面设计探究

向守超

重庆机电职业技术大学,重庆 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.