前几篇向大家介绍了词云自动生成工具(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高手养成

python color属性_使用Python制作一个带GUI界面的词云自动生成工具(连载七)相关推荐

  1. python词云去除词_使用Python制作一个带GUI界面的词云自动生成工具(连载五)

    上一篇中我们介绍了自动生成词云工具(GUI)中数据清洗界面的实现过程(详解词云自动生成工具的数据清洗界面制作过程(连载四)),了解掌握了Grid.Pack混合布局的方法.本篇我们将讨论Python自动 ...

  2. python制作软件界面_使用Python制作一个带GUI界面的词云自动生成工具(一)

    在现实生活中你可能会遇到这种情况:想知道一篇论文中哪个词语最多,哪些词语最少(以此判断文章的主要内容):想知道一部小说中哪一个人物出现的次数最多(当然,出现次数最多的那个人也不一定是主脚):想知道一部 ...

  3. python界面gui随机生成器_Python 实现的、带GUI界面的词云生成器

    详细说明: "词云"就是数据可视化的一种形式,给出一段文本,根据文本中词语的出现频率而生成的一幅图像,从而过滤掉大量的文本信息,人们只要扫一眼就能够明白文章主旨,使得数据分析的结果 ...

  4. python 惰性属性_在Python中处理惰性JSON-“期望属性名称”

    我正在使用Python(2.7)'json'模块来处理各种JSON feed.不幸的是,这些提要中的某些不符合JSON标准- 特别是某些键没有用双语音标记(")包装.这导致Python出现错 ...

  5. python color属性_模块“cv2.cv2”没有“COLOR”属性“BGR2GREY”

    运行脚本时出现以下错误:Traceback (most recent call last): File "C:/PyCharm/SDC_1/Lane_Finding.py", li ...

  6. html自动生成工具_「写论文神器」一个好用的论文自动生成工具,内含30w 文献数据...

    最近这不是快到考试周了嘛,毕竟其他东西分量再重,也重不过考试.但是文章发出去才发现事情好像不是那么简单,好像和考试相比,眼下更紧迫的应该是作业才对.比如,你们亲爱的小编我已经连续五天凌晨三点睡了,说实 ...

  7. 用java写ods系统_基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(TableGo v7.0.0版)...

    TableGo是基于数据库的代码自动生成工具,低代码编程技术的实现,可以零代码自动生成SpringBoot项目工程.生成JavaBean.生成前后端分离的CRUD代码.生成MyBaits的Mapper ...

  8. java生成iso9660工具_基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(TableGo v7.0.0版)...

    TableGo_20210212 v7.0.0 正式版发布,此次版本更新如下: 1.新增对DB2数据库的支持 2.新增按字段生成文件,支持把字段.JSON.XML数据转换成任何代码 3.新增大量新的自 ...

  9. mysql javabean 工具_基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(v6.9.0版)...

    TableGo_20200520 v6.9.0 正式版发布,此次版本更新如下: 1.新增对JDK9及以上版本Java环境的支持 2.生成JavaBean更名为生成数据模型并且提供了C#.C++.Gol ...

最新文章

  1. 水面加上了Perlin Noise
  2. 西南大学网络教育计算机辅助设计,2017年秋西南大学继续教育9123《计算机辅助设计》.docx...
  3. 用php编写一个强迫身份认证,php创建基本身份认证站点的实现方法
  4. php imagecreatefromjpeg图片太大_PHP图像处理技术及应用
  5. Handler BlockViewHandler has a bad module ManagedPipelineHandler in its module list
  6. 随想录(设计软件模块的接口)
  7. 图像处理常见算法(C++/OpenCV)
  8. 动态规划之背包问题 - 01背包+完全背包+多重背包
  9. Java se 8最新下载地址JDK8最新下载地址
  10. 2020年六十款数据分析的可视化工具推荐
  11. 视频教程-Visio应用视频教程(上)-Office/WPS
  12. 在‘句子迷’爬取网友总结的方文山歌词并作词频统计
  13. java中竖线怎么画_java split | (竖线)
  14. 语音情绪识别.PDF
  15. .shtml网站解析UnicodeError
  16. “超级计算机”——GPU云服务器
  17. 【JAVA】经典排序算法,注释详细+可直接运行
  18. Android 耳机检测原理介绍
  19. 微信小程序实战篇-电商(一)
  20. 进程间通信之面包师问题

热门文章

  1. MSP432P401R TI Drivers 库函数学习笔记(六)UART 串口
  2. centos7 下安装Poco
  3. 文件系统ext3的文件大小限制
  4. gsoap使用心得!
  5. React开发(264):react使用国际化
  6. [react] constructor和getInitialState有不同?
  7. 前端学习(3297):effect的使用
  8. [html] 页面刷新时sessionStroage会变(会清空)吗?
  9. [vue] vue怎么缓存当前的组件?缓存后怎么更新?
  10. 前端学习(2865):公开课封装组件库介绍