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

前几篇向大家介绍了词云自动生成工具(GUI)的详解GUI词云自动生成工具中词云属性设置界面的实现(连载六)。通过前面内容我们基本构建出了词云自动生成工具的主要框架。本篇结合tkinter中的filedialog和colorchooser的使用,将词云属性界面的事件处理进行完善。

4b90f603738da9775c4e7e72e97f841c8618e33e.jpeg?token=3513df651e0cf1ea3e9cd545e5622446&s=04BE78325999FFEB091252E403007026有趣的

不赘述,直接开始吧。

【分析】

我们知道,在设置词云保存位置、词云轮廓图片、词云字体文件、词云背景色四个选项时,需要使用到tkinter.filedialog和tkinter.colorchooser,tkinter.filedialog.ask*用于弹出文件处理对话框,而colorchooser.askcolor用于弹出颜色选择对话框。

3ac79f3df8dcd1000d46fa502ba53b15b8122f98.jpeg?token=d15379b3e4a696c90808398ecc13e8b6&s=A65A7E9641A1D4E35A799CFE03009033颜色选择对话框很方便哦

在选择词云保存位置时,我们使用tkinter.filedialog.asksaveasfilename()通过弹出一个文件保存对话框来选择具体的词云保存位置,而在选择词云轮廓图片和词云字体文件时,我们需要使用tkinter.filedialog.askopenfilename()来弹出一个文件打开对话框来选择具体的属性。本篇只对askopenfilename()、asksaveasfilename()、askcolor()三个创建弹出对话框的函数使用进行梳理,其他弹出对话框的使用请搜索网络获取。

【目标】

通过上面的分析,本篇先对弹出对话框的使用进行梳理,在此基础上,对词云属性设置界面的事件处理进行完善,具体实现见下图。

4bed2e738bd4b31cddf643c7ddf85b7a9f2ff8bc.jpeg?token=5b6c105f0a9dc023bde165e64b835c8e&s=6FC2E91A19DF65C80E494CEB0200A036词云属性设置界面部分事件处理分析

【知识点】

我们主要来梳理一下askopenfilename()、asksaveasfilename()、askcolor()这三个常见函数创建对话框界面的方法。其实,对于tkinter中对话框的创建都是大同小异的,通过这三个函数大家基本能够掌握一般方法。

b151f8198618367a4837ec43775df7d1b21ce5a2.jpeg?token=ce3294a00dc6f1994829fb2eae843d2a&s=2FC4E91755C058F040F0F8F701008033这些内容我们前面的博文有涉及哦

关注Python高手养成的读者朋友们肯定知道,对于上面这些对话框我们老早之前就已经回顾过了,不知道怎么使用的请参见(Python使用tkinter界面编程中对话框样式汇总),这篇内容就是本篇的知识点,感兴趣的读者朋友们自行回顾。

3801213fb80e7becfa5dca177600c53d9a506b71.jpeg?token=8a7138c606ebcb73e3ae0879f8ac015c&s=0EE0C81657335F80127564D90300E0B3对话框是一种很常见的人机交互方式

现在,我们编写词云自动生成工具中词云属性设置的几个事件函数。编写之前,我们知道如果要设置词云的属性,最好以键值对的方式呈现出来,我们之前也定义了一个关于词云属性的字典(info_dict),在使用控件呈现设置属性的同时,我们将词云的各个属性加入到字典中,方便我们以后生成词云实例。

【编码】

主要是实现词云属性设置界面的几个事件实现函数,具体代码如下图所示。

42a98226cffc1e172c003cd010be8a06728de94c.jpeg?token=2042a08c505b2d3564d255deb841b155&s=E0C293444AA0B168165C5C0F020050C0属性设置界面事件实现代码

在每一个事件函数中,我们先弹出对话框获得相应的属性值,然后将属性值在相应的控件内进行展示,我们将各个属性定义为类的实例变量,这样,就不需要每次将属性加入到info_dict字典中了。对于设置的其它属性,我们直接在这一步页面跳转中使用Pmw.EntryField控件的get()方法获取其文本内容即可。我们来看一下选择词云文件保存位置这一功能的效果(其它不再截图),效果如下图所示。

6a63f6246b600c331e3e303443622d0ad8f9a1bf.jpeg?token=e677038d6ba5cc4c3bb0284ded894047&s=C892ED121D9E75C81E7800E90300B032选择保存位置效果图

其它的读者可以自己试试看,不再做具体展示。

【总结】

好了,我们已经实现了词云属性设置的功能,通过本篇内容的学习,我们可以试着回顾一下tkinter中对话框的使用。但是,我们如何将这些属性汇总后生成一个词云图呢?我们下篇内容将进行详细讲解,当然,我们需要用到之前做过的一个词云类(使用Python分析现行《婚姻法》内容并生成词云),后续我们会用到其中的MyWordCloud类(怎么样?类的好处在这里呈现了)。感兴趣的朋友们欢迎关注并留言讨论。

转载请注明出处,百家号:Python高手养成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410465.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

com 名字对象(3)使用IMoniker

一.名字对象比较 Hash和IsEqual方法 IMoniker* moniker2NULL; CreateFileMoniker(OLESTR("F:\\test.xlsx"),&moniker2); DWORD dw; moniker2->Hash(&dw); IMoniker* moniker3NULL; CreateFileMoniker(OLESTR("F:\\test2.xlsx"),&moniker3);…

python爬取微博评论_用 python 爬取微博评论并手动分词制作词云

最近上海好像有举行个什么维吾尔族的秘密时装秀,很好看的样子,不过我还没时间看。但是微博上已经吵翻了天,原因是好吧,这不是我们关心的,我的心里只有学习我爱学习 Python 爬虫 本次爬取的是这条微博这条微博 微博的移…

公众号出现该公众号提供的服务出现故障分析

近日公众号出现了 出现该公众号提供的服务出现故障的错误提示 百度了一下这种错误的可能性 在这里插入图片描述 1. 程序后台未回复微信success 2. 5秒内无响应 3. 授权给了多个第三方平台,其中一个不可用。 4. ToUserName和 FromUserName 参数不正确无法找到接收…

数据结构之栈对逆BoLand表达式的计算

一. 后缀表达式: 后缀表达式,逆波兰表达式,是指运算符位于操作符之后,计算机对该式是从做到右进行计算,计算过程如下例子 二.计算思路 对于后缀表达式的计算,需要一个栈即可, 即遇见数字压栈,遇见运算符从栈中取出两个数,根据运算进行操作, 需要注意的是,减法以及除法都是后出栈…

[html] html中在span标签里面可以放那些标签?

[html] html中在span标签里面可以放那些标签? 都可以,但原则上不要。个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

得到WebService应用程序的路径

[WebMethod] public string ShowWebServicePhysicalPath() { string strpathSystem.Web.HttpContext.Current.Request.PhysicalPath; return strpath.Substring(0,strpath.LastIndexOf("\")); }转载于:https://www.cnblogs.com/lanbaoming/archive/2…

c++ fork 进程时 共享内存_c/c++ Linux 进程间通信------共享内存

1. 什么是共享内存共享内存(Shared Memory),指两个或多个进程共享一个给定的存储区。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用C语言函数malloc分配的内存一样。而如果某个进…

云服务器个人入门主机对比和分析

最近阿里云的云服务器快到期了,看看了市场上的各大云主机,然后进行了整理和对比希望对初次买云主机的用户有帮助 阿里云 学生主机腾讯云 学生主机百度云 学生主机华为云金山云滴滴云 DC2云服务器品牌类型CPU内存带宽硬盘价格所需用户阿…

[html] const nums1 = [1, 2, 2, 1], nums2 = [2] 交集是什么?

[html] const nums1 [1, 2, 2, 1], nums2 [2] 交集是什么? let a [1, 2, 2, 1]; let b [2]; let aSet new Set(a); let bSet new Set(b);let intersection Array.from(new Set(a.filter(v > bSet.has(v)))) console.log(intersection); // [2]个人简介 …

数据结构之栈实现中缀转后缀并计算结果

一.中缀变后缀过程分析 给定一个中缀,最后变为后缀的过程其实并不算复杂,下面分析一下过程: 1. 首先面对一个中缀表达式,我们需要两个栈,一个用来存放运算符,即符号栈 operatorstack,一个用来存放数字,运算符,即数字栈 numStack 2. 开始扫描中缀表达式 3.遇到操作数时,我们直接…

TreeView 小技巧

1、在把treeview的check事件给封了之后,在双击的情况下仍然会选中。这个要通过处理消息来解决。 解决: 在调用的时候将这个事件给过滤掉 if (e.Node.ForeColor Color.Gray) e.Cancel true; 自定义treeview中加入以下方法 protected ove…

python爬取新闻网站内容_python爬虫案例:抓取网易新闻

此文属于入门级级别的爬虫,老司机们就不用看了。 本次主要是爬取网易新闻,包括新闻标题、作者、来源、发布时间、新闻正文。 首先我们打开163的网站,我们随意选择一个分类,这里我选的分类是国内新闻。然后鼠标右键点击查看源代码&…

PHPRedis教程之geo

前言 支持 GEO 系列命令的 Redis 版本从 3.2.0 起开始才可以使用,所以之前版本就不要想了。 函数列表 geoadd - 将指定的地理空间项(纬度,经度,名称)添加到指定的键, 数据作为有序集存储在 Redis 中。 GEOA…

如何查看QQ和微信查看授权过那些应用?

平时生活中,要登录一些网站或者app时,为了省事儿,都用第三方登录,登录是简单快捷了一些 时间长了,授权过的那些应用都不知道了,甚至一些应用你没用去授权权限也一直开放给别人网站的 所以为了自己帐号的安全还是有必…

[html] 说说你对H5的SharedWorker的理解,它有什么运用场景?

[html] 说说你对H5的SharedWorker的理解,它有什么运用场景? 一种特定类型的 worker,可以从几个浏览上下文中访问,例如几个窗口、iframe 或其他 worker。多个标签页之间通信个人简介 我是歌谣,欢迎和大家一起交流前后…

Spring 注解AOP 入门

XML <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xmlns:context"http://www.springframework.org/sche…

python常用函数的用法_python3 文件操作常用函数用法示例

1. file.close() 关闭文件。关闭后文件不能再进行读写操作&#xff0c;需要重新打开才能进行读写。f open(demo.text , r) # 使用只读方式打开文本 print(f.read()) # 打印demo.text文件内容 f.close() # 关闭文件 2. file.flush() 将缓存区中的数据立刻写入文件&#xff0c;同…

[html] 制作页面时,前端如何适应各种异形屏?

[html] 制作页面时&#xff0c;前端如何适应各种异形屏&#xff1f; 主要内容区域大小固定&#xff0c;固定在页面中间&#xff0c;两边可伸缩 width:1200px; margin:0 auto;个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很…

awk的妙用

终端形式有人说awk的优势在于可以个性化输出命令&#xff0c;这么说来太抽象了&#xff0c;假如我们查看占用6379端口的进程信息。 lsof -i:6379 输出结果&#xff1a; COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME redis-ser 17474 root 6u IPv6 71242 …

追求真实

是选择在迷茫中生活然后死去 还是选择追求真实&#xff0c;在追求的路上死去。 两种方式共同点是死去的时候都是迷茫的。不得不说是生命的悲剧&#xff0c;不过也可以说是生命的精彩转载于:https://www.cnblogs.com/cuihongyu3503319/archive/2011/08/07/2130204.html