自然语言处理小程序!(tkinter实现多功能)

        马上快毕业了,最近也是在复盘一些课程小项目,把当时的一些思路写下来,希望能帮到遇到问题的您,这是这个系列的第一篇:自然语言处理小程序。

一、前言

 二、tkinter介绍

2.1 哪些库能够支持您

2.2 怎样使用tkinter来设计一个小程序

         2.2.1 主界面设置

         2.2.2 标签框的使用

       2.2.3 文本框的使用 

       2.2.4 按钮的使用 

         2.2.5 表格的使用

     2.2.6 背景图片的使用         

三、项目的整体实现

3.1 参数的有效性(用户良好性)

 3.2 项目实现逻辑

四、总结


一、前言

        本篇主要介绍的是,NLP课程最后,老师布置了一个小程序的作业,要求集成整个课设中实现的功能,包括分词、命名实体识别、文本分类、文本聚类,并且需要保证界面的美观,同时需要实现系统的测试,先放一张图展示最终的效果。

 二、tkinter介绍

        整个小程序前端的设计是使用tkinter来实现的,Tkinter 是 Python 的标准 Tk GUI 工具包的接口,它是 Python 自带的标准库,可以编写简单的图形界面程序。

2.1 哪些库能够支持您

        如果您只对python熟悉,python提供了很多库来支持开发图形用户界面(GUI)应用程序,下面对几个常见的库进行介绍:

        Tkinter:Tkinter是Python的标准GUI库,随Python安装包自带。它提供了一个简单的方法来创建窗口、对话框、按钮、文本框等基本控件。Tkinter适用于快速开发简单的GUI应用,但可能不那么适合复杂或现代风格的应用界面设计。

        PyQt/PySide:PyQt和PySide都是Qt库的Python绑定。Qt是一个强大的跨平台C++框架,用于开发具有优秀图形用户界面的应用程序。PyQt和PySide几乎提供了Qt的全部功能,支持丰富的控件、图形(2D和3D)、网络、数据库等开发需求。

        Kivy:Kivy是一个开源Python库,用于开发多触摸应用程序。它旨在快速开发应用程序,支持iOS、Android、Windows、OS X和Linux。Kivy特别适合需要多点触控功能的应用,如游戏或富媒体应用。

2.2 怎样使用tkinter来设计一个小程序

        正如2.1所说,tkinter的优势就是简单,您只需要三行代码,就可以在电脑屏幕中看到一个小的图形用户界面,代码如下:

import tkinter as tk
windows2 = tk.Tk()
windows2.mainloop()   

        但如果要满足功能的需求,那当然需要去完善他,下面具体介绍拓展它的方法:

         2.2.1 主界面设置

        当我们启动代码时,第一个界面就是主界面,所以主界面的开发变成了重要的是,首当其冲的就是如何设计主界面的大小、美观,代码如下,可以看出只需要在定义好的窗口变量中直接加各项参数就可以,十分的简单方便。

windows = tk.Tk()
# 设置窗口处于顶层
windows.attributes('-topmost',True)
# 设置窗口的透明度
windows.attributes('-alpha',1)
# 设置窗口被允许最大调整的范围,与resizble()冲突
windows.maxsize(2000,1000)
# 设置窗口被允许最小调整的范围,与resizble()冲突
windows.minsize(50,50)
windows.title('自然语言处理小程序')
windows.geometry("1200x500")

        组件的使用主要是为了实现某一特定的功能,常用的组件有标签框、文本框、按钮、表格、拉选项,等等,本篇主要用到了上述四个组件,下面对组件使用进行介绍。

         2.2.2 标签框的使用

        标签框一般是用于,展示一个固定的文本内容,一步就可以实现。

lblId2 = tk.Label(text = '请输入内容所在列:',font='15').place(x=40,y=190)

       2.2.3 文本框的使用 

         文本框是前后端连接的一个重要组件,通常用于为用户提供输入的功能,所以文本框需要一个参数来记录用户的内容,代码如下:

#fileid用于保存用户输入内容 #fileid1则是创建的组件
fileid = tk.StringVar()
fileid1 = tk.Entry(windows, textvariable=fileid)
fileid1.place(x=60, y=140)     

       2.2.4 按钮的使用 

        按钮则是实现功能的重要组件,用户在输入文本框之后,点击按钮实现相应的功能,所以按钮需要连接一个功能函数:其中yuchuli是功能函数,在设计功能函数时需要调用文本框变量。

btnSer2 = tk.Button(windows,font='40', text='数据预处理', command= yuchuli)
btnSer2.place(x=500, y=430,width=150,height=50)

         2.2.5 表格的使用

        表格一般用于展示数据,需要提前设置好列名。

columns = [ '待查阅1', '待查阅2', '待查阅3','待查阅4','待查阅5','待查阅6']
table = ttk.Treeview(
        windows,  # 父容器
        height=15,  # 表格显示的行数,height行
        columns=columns,  # 显示的列
        show='headings',  # 隐藏首列
        )
table.place(x=250,y=40)

     2.2.6 背景图片的使用         

        背景图片的实现逻辑是通过创建一个透明的,在最底层的标签组件,然后将图片渲染到标签上,最终实现展示图形界面的效果。

三、项目的整体实现

        上面介绍完基本的使用方式之后,就可以开始自己的设计了,但整体的设计需要遵循几个重要的逻辑。

3.1 参数的有效性(用户良好性)

        小程序功能实现需要在按钮组件中连接功能函数,功能函数编写方式就像正常的代码编写一样,但需要注意的是,要提前考虑参数的有效性。什么是参数的有效性,就比如说,我的功能是要实现一个数据预处理,但如果用户没有导入数据,那数据处理这个功能也无法提起了。

        所以需要在功能函数中加入一个判断条件,以此来杜绝这种条件,代码实例如下:

def yuchuli():
    filepath = fileid.get()
    if filepath!="":    
        XXXXX
    else:
        tk.messagebox.showerror(title='错误!', message='请输入有效的文件名')

 3.2 项目实现逻辑

        整个项目实现共设计了两个页面和五个功能模块,五个功能模块分别为数据展 示模块、分词模块、命名实体识别模块、文本聚类模块和文本分类。那如何实现多个模块以及页面之间的连接呢。

        采用的基本逻辑如下,在使用第一个界面时,当点击换页按钮时,编写按钮的功能函数:将主页面窗口进行最底层隐藏,并创建新窗口及其组件,当点击功能按钮时,删除或更新原页面的一些组件,并创建新的组件来展示功能运行后的效果。

四、总结

        本篇主要介绍了tkinter的使用,并且介绍了相关的实现方法,希望对您有所帮助,如果您需要整个项目的源代码或者寻求帮助,可以私信博主,看到后就回回复。

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值