- 博客(40)
- 资源 (1)
- 收藏
- 关注
原创 【PyQt5】一行代码教你一件换头像
最近在做UI的时候碰到一个需求,客户希望能够快速的换头像,按照以前用PyQt设计的思路来看,需要以下几步:1.将图片导入PyQt5的资源管理器内2.将资源管理器的图片插入空间的样式表内,比如下图3.将UI文件转换为py文件,以及转换图片代码以上思路最大的好处是不牵扯软件之外的资源,软件运行过程中只要有一个exe的软件入口即可,但缺点也同样明显,修改比较麻烦,需要从UI界面替换文件实现更新。---------------------------------------------分割线-----
2022-05-26 22:10:05
893
原创 【PyQt5】换个思路解决tabWidget的切换问题
最近碰到一个UI的需求,客户需求是tabWidget在切换的时候,不是点上面的tab按钮,如下1位置所示,而是点击左侧的pushbutton按钮,第一次碰到这样 的需求,仔细考虑之后,觉得可以通过信号和槽函数的方式实现,具体思路如下:1.做好UI2.设定槽函数,这里注意到tabwidget,里面有个参数是currentIndex,就利用这个参数来写
2022-05-22 22:01:12
4074
3
原创 【数据分析】Numpy学习笔记(一)
最近在学习数据分析,到了numpy的学习阶段,边学边整理分享自己的学习笔记,希望能对你也有所帮助!这次的学习笔记包括以下内容:1.数组的创建方式2.多维数组的简单操作3.数组的索引和切片操作4.布尔索引5.数组值的替换操作6.数组的形状操作7.数组的叠加8.数组的切割9.数组的转置10.浅拷贝和深拷贝11.文件操作的几种方式
2022-04-17 21:58:28
1546
原创 【Python心得】教你一招,定制软件再也不担心被白嫖!
学习Python快两年了,给别人做定制也有一年多的时间了,有时赚到1000块的快乐,往往不如被白嫖了100块来的记忆深刻,可以说,也是吃亏吃多了,慢慢就长了记性!先说说自己的经历,开始给别人写代码的时候,多数都是要个结果,并不会直接要源代码,如果需要源代码,那也是在付清全款之后,所以自己一般都是转成exe格式的文件发给对方,测试没有问题之后再付钱,这样做,风险基本上都是在自己这里,但在开始几单非常顺利之后,自己也放松了警惕,直到某次一个5000的订单,客户拿了软件之后,就没有然后了。。。痛定思痛,自己.
2021-09-21 21:59:26
1576
12
原创 【PyQt5】教你一招,用timer计时器做个打地鼠的小游戏
最近在做项目的时候,需要对界面进行不断的刷新操作,在一定的时间内连续触发某个函数,按照之前Python里的思路,第一反应是用time函数,但实际的效果并不好,经常会卡住,后来尝试用pyqt5里自带的计时器,这个问题完美解决。做完项目顺边开了开脑洞,既然可以即时刷新,那么自然可以利用这一点设计个小游戏,比如打地鼠,废话不多说,先上效果!**(文末有素材和完整代码)**码字不易,喜欢请三联!不着急动手做,先来聊聊原理性的知识!一、关于Timer计时器PyQt5中自带的timer计时器,是一种固定间隔
2021-09-06 21:33:00
2938
3
原创 【PyQt5】教你一招,分分钟撸一个网易云音乐的UI界面
在使用PyQt5设计UI界面时,为了让控件看起来更美观,可以尝试给控件添加背景,通过不同的背景来达到更加美观的效果。 改变背景一般有两种方法,一种是在python代码中添加,另一种是在Qt designer设计UI时添加,两种方法都可以,个人更倾向于第二种方法,原因很简单,代码添加需要运行之后看到效果,然后再调整;而第二种方法,可以直接拖拉边框调整,相对更灵活和方便。 具体添加方法如下:1.添加资源。在Qt desi...
2021-07-30 23:12:36
5024
18
原创 【PyQt5】孩子要上小学了,写个软件做练口算吧!
孩子马上要上学了,出差路上顺手写个练习口算的程序跟大家分享下,如果家里有同款的宝宝,正好可以拿去,不谢!先说下自己的需求:1.基本的计算功能,本来想只写下加法就可以了,想了想顺手就把加减乘除都写了2.计算的范围可以通过界面修改,这样大概1-6年级都可以用了吧3.题目的数量可以设定4.正确错误可以进行统计和反馈5.如果不希望孩子用电脑,可以生成文件打印到纸上说完需求,聊下自己的思路1.设计UI在这里插入图片描述2.基本功能功能比较简单,所以就不每个点都陈述了,主要分享下几个点吧第一,
2021-02-24 10:36:51
755
2
原创 【python学习心得】Numpy数组相关操作(重置结构,叠加,转一维数组,切割和行列转置)
我们在使用Numpy过程中,经常会用到关于数组形状相关的一些操作,这里总结比较常用的5组操作,如下:1.reshape 与resize.两个方法都是关于数组结构重置的,但调用的方式不同,比如:import numpy as npa1 =np.random.randint(0,10,size=(4,5))a2 =a1.reshape(10,2) #reshape 调用a1.resize(10,2)如果我们结果进行打印,会发现是一样,但区别是采用reshape,我们需要一个参数接收返回值,但,但
2021-01-16 11:55:33
835
原创 【Python心得】解决PyQt5 UI更新同步问题
我们在使用Pyqt5制作UI过程中,通常的流程是:1.用Qt designer 设计好UI界面2.使用PyUIC将UI文件转换成py文件3.导入启动部分的代码但在实际使用过程中,我们经常会反复的调试UI界面,而每次重新生成py文件之后,如果我们在之前的同一个文件下编写代码,则会丢失这部分内容,为了解决这一点,利用python模块导入的思路,我们可以把UI生成的py文件作为一个模块,引用到新的文件中,在新的文件中只调用,关于槽函数等其他操作在新的文件中编写,这样就可以完美的解决代码重新生成的问题。自
2021-01-09 09:03:35
3749
1
原创 【python练习】Pyqt5 lineEdit输入后自动跳转
最近在软件定制过程中,碰到一个需求,在lineEdit输入完成后,客户希望自动跳转到下一个对话框,在常规的槽函数用,通常我们可以用tab或者回车进行操作,将焦点直接设置到下一个输入框就可以,但却无法实现自动跳转,比如下图所示,是可以直接跳转的,为了实现上面的需求,无意中发现可以textChange()方法过渡,也就是说每次输入框内容发生变化时,调用函数,只要达到输入完成的条件,就可以直接跳转到下一个输入框。比如我这次需求,输入框限定输入0-9十个数字,所以可以直接定义槽函数如下即可:self.line
2020-12-17 13:25:53
2919
原创 【python实例分析】docx模块-利用word样式表style简化代码
最近在做一个定制的时候,碰到了一个需求,需要用固定的格式输出到word中,第一反应就是用docx模块,但在实际应用中,碰到的问题是需要反复的更换样式,比如下面的例子:一段话中出现的多个不同的格式,字体不用,字号不同,间距不同,当然,我们可以通过代码进行设置,针对数量比较少的内容没有问题,但自己的需求是要批量输出,且格式较多,这样需要设置的代码就非常的多,且存在重复代码。面对这样的问题,我在无意中注意到写入文字两个方法,如下:doc.add_paragraph("要添加的文字")#添加段落parag
2020-12-17 12:10:10
1404
2
原创 【python实例】爬虫中HTML与中文的相互转化
我们在输入关键词进行爬取时,如果输入的是英文或者数字,通常都没有什么问题,但如果输入的是中文,因为编码的问题,通常会出现无法解码的错误。比如我们的关键词输入的是“风险”,但实际显示是KW后面的代码确实%B7%E7%CF%D5,所以如果我们想要进行中文的搜索,就需要对中文进行转换,通常需要用到urllib模块代码如下:import urllib.parse#Html代码中文转代码,和代码转中文ss1 ='%B7%E7%CF%D5'print(urllib.parse.unquote(ss1,
2020-10-17 16:32:01
954
原创 【Python实例分析】批量生成海报--自动添加姓名和二维码
最近参加了老男孩的一个python训练营,里面某项任务是要求在某个海报模板上批量添加姓名和二维码,生成类似下图的海报。图中我用红色方框标记的是需要修改的地方,先来聊下自己的思路:1.要进行图片操作,要用到pillow模块,可以直接进行文字的添加和图片的合成2.生成二维码可以用qrcode模块3.比较麻烦和没有头绪的是怎么去对文字定位,最后借助了PS,下文具体表述。第一步:因为自己会点PS,所以先对原图进行了修改,将二维码和姓名直接删掉,没有PS的小伙伴直接用手机上的软化也可以完成,之后保存为海
2020-10-12 15:57:20
4466
9
原创 【python小技巧】关于python中的字符对齐-ljust(),rjust(),center(),format()走一波
在我们需要输出内容的时候,为了页面的美观,常常需要进行格式化的输出,特别是对齐方式,最常用的对齐方法,或许是ljust(),rjust(),center()这三个吧。ljust():返回一个原字符串左对齐,并使用空格(或指定字符)填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串rjust():类似左对齐,为右对齐方式center():类似左右对齐,为居中对齐语法如下:str.ljust(要填充的字符个数,要填充的字符)实例如下:text ='我是标题'print(te
2020-08-22 15:26:07
833
原创 【python小技巧】startwith和endwith的文本匹配技巧
当我们需要对文本的开头或者结尾进行文字匹配的时候,通常会用到startwith和endwith两个方法,运行结果返回True或者Flase,可以用于判断,但有时我们需要的不仅仅是布尔值的判断结果,还会需要更多的数据,下面以endwith为例,介绍下这两个方法的使用技巧!**语法**endswith()方法语法:str.endwith(str, beg=0,end=len(string));**参数str – 检测的字符串。strbeg – 可选参数用于设置字符串检测的起始位置。stre
2020-05-26 17:03:48
1723
原创 自学python三个月,我接到了第一个定制,分享几点“坑”,请小心避过~
写在前面:1.本文比较长,干货比较多2.适合跟我一样的新手小白3.大神别略过,求带准确的说,是去年下半年开始接触python,但是因为工作等种种原因,一直都只是用非常缓慢的速度自己在看书,直到今年疫情爆发,在家待了一个半月,才有时间每天花十几个小时看书、看视频,即使三月份复工之后,每天都要坚持学习4个小时以上,虽然现在还是小白的很,但是至少直到后面的路该怎么走,接下来我会以下几个方面分享自...
2020-05-04 22:03:25
1503
原创 【python小技巧】字典的值比较大小及字典的排序
我们在对字典进行操作时,比如要比较大小或者排序这些操作,对于字典的键是可以的,但无法对值进行直接操作,比如下面的字典,price={ 'apple':20.59, 'BERKSHIRE':280000, 'amazon':296, 'alibaba':365}假设某个字典中存储了一些股票的价格,我们要筛选出价格最高的或者最低的股票,我们可以找出最低的价格,比...
2020-04-23 22:27:09
13578
原创 【python小技巧】并发中的'lock'---模拟买票的数据延迟问题
场景:我们在买票过程中,通常第一步先查找还有多少余票,然后点击购买,购买后,余票的数量-1,实际情况中是会有多人同时买票,其实就是一个并发的过程,但这个过程中,因为并发的子进程在读取数据,修改回填的过程中,可能会因为出现的延迟,造成数据的错误,比如这个例子,我们可以模拟20个人同时买票,设计1张余票,代码如下:from multiprocessing import Processfrom mu...
2020-04-02 12:01:39
184
原创 【python小技巧】并发中的守护进程---应用于主进程代码执行完成后,子进程同时结束的场景
当我们使用并发编程时,主进程会随着子进程的结束而结束,但子进程却不会随着主进程的结束同时结束,比如下面的测试代码,from multiprocessing import Processimport timedef func(): while 1: time.sleep(0.5) print('我在运行')if __name__=='__main__...
2020-04-02 10:37:07
537
原创 【python】模拟淘宝的客服自动回复系统-socket,json,time模块的应用
最近在研究soctet模块的过程中,尝试做个小的练习,第一反应是做个类似qq或者微信的即时聊天,这个需求相对比较简单,采用UDP协议很快就可以实现,为了提高点难度,于是决定尝试模拟淘宝的自动回复功能,决定要实现以下几个功能:1.客户端输入问题,抓取关键词后自动回复2.关键词的回复,也就是话术的内容,放到txt文档中,可以根据固定的格式增删改查,比如在txt文档中增加或者减少内容,代码执行...
2020-03-27 11:33:52
5124
2
原创 【python小练习】彩票系列-大乐透
今天的彩票系列练习是体彩的大乐透,前几天分别做了3D福彩,双色球和七乐彩的练习,链接如下,仅供大家参考。【python小练习】彩票系列-福彩3D【python小练习】彩票系列-双色球【python小练习】彩票系列-七乐彩说实话,随着python的不断学习,越来越深刻的感受到编程的魅力,比如自己刚学会编程的时候,只会用列表,for循环去写代码,碰到彩票的问题,第一反应就是往列表里面去添加元素...
2020-03-26 10:46:38
2652
原创 【python小练习】彩票系列-七乐彩
今天是彩票系列练习3,之前两个是3D福彩和双色球的练习,大家可以参考:【python小练习】彩票系列-福彩3D【python小练习】彩票系列-双色球今天做下七乐彩的练习,从开奖规则上来看,从1-30中选择7个基本号码,剩下的额外选择1个当特别号。说下思路:1.生成1-30内的随机数,如果不在预定义的空列表中,就添加进去,直到达到指定数量为止。2.特别同样的思路,不过是跟基本号码去比较。...
2020-03-25 10:53:25
1175
1
原创 【python小练习】彩票系列-双色球
昨天写了福彩3D的代码,有兴趣的可以翻翻下面的链接。【python小练习】彩票系列-福彩3D今天写个双色球的吧,先说说思路。1.定义一个空列表red,从1-33中生成随机数,如果不在red中,就添加进去,while循环直到元素有6个停止。2.从1-16中生成随机蓝球3.用zfill格式化输出即可代码如下:import randomprint('*'*6+'福彩双色球'+'*'*6)...
2020-03-24 12:03:08
1546
原创 【python小练习】彩票系列-福彩3D
之前写过一篇帖子怎么生成福彩3D的号码,并且产生中奖号码,并判断是否中奖,用的思路就是生成随机数,然后添加到列表中打印。具体的链接如下,供大家参考:python练习题】随机生成福彩3D号码,模拟开奖并判断是否中奖如果不进行判断,仅仅是输入结果的话,其实还有更简单的方法,就是用zfill()方法。zfill(width):指定字符串的长度。原字符串右对齐,前面填充0。width:要指定的字符...
2020-03-23 09:30:19
3219
原创 python利用win32com中的语音功能,给孩子做个计算题
疫情期间,孩子一直在家,快上小学了,试着让他练习下10以内的加减法,但问题在于孩子还不认字,于是决定利用python自带的语音功能,做个简单的交互。思路如下:1.生成2个10以内的随机数。2.生成运算3.判断结果4.每答对一题加分,最后输出代码比较简单,直接上了import randomimport win32com.clientdef speak(s): speaker...
2020-03-18 11:44:14
141
原创 python中的双下方法---带你从底层逻辑看python(__str__、__repr__、__del__、__call__)
我们在写代码的过程中,往往都是直接去取调用函数,比如len(),print()input()等等,事实上,这些方法或者函数在调用过程中,触发了很多内在的运行机制和底层逻辑,深入研究之后,我们能看到不一样的python,下面跟大家分享几个双下方法及他们的运行逻辑。双下方法:指的是带双下划线的方法,比如我们在类中非常常见的的__init__,今天我们要介绍的是__str__、repr、del、cal...
2020-03-17 12:32:53
367
原创 python中的反射---用字符串的调用函数和方法
我们在实际应用中会碰到这样的场景:写好代码之后,我们希望通过输入代码指令直接调用某个函数或者方法,通常的做法,我们会采用if语句来实现,a=input('<<<')if a == 要输入的指令代码块elif a==要输入的指令代码块....当需要的判断比较少的时候,这样做是没有问题的,但当需要判断的代码比较多的时候,代码就会变的非常长。这时我们可以利用反射来快速...
2020-03-17 10:39:52
3051
1
原创 【python心得】面向对象中你肯定会用到的的三个内置装饰器 @property @classmothod @staticmothod
当我们在python中用面向对象编程时,为了使代码更加简洁,或者实现一些特殊功能,往往会用到python内置的装饰器,其中,从常用的三个是@property @classmothod@staticmothod先来介绍@property,我们在类中调用对象的方法时,会使用对象.方法()的方式,当代码封装之后,如果我们不希望通过这样的方式调用,或者让调用的方式看起来像调用属性一样,例如采用对象...
2020-03-16 18:57:22
228
原创 python中类的封装--详解类中的私有变量、私有方法和静态属性
当程序完成的时候,有些数据和代码我们就不希望别人调用或者查看的时候,可以对程序进行封装,在python中主要就是进行变量或者方法的私有化。我们可以在变量或者方法前面加上__,两个下划线来进行私有化,使其变成私有变量或者私有方法,这样在外部就不可以直接调用了,类中私有化的内容由3个,分别是1)私有化变量2)私有化方法3)静态变量1.先说下私有化变量,比如下面的代码class Person...
2020-03-14 12:32:36
576
原创 疫情之后,我打算用python买彩票!(一)
受到疫情的影响,目前福利彩票还没有开始销售,无聊之下,自己陪自己写个程序模拟购买的过程,等到疫情过去,这就是我的彩票利器了,拿去不谢!之前写的3D福彩的模拟购买并查看是否中奖的代码,可以参考下面的链接:https://editor.youkuaiyun.com/md/?articleId=104487169我预想要达到的效果1.输入购买多少注,自动生成2.模拟生成中奖号码3.判断是否中奖,中了多少...
2020-03-11 08:40:55
944
1
原创 【python练习】生成不连续范围的随机数以及生成随机验证码
今天做练习的时候碰到这样一个需求:生成随机的5位验证码,以及后续的输入验证,相对后面的验证比较简单,就不赘述了。要求验证码由数字、字母组成,位置不固定。思路:1.由ascii码转换成数字和字母,用到chr()方法2.数字的ascii码范围是48-57,大写字母是65-90,小写字母是97-1223.用随机函数random生成的范围是单个的,所以考虑用2个随机函数嵌套,第一层生成1-...
2020-03-07 10:12:45
1709
原创 【python练习题】利用生成器实现对文件输入的监听及过滤
练习题:当文件保存时,对当前保存的内容进行抓取,比如函数运行时,先对所有的内容进行读取,文件写入新的内容,保存的同时,抓取新的内容,实现实时的监控!升级版:可仅对对敏感词进行抓取,比如字段中含有python,则进行抓取,否则不抓取思路:1.定义一个生成器函数,先读取文件内容2.如果读取的内容不为空,yield 当前值3.输入内容def tail(file): with ope...
2020-02-28 22:49:14
180
1
原创 函数装饰器的基本格式,带参数的装饰器,以及多个装饰器同时装饰一个函数
目录:1.装饰器的标准格式,及使用方法2.带参数的装饰器3.多个装饰器装饰同一个函数1.装饰器的标准格式,及使用方法我们在使用函数的过程中,有时在定义好一个函数之后,还想增加一些新的功能,在不改变原函数的情况下,可在原函数的前后增加新的代码。方法:在定义函数过程中,再定义一个新的函数,通过传参的方法进行嵌套实现功能。基本语法如下:def wrapper(func()): d...
2020-02-27 22:13:26
461
原创 【python练习题】利用列表对文件的格式化输出
很多数据在采集之后,数据内容往往很难直接阅读,比如下面的数据是以某种格式排布的一系列格式,我们在读取时,需要转换为可读的形式,比如转换后变成下面的样式思路:1.读取文本中的信息,然后拆分添加到空的列表中在这里插入代码片with open('log','r',encoding='utf-8') as l: for i in l.readlines(): li.ap...
2020-02-27 18:35:46
775
转载 判断输入的内容为浮点数
常规判断是否为数字的方法是用isdigit()方法直接判断就可以了,但是对于浮点数而言,结果是False,所以我们可以用isdigit()判断是否为整数,却无法判断是否为浮点数,否则会报错。利用这一点,参考下文https://www.zhihu.com/question/29906744做了修改,具体如下:def num(f): try: f=float(f) ...
2020-02-26 17:30:14
1755
原创 【python练习题】随机生成福彩3D号码,模拟开奖并判断是否中奖
今天学习完,随手练习了下函数的的定义,说说要求:输入要购买彩票的数量,模拟福彩3D的号码的生成,模拟彩票开奖情况,并判断是否中奖,中奖后中奖号码的数量,及中奖金额。说说思路:1.定义生成彩票的函数。随机生成3个0-9的数字,并添加到列表中,生成1个3D号码,再将这个号码添加到总的列表中。def lottery(num): list_sum=[] #定义总的彩票购买池 ...
2020-02-24 22:29:56
6129
原创 python isinstance()函数的用于列表嵌套的循环输出
要求:输出列表[“dd”,“sd”,“sadf”,[“as”,“sd”,“aa”]]中的每个元素,如果遇到列表,则输入嵌套列表中的元素,输出结果为ddsdsadfassdaa思路:利用for循环可以实现列表的遍历,但是嵌套的列表会整体输出。所以,考虑在遍历中加入if语句判断是否为列表,如果是,再次循环输出。判断是否为列表,可以用isinstacn(str,list)str:为要...
2020-02-18 00:20:40
772
原创 python中isdigit() isalpha()用于判断字符串的类型
要求1:统计某个字符串中的数字数量并输出,例如字符串为“adsfsd1adf23sdfa12”思路:遍历字符串,用isdigit()方法判断是否为数字,如果为数字,统计+1代码如下:str=input("请输入任意字符串")num=0 #统计基数for i in str: #遍历字符串 if i.isdigit(): #判断是否为数字 num+=1...
2020-02-18 00:19:24
1240
1
利用python将图片填充到excel
2022-04-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人