前几篇向大家介绍了词云自动生成工具(GUI)的详解GUI词云自动生成工具中词云属性设置界面的实现(连载六)。通过前面内容我们基本构建出了词云自动生成工具的主要框架。本篇结合tkinter中的filedialog和colorchooser的使用,将词云属性界面的事件处理进行完善。
有趣的
不赘述,直接开始吧。
【分析】
我们知道,在设置词云保存位置、词云轮廓图片、词云字体文件、词云背景色四个选项时,需要使用到tkinter.filedialog和tkinter.colorchooser,tkinter.filedialog.ask*用于弹出文件处理对话框,而colorchooser.askcolor用于弹出颜色选择对话框。
颜色选择对话框很方便哦
在选择词云保存位置时,我们使用tkinter.filedialog.asksaveasfilename()通过弹出一个文件保存对话框来选择具体的词云保存位置,而在选择词云轮廓图片和词云字体文件时,我们需要使用tkinter.filedialog.askopenfilename()来弹出一个文件打开对话框来选择具体的属性。本篇只对askopenfilename()、asksaveasfilename()、askcolor()三个创建弹出对话框的函数使用进行梳理,其他弹出对话框的使用请搜索网络获取。
【目标】
通过上面的分析,本篇先对弹出对话框的使用进行梳理,在此基础上,对词云属性设置界面的事件处理进行完善,具体实现见下图。
词云属性设置界面部分事件处理分析
【知识点】
我们主要来梳理一下askopenfilename()、asksaveasfilename()、askcolor()这三个常见函数创建对话框界面的方法。其实,对于tkinter中对话框的创建都是大同小异的,通过这三个函数大家基本能够掌握一般方法。
这些内容我们前面的博文有涉及哦
关注Python高手养成的读者朋友们肯定知道,对于上面这些对话框我们老早之前就已经回顾过了,不知道怎么使用的请参见(Python使用tkinter界面编程中对话框样式汇总),这篇内容就是本篇的知识点,感兴趣的读者朋友们自行回顾。
对话框是一种很常见的人机交互方式
现在,我们编写词云自动生成工具中词云属性设置的几个事件函数。编写之前,我们知道如果要设置词云的属性,最好以键值对的方式呈现出来,我们之前也定义了一个关于词云属性的字典(info_dict),在使用控件呈现设置属性的同时,我们将词云的各个属性加入到字典中,方便我们以后生成词云实例。
【编码】
主要是实现词云属性设置界面的几个事件实现函数,具体代码如下图所示。
属性设置界面事件实现代码
在每一个事件函数中,我们先弹出对话框获得相应的属性值,然后将属性值在相应的控件内进行展示,我们将各个属性定义为类的实例变量,这样,就不需要每次将属性加入到info_dict字典中了。对于设置的其它属性,我们直接在这一步页面跳转中使用Pmw.EntryField控件的get()方法获取其文本内容即可。我们来看一下选择词云文件保存位置这一功能的效果(其它不再截图),效果如下图所示。
选择保存位置效果图
其它的读者可以自己试试看,不再做具体展示。
【总结】
好了,我们已经实现了词云属性设置的功能,通过本篇内容的学习,我们可以试着回顾一下tkinter中对话框的使用。但是,我们如何将这些属性汇总后生成一个词云图呢?我们下篇内容将进行详细讲解,当然,我们需要用到之前做过的一个词云类(使用Python分析现行《婚姻法》内容并生成词云),后续我们会用到其中的MyWordCloud类(怎么样?类的好处在这里呈现了)。感兴趣的朋友们欢迎关注并留言讨论。
转载请注明出处,百家号:Python高手养成