
python
文章平均质量分 73
python语言专栏
WenCoo
擅长linux下软件开发,qt,ffmpeg音视频二次开发。
展开
-
python3使用lxml解析xml时踩坑记录
以下是使用 Python 的 lxml 库解析并提取 XML 数据的完整示例代码:python复制。原创 2025-03-21 15:36:18 · 1117 阅读 · 0 评论 -
python--使用pika库操作rabbitmq实现需求
有这样业务场景,算法部的同事有一个算法需要集成,有国内和国外两条链路,使用rabbitmq对应的试两个队列,但是他的算法只能开启一个实例,不能开两个进程,否则计算资源不足会崩溃(此处我想吐槽,做算法这帮人,工资又高,结果工程能力太差啦,所谓的算法也不过把github的开源库拿来改改参数,怎么好意思叫算法,搞不懂现在的中国互联网环境了),基于以上原因,需求则是需要在只开一个实力的情况下,消费两个队列里的任务。前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。原创 2024-04-22 17:27:57 · 1606 阅读 · 1 评论 -
pyqt5-34. 生成二维码
安装支持二维码的库遇到报错解决方案:https://www.pythonheidong.com/blog/article/323473/pip install pillow使用参考:https://www.cnblogs.com/dcb3688/p/4241048.html直接使用二维码库pip install qrcode代码:‘’’import qrcode#二维码显示img = qrcode.make(recv[“linkUrl”])img.save(“images/qrco原创 2020-10-09 18:41:49 · 280 阅读 · 0 评论 -
pyqt5-30. QWidget设置圆角,使用qss设置失败
https://blog.youkuaiyun.com/leiqiaoqu1736/article/details/106228561/‘’’bitmap = QBitmap(self.size())bitmap.fill()painter = QPainter(bitmap)painter.begin(self)painter.setPen(Qt.NoPen)painter.setBrush(Qt.black)painter.setRenderHint(QPainter.Antialiasing)p原创 2020-10-09 18:41:01 · 1244 阅读 · 0 评论 -
pyqt5-28. 使用列表实现文件系统层级访问
在制作网盘时,肯定要涉及文件目录访问,层级变换,这就是一个小型的文件系统 啊,一般的在文件系统上,都会使用树的数据结构,来保证文件的层级正确,我现在的项目只是一个网盘的项目,感觉用树的算法,有点杀鸡用牛刀了(其实主要是我!不!会!,尴尬!),所以决定使用dict和list组合来实现树的效果,完成文件正确的层级变换访问,这里先说一下QFileDialog和本文讲述的方式的不同:QFileDialog 访问本地的文件系统,系统自带gui类,调用简单本文方式,通过通信,访问服务器存储的网盘文件系统(姑且叫原创 2020-10-09 18:39:26 · 386 阅读 · 0 评论 -
pyqt5-24. tablewidgets选中状态
https://www.cnblogs.com/fuqia/p/9191587.htmlhttps://blog.youkuaiyun.com/u011731378/article/details/79120546在《pyqt5-9. widgetstable的全选和取消 》中已经描述过选中状态,这里还要单独补充一下,就是可以获知选中的是哪一行,通过哪一行可以获取到每一列的值,实现不管点击的是一行中的那一列位置,都可以知道我们想要知道的哪一列的信息,并且是唯一的。...原创 2020-09-20 22:10:17 · 3205 阅读 · 0 评论 -
pyqt5-23.类windowns实现
windowns效果:该路径下的每一个路径均可点击,并且>单机会显示当前目录下的文件列表,该功能使用pyqt5实现:在实现该功能的时候,使用到类QSignalMapper,该类在网上有不少示例,但是我的使用略有不同,一般使用情况:事先确定好了有多少个button,然后对button进行编号,在信号里进行处理动态生成button由于button生成是根据用户点击来确定的,所以,不能事先确定button的数量,需要动态生成,但是动态生成时,出现的情况时点击一个按钮,槽触发多次成因:用于时原创 2020-09-20 22:09:16 · 205 阅读 · 0 评论 -
pyqt5-22.Qlabel自适应文字的大小,随输入文字变长
https://blog.youkuaiyun.com/qq_38161040/article/details/88852923https://blog.youkuaiyun.com/qq_36591505/article/details/104657198调用resize()重新设置lable的大小即可原创 2020-09-20 22:07:32 · 5006 阅读 · 3 评论 -
pyqt5-21.多线程数据库连接错误
QSqlDatabasePrivate::database: requested database does not belong to the calling thread.连接数据库的名字不可以使用一个,创建一个随机数,保证不重复https://forum.qt.io/topic/113422/requested-database-does-not-belong-to-the-calling-threadhttps://blog.youkuaiyun.com/shawzg/article/details/96原创 2020-09-20 22:06:44 · 700 阅读 · 0 评论 -
pyqt5-20. 文件对话框QFileDialog的使用
https://blog.youkuaiyun.com/humanking7/article/details/80546728https://doc.qt.io/qt-5/qfiledialog.html#getOpenFileName''' QFDialog = QFileDialog() QFDialog.setFileMode(QFileDialog.Directory | QFileDialog.ExistingFile) (filename,filetype原创 2020-09-20 22:06:07 · 1014 阅读 · 0 评论 -
pyqt5-19. 线程池
https://blog.youkuaiyun.com/qq_40658762/article/details/104879919https://baijiahao.baidu.com/s?id=1652900816694167505&wfr=spider&for=pchttps://www.cnblogs.com/sherlock-lin/articles/11708966.htmlhttp://www.manongjc.com/article/47765.htmlhttps://blog.c原创 2020-09-20 22:04:54 · 2093 阅读 · 2 评论 -
pyqt5-18. 多线程
https://blog.youkuaiyun.com/this_is_id/article/details/90746910https://blog.youkuaiyun.com/amnes1a/article/details/69941734https://blog.youkuaiyun.com/Spwper/article/details/80292004使用线程,实现异步通讯的简单处理方法,在程序启动初始化时,将该线程启动运行即可'''from PyQt5.Qt import *import threading,queu原创 2020-09-20 22:04:06 · 250 阅读 · 0 评论 -
pyqt5-15.QDialogButtonBox操作实例代码讲解
https://blog.youkuaiyun.com/henni_719/article/details/72235343https://www.cnblogs.com/LaoYuanPython/p/11931596.html在designer中,QDialogButtonBox如下图所示:就是一组固定的确定,取消按钮一般不会用到,都是自己做按钮,好和其他界面统一,在这里不多做介绍了...原创 2020-09-20 22:01:31 · 1970 阅读 · 2 评论 -
pyqt5-13. QLabel出现一会然后消失,起到提示作用
https://blog.youkuaiyun.com/u013782830/article/details/51755571思路:设置一个定时器,去改变label的可见度,或者到时直接隐藏'''定时器时间,默认3s,之后隐藏提示'''timecount = 3def onSure_but(self): self.timecount = 3 self.timer = QTimer(self) input_mess = self.inputlineEdit.text() fl原创 2020-09-20 22:00:20 · 1655 阅读 · 0 评论 -
pyqt5-12. QWidget设置模态对话框
https://blog.youkuaiyun.com/zhuoyue008/article/details/82704572http://jiuaitu.com/python/426.html方法 描述setWindowTitle() 设置对话框标题setWindowModality() 设置窗口模态。取值如下: Qt.NonModal - 非模态 Qt.WindowModal - 窗口模态 Qt.ApplicationModal - 应用程序模态该属性既可以在代码中设置原创 2020-09-20 21:58:54 · 2218 阅读 · 0 评论 -
pyqt5-10. 字典数据遍历
'''@description: 遍历整个字典,去除对应的valueis_end_tra 用来标记递归推出标志value_result 用来承接返回值@param {type} @return: '''is_end_tra = Truevalue_result = ""def traverse_map(data,kval): global is_end_tra global value_result if False == is_end_tra: r原创 2020-06-27 09:57:56 · 978 阅读 · 0 评论 -
pyqt5-9.按钮菜单
#new_Button是一个新建的按钮menu = QMenu(self) menu.addAction(_translate("f_1", "文件")) menu.addAction(_translate("f_2", "文件夹"))#连接槽 menu.triggered.connect(self.slot_new_creat_clicked) self.new_Button.setMenu(menu)#去掉默认的向下箭头原创 2020-06-27 09:56:23 · 983 阅读 · 1 评论 -
pyqt5-8.qss样式美化1
pyqt中对样式的编辑是借鉴了css,qt的样式美化规则是叫qss,其语法与css一样,所以在我什么都不了解的时候,要去看一下css语法是怎样,https://www.runoob.com/css/css-tutorial.html菜鸟教程的css篇,看起来很多,静下来看3-4个小时就看完了,然后再看下qss,qss就是把css的里面类的名字换成了qt里面的控件,其他的几乎没什么变化,当然,qss是没有css强大的,所以有些功能可能无法使用,但是美化界面应该足够用了。下面贴一个qss的文件,供参考:原创 2020-06-13 16:10:16 · 1810 阅读 · 0 评论 -
pyqt5-7.带图标的按钮
button使用setIcon()方法,可以在button的左边设置一个图标self.button = QPushButton()icon1 = QtGui.QIcon()icon1.addPixmap(QtGui.QPixmap(":/icon/images/icon/shanchu.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)self.button.setIcon(icon1)给按钮组设置图标如下:def button_switch_clicked原创 2020-06-13 16:08:36 · 3127 阅读 · 2 评论 -
pyqt5-6.中Qlabel中的图片填充
QLabel提供文本和图像的显示,只是一种展示控件,不能进行用户交互;继承自QFrame;QLabel对象作为一个占位符可以显示不可编辑的文本或者图片,也可以放一个gif动画,还可以作为一个提示标记作为其他控件;该标签可以放纯文本,链接或者富文本信息;继承关系如下:QObject---+ QPaintDevice--+ QWidget--+ QFrame--+ +---QLabel...原创 2020-06-13 16:07:27 · 1226 阅读 · 0 评论 -
pyqt5-5.QMovie和QSplashScreen
QMovie类用来加载gif格式的图片,QSplashScreen类用来加载静态图片,他们都需要使用QLable容器接收,然后进行显示原创 2020-06-13 16:06:17 · 1322 阅读 · 0 评论 -
pyqt5-4.界面与通信的异步实现(信号与槽)
方案1:信号与线程程序启动,创建一个线程(存活周期:直到软件关闭),当点击事件发生,发送信号,该信号连接两个槽,A负责界面变化切换,B进行后台通讯,B通讯结束,再通过信号将结果返回到界面切换,通过这种机制实现界面与通信的分离。流程图如下:结论:经过代码测试,发现这个方案并非是异步的,而是同步的,原因是同时连接两个槽,这个槽机制应该是一个列表,串行执行的,必然两个槽的执行会存在先后问题,当一个阻塞,另一个也就阻塞了。方案2:线程程序启动,当点击事件发生,发送信号,该信号连接一个槽,槽负责界面变化切原创 2020-06-13 16:05:34 · 1826 阅读 · 0 评论 -
pyqt5-3.的窗口最小化,最大化与恢复
窗体继承QWidgets,所以我们自定义的按钮只需要将槽连接过去就可以了,窗口关闭self.toolButton_close.clicked.connect(self.close)窗口最小化self.toolButton_min.clicked.connect(self.showMinimized)窗口最大化与恢复self.toolButton_max.clicked.connect(self.slot_max_or_recv)def slot_max_or_recv(self):原创 2020-06-13 16:03:49 · 8728 阅读 · 3 评论 -
pyqt5-2.加载gif蒙版实现等待效果
liading效果使用QMovie类来加载gif格式图片,使用QLable标签来做容器呈现gif,代码如下# -*- coding: UTF-8 -*-'''@Author: chenjianwen@Date: 2020-06-03 15:15:27@LastEditTime: 2020-06-13 11:26:45@LastEditors: Please set LastEditors@Description: In User Settings Edit@FilePath: \Dsafe原创 2020-06-13 16:01:14 · 4047 阅读 · 1 评论 -
pyqt5-1.按钮组互斥操作
创建按钮组# -*- coding: UTF-8 -*-from PyQt5.Qt import *from PyQt5 import QtCore, QtGui, QtWidgets cb_group = QButtonGroup() self.cb_group.addButton(self.pushButton_enterprise,0) self.cb_group.addButton(self.pushButton_private,1) self.cb_g.原创 2020-06-13 16:00:08 · 2120 阅读 · 0 评论 -
centos7系统pytho5开发环境搭建
2020-5-11操作系统:centos7带桌面学习一样新技能最难的不是学习本身,而是学习环境的搭建。升级pythonCentos7.5自带的python是2.7.5的版本,需要将其升级到python3.x。使用yum安装python3,版本为3.6.x```Sudo yum install -y python3```修改默认python```Mv /usr/bin/{python,python.bak}Ln -s /usr/bin/{python3,p..原创 2020-05-17 21:02:13 · 208 阅读 · 0 评论 -
ubuntu14.04安装pyinstaller
环境:Ubuntu14.04 kernel:3.13.0-32-genericPython:2.7.6 pip:1.5.4$pip install pyinstallerRequirement already satisfied (use --upgrade to upgrade): pyinstaller in /usr/local/lib/python2.7/dist-packag...原创 2020-03-15 11:30:24 · 694 阅读 · 0 评论 -
python与js的in语法区别
在python的语法中,语句 for xxx in list ,xxx代表具体的list项,例如list=["1111","2222","333"],则xxx="1111"在js的语法中,语句 for xxx in list ,xxx代表的是index,例如list=["1111","2222","333"],则xxx=0,1,2千万不能混了!...原创 2019-12-20 23:14:02 · 342 阅读 · 0 评论 -
python的pyinotify模块一些注意事项
用于文件监控,可以使用pyinotify模块,感觉封装的并没有比c的代码有太多的不同,一样的机制,一样的使用方式。使用的时候有以下几点注意:1.使用python -m xxx 将单独调用模块,我们通过观察,监控目录和监控文件,其event的信息是不一样的,如下图:这个情况是监控了一个目录(当前目录),然后执行其中的文件删除操作,另一个是监控单个文件,同样是文件删除操作,通过对比我们可...原创 2019-08-11 18:45:17 · 1377 阅读 · 0 评论 -
python模块列表-目前见过的自己整理
目录1. ConfigParser 32. threading 33. json 34. urllib,urllib2 35. socket 36. uuid 37. re 38. pexpect 39. logging 310. signal 311. atexit 312. zmq 413. subprocess 414. tempfil...原创 2019-07-28 11:04:45 · 1764 阅读 · 0 评论 -
python--自制程序性能检测工具
需求:做一个小工具,用来检测某一个程序的异常崩溃,cpu专用率,内存使用率,线程数,线程是否阻塞问题,当出现上述异常时,将日志上传服务器,方便查找问题。这样一个小程序实现起来并不太难,但是我一点python都不会,可真是。。。时间只有一个星期。所以用一天的时间看了python的语法,第二天开始入手写一些小函数,第三天写业务逻辑,第四天调bug,第五天将这个小程序融入项目。终于实现了功能,但是代...原创 2019-03-23 14:33:38 · 493 阅读 · 0 评论 -
python学习例程2-获取用户输入
获取用户输入就是获取键盘的输入内容,从而再打印出来,我们就可以看到效果,下面贴出最简单的一个语句w = input("input:")print("output:",w)这便是最简单的获取输入的例程。在这里,我创建工程,编译这条程序的时候,出现了错误,但是这么简单的程序怎么能够出现错误呢?后来突然意识到,这东西是老外开发的,不支持中文,所以不管是创建工程时给命名,全部都不原创 2016-07-19 00:26:13 · 1145 阅读 · 0 评论 -
python学习例程1-helloword
首先,我们简单来了解一下python。特点:Python允许你写出非常严谨而且可读的程序。用Python写的程序通常都比相应的C程序要短,因为如下几个理由:高级的数据结构允许你用一个语句表达复杂的操作;复合语句是靠缩进而不是用表示开始和结束的括号;不需要变量声明或参量声明。Python是可扩充的:如果你会用c语言编程就很容易为解释程序增加新的内置函数原创 2016-07-13 22:38:17 · 1118 阅读 · 0 评论 -
python编辑器
python有专用的编辑器,虽然不用也是可以的,直接使用笔记本,将后缀改为.py就可以了。现在介绍这款编译器叫做pycharm。我安装的是4.5.4版本,安装汉化包后可以汉化。同时还有注册机,注册机可直接使用,没有什么要注意的。(下面的激活码来自互联网,仅供学习交流之用)user name: EMBRACEkey:14203-12042010000010原创 2016-07-17 18:51:46 · 862 阅读 · 0 评论 -
python学习例程3-函数
标准函数称为内建函数。下面将编程中用到的函数放进来,慢慢的添加进去。基础函数函数名功能pow()乘方abs()绝对值原创 2016-07-19 00:49:51 · 491 阅读 · 0 评论