- 博客(55)
- 资源 (12)
- 问答 (5)
- 收藏
- 关注
原创 PyQt学习随笔:槽函数获取信号发送对象的方法
在PyQt中,相似控件发送的信号可以每个控件信号对应一个槽函数,也可以将相似控件的相同信号对应到一个槽函数,但如果槽函数相同,怎么区分信号是谁发送的呢?那就是在信号函数中使用sender()函数获取信号的发送对象。案例:设计一个计算器,要求点击相关按键完成计算任务。老猿将计算器的所有按键分为三类,一类是操作数据和符号(包括数字、点、运算符、括号),按下是在显示界面直接显示对应字;第二类是等号直...
2019-09-30 23:40:58 3150
原创 PyQt学习随笔:ListView控件的视图和数据模型分离案例
Qt 中view类控件的目的是实现数据和模型分离,控件展示数据,数据保存在数据存储中,数据存储中的数据改变了,则控件中展示的数据跟随改变。当设计时只指定了一个控件和一个数据存储关联时,这种分离虽然也能体现,但感觉没有那么明显,但如果使用两个View控件和同一个数据存储关联时,这种分离就能更好地理解。下面是一个案例:案例界面如图:该案例在左边窗口下面的按钮操作增加和删除时,右边窗口同时改变。...
2019-09-29 21:24:32 1423
原创 PyQt学习随笔:ListView控件删除一项列表项的方法
ListView控件可以通过控件对应数据存储删除列表项,具体使用:数据存储.removeRow(元素索引位置)删除指定位置的一个列表项。数据存储如果不知道程序定义的数据存储名,可以通过model()函数获取对应ListView控件的数据存储。案例1:已知数据存储名为当前对象的itemmodel变量的实现代码(m_ListView为listView控件名) def DelListIt...
2019-09-28 19:47:06 3062 1
原创 PyQt学习随笔:ListView控件获取当前选择项的方法
通过currentIndex()可以获取listView控件的当前选择元素,如果选择了多个,则可以通过selectedIndexes()来获取选择的元素,不过这两个函数返回的是元素数据,而不是索引编号,如果要取到索引顺序号,需要通过row()函数。案例(m_ListView为listView控件名,displaySelected为一个TextBrowser控件名,itemmodel为列表项的数据...
2019-09-28 19:39:51 4758
原创 PyQt学习随笔:ListView控件增加列表项
ListView控件如果需要增加列表项,就是在对应数据存储中插入项,这又分两种情况,一种是已知列表数据存储,一种是未知数据存储。如果是未知数据存储,可以通过:ListView控件名.model() 语句获取数据存储。在知道数据存储后,就可以对数据存储进行进行插入操作,简单语句如下:数据存储.insertRow(插入位置索引)index =数据存储.index(插入位置索引,0)数据存储.s...
2019-09-28 19:10:09 5341
原创 PyQt学习随笔:QtDesigner ListView控件列表项的初始化
在QtDesigner中设计的界面中添加ListView控件后,是没办法添加需要在ListView控件中显示的列表项。由于ListView控件只是一个展示列表项的视图控件,实现了界面与数据的分离,其要展示的数据是单独存储在对应类型如QStringListModel的列表中,因此对控件数据的初始化需要先为控件绑定对应的数据对象。下面是一个ListView控件初始化的代码:self.itemmode...
2019-09-28 17:51:11 4581
原创 PyQt Designer中连接信号和槽时为什么只能连接控件自己的信号和槽函数?
老猿在学习ListView组件时,想实现一个在ListView组件中选中一个选择项后触发消息给主窗口,通过主窗口显示当前选中的项的内容。进入QtDesigner后,设计一个图形界面,其中窗口界面使用Widget组件,在窗口上方一个ListView组件、一个TextBrowser组件和两个PushButton组件,如图:以上控件中,主窗口名为:win_ListView,ListView控件名为...
2019-09-28 17:24:22 828
原创 PyQt Designer中带参数的信号为什么匹配不到带参数的槽函数?
老猿在学习ListView组件时,想实现一个在ListView组件中选中一个选择项后触发消息给主窗口,通过主窗口显示当前选中的项的内容。进入QtDesigner后,设计一个图形界面,其中窗口界面使用Widget组件,在窗口上方一个ListView组件、一个TextBrowser组件和两个PushButton组件,如图:以上控件中,主窗口名为:win_ListView,ListView控件名为...
2019-09-28 17:12:10 1044
原创 博客更新新增学习随笔栏目和资源下载
最近工作上比较忙,晚上回到家还要处理有些工作上的事情,没有很多时间去学习,导致知识的总结进展非常慢,但博客还是有必要维持一些更新,加上CSDN改变了博客排名的规则,老猿的排名一下子从三千多名回到了一万多名,没有去研究相关规则,但博客保持更新肯定是需要的。为了解决当下博客更新的困境,老猿决定不能再只采取完全学习完某个主题的知识再回头总结更新博文的方式,而是决定在学习时边学习边写随笔,每个随笔都是老猿...
2019-09-28 16:43:17 649
原创 博客更新暂停几天
最近工作挺忙的,白天开会,晚上处理公文、邮件,没时间写,同时PyTq的学习遇到了一些问题还没解决,另外PyQt内容挺多,还没规划好怎么来写。因此停更几天,至少要将重要的知识点吃透、规划好后面内容的章节题目,并存1-2篇存稿再开始更新,预计停更3-5天甚至一个星期。...
2019-09-24 22:53:33 627
原创 第15.7节 PyQt入门学习:PyQt5应用构建详细过程介绍
一、 引言在上节《第15.4节 PyQt5安装与配置》结束了PyQt5的安装和配置过程,本节将编写一个简单的PyQt5应用,介绍基本的PyQt5应用的文件组成及相关工具的使用。本节的应用是要创建一个简单媒体播放器的界面,但暂不实现真正的播放器相关代码,只是点击时给出提示。二、 创建工程在PyCharm中新建MediaPlayer工程,进入界面后只有一个空的工程文件目录:三、 图形界面设...
2019-09-24 16:02:27 6204 2
原创 第15.6节 PyQt5安装与配置
一、 引言关于PyQt5的安装网上有很多的文章,老猿也是学习了好多,最后结合其他模块安装的知识发现其实安装很简单,就是直接使用pip或pip3安装就可以了,这样既无需预先下载好软件,也无需担心版本的兼容性问题。但下载时最好要指定pip安装的软件下载地址为国内网站,老猿在自己的环境下试了默认的Python官网地址下载地址无法下载成功。具体pip的用法请参考《第13.4 使用pip安装和卸载扩展模块...
2019-09-23 20:17:42 4604
原创 第15.5节 PyQt的历史沿革介绍
当朋友向我推荐PyQt时,老猿才知道有这样一个在Python下的开源的图形界面开发工具,当准备学习PyQt安装时,发现要安装sip、PyQt、PyQt-tools,然后还要进行相关配置。老猿很好奇为什么是这样的,这三者之间到底是什么关系?功能分别是什么?于是开始到处查中文和英文的各种资料,发现越来越复杂,也越来越有趣,并越来越觉得学习这个是个正确的事情。当花了整整2天最终弄懂了这些事情之后,我觉得...
2019-09-22 18:08:06 2495
原创 问题:PyCharm调试方法Force run to cursor与run to cursor的区别
Force run to cursor与run to cursor的差别是,后者在执行到光标的代码行前,如果有代码中设置了断点,会在该断点处暂停,等待进一步调试指令,而Force run to cursor不论光标前的代码中是否有断点,都会直接执行完所有光标前的代码直接到光标所在行,不会在断点处暂停。类似功能还有Force Step over与step over。关于相关功能更多的解释请参考《...
2019-09-21 20:00:33 4741
原创 问题:PyCharm调试方法Force Step over与step over的区别
Force Step over与step over的差别是,后者在执行到函数时,如果函数中设置了断点,会在该函数断点处暂停,等待进一步调试指令,而Force Step over不论函数中是否有断点,都会直接执行完函数所在代码行的下一步,不会在断点处暂停。类似功能还有Force run to cursor 与run to cursor。关于相关功能更多的解释请参考《第15.2节 PyCharm程...
2019-09-21 19:58:20 1377
原创 问题:PyCharm调试方法smart step into的用途
smart step into为智能单步跟踪,当一行代码中有多个函数,想进入其中一个函数调测其他函数不进入调测时,使用该功能可以让调试人员选择进入的函数。如:就可以选择需要调试进入的函数而其他两个函数不进入。关于该功能更多的解释请参考《第15.2节 PyCharm程序调试功能介绍》。老猿Python,跟老猿学Python!博客地址:https://blog.csdn.net/LaoYua...
2019-09-21 19:56:25 1193
原创 问题:PyCharm的几种调试方法的区别
关于PyCharm的调试方式,step into、step over、step out、run to cursor、resume programe与c语言相关的调试器功能基本相同,但PyCharm提供了更多其他的调试功能,包括Step into my code、Force Step into、smart step into、Force Step over、Force run to cursor、J...
2019-09-21 19:53:45 1718
原创 第15.3节 PyCharm程序调试功能介绍
一、 代码调试点击工具栏的调试按钮(如下图蓝色圈标记按钮)可以进行程序调试,可以在调试前先设置断点,断点设置就是在打开文件的行与前面的行号之间用鼠标单击进行设置和取消(如下图蓝色下划线上面的实体圆点)设置后执行debug时到断点就会停下,如下图:其中黄色荧光笔标记的为debug调试语句执行按钮,包括step over、step into等按钮,在run菜单中也有对应子菜单,相关功能也有对...
2019-09-20 09:25:29 1686 1
原创 问题: 刚安装的PyCharm执行代码报“ModuleNotFoundError: No module named XXXX”错
老猿刚安装好PyCharm后,直接新建了一个工程文件并导入了一个已有的爬虫程序文件,该文件原来在Python解释器下能执行,但在PyCharm下执行时报错:F:\学习\python\SRC\projects\venv\Scripts\python.exe F:/学习/python/SRC/SayGoodToCsdnByBF.pyTraceback (most recent call last)...
2019-09-20 09:25:19 1833
原创 PyQt及PyCharm学习中遇到的问题
在PyQt学习过程中,老猿遇到了如下问题:问题: 刚安装的PyCharm执行代码报“ModuleNotFoundError: No module named XXXX”错老猿Python,跟老猿学Python!博客地址:https://blog.csdn.net/LaoYuanPython老猿Python博客文章目录:https://blog.csdn.net/LaoYuanPython/...
2019-09-20 09:25:09 1525
原创 第15.2节 PyCharm支持Python解释器的配置调整
上节介绍了PyCharm的安装与简单使用,本节介绍PyCharm相关的配置调整,以支持在PyCharm环境下集成Python解释器进行程序的编译。一、 工程配置调整在执行文件前,可能需要对PyCharm进行配置调整:点击File->settings菜单,如图:进入设置界面:这些设置选项包括外观、快捷键、工具栏等,大家可以慢慢研究,最重要的是一定要在工程设置中设置:Project...
2019-09-19 11:30:02 2610
原创 第15.1节 PyCharm安装及使用
一、 引言在本章以前,所有老猿实现的代码都是基于Python自带的解释器IDLE来开发和执行的,很方便高校、消耗少,但进入PyQt图形界面开发以后,IDLE不能实现和PyQt的集成,且不能支持断点调试,选择新的开发集成软件势在必行。由于很早就听说过PyCharm,因此老猿也没有过多选择,就直接找PyCharm下载安装。二、 软件的下载1、 要下载软件,请进入JetBrains 官网。如图:...
2019-09-19 11:21:36 1614
原创 第十五章 使用PyQt进行Python图形界面程序开发
在基础知识部分的最后一章《第十三章 Python基础篇结束章》的《第13.3节 图形界面开发tkinter》简单介绍了Python内置图形界面标准库tkinter,当时特别强调tkinter没有图形开发的设计界面,使用复杂,且存在功能问题不推荐使用,将学习朋友推荐的PyQt。本章正式进入PyQt相关内容的学习,注意PyQt是GPL软件(GPL是GNU General Public License...
2019-09-19 11:13:55 6501 3
原创 第14章 web前端开发小白学爬虫结束语
老猿学爬虫应该是2019年7月初开始的,到现在2个多月了,有段时间了,这部分一直是老猿期待能给大家带来收获的,因为老猿爬虫实战应用的场景与网上老猿已知的场景基本都不一样,是从复用网站登录会话信息来开发应用的。如果要从网站登录开始写应该也可以,但老猿没有去做这方面的工作,因为网上有很多这样的文章。老猿的这种场景有助于大家理解cookies以及http处理过程。另外,老猿站在一个互联网前端开发小白的...
2019-09-18 08:07:39 1118 2
原创 第14.18节 爬虫实战4: request+BeautifulSoup+os实现利用公众服务Wi-Fi作为公网IP动态地址池
写在前面:本文相关方法为作者独创,仅供参考学习爬虫技术使用,请勿用作它途,禁止转载!一、 引言在爬虫爬取网页时,有时候希望不同的时候能以不同公网地址去爬取相关的内容,去网上购买地址资源池是大部分人员的选择。老猿所在的环境有电信运输商部署的对外开放的WiFi,由于涉及对外开放支持不同用户接入,其分配的地址经过NAT地址转换,但其公网地址一定是一个地址池,对于需要公网地址池资源的人员来说,这就是一...
2019-09-18 07:59:43 999
原创 第14.17节 爬虫实战3: request+BeautifulSoup实现自动获取本机上网公网地址
一、 引言一般情况下,没有特殊要求的客户,宽带服务提供商提供的上网服务,给客户家庭宽带分配的地址都是一个宽带服务提供商的内部服务地址,真正对外访问时通过NAT进行映射到一个公网地址,如果我们想确认自己的公网地址还不是很容易,但百度提供了一项服务,在百度查询时输入IP就可以查到浏览器所在本机的公网IP,利用该功能我们就可以查到本机公网IP,本节老猿就是要request+BeatifulSoap实现...
2019-09-17 09:20:15 1305
原创 第14.16节 爬虫实战2:赠人玫瑰,手留余香! request+BeautifulSoup实现csdn博文自动点赞
写在前面:本文仅供参考学习,请勿用作它途,禁止转载!在《第14.14节 爬虫实战准备:csdn博文点赞过程http请求和响应信息分析》老猿分析了csdn博文点赞处理的http请求和响应报文,在《第14.15节 爬虫实战1:使用Python和selenium实现csdn博文点赞》中通过selenium方式实现了博文自动点赞,但selenium方式老猿觉得并不是一个真正的爬虫实现方式,因此本节老猿将...
2019-09-16 16:02:13 1226
原创 第14.15节 爬虫实战1:使用Python和selenium实现csdn博文点赞
在开始学爬虫时,学习了csdn博客专家(id:明天依旧可好 | 柯尊柏)《实战项目二:实现CSDN自动点赞》的文章,文章介绍了通过Python和selenium模块实现csdn指定文章点赞的过程,老猿学习后,照葫芦画瓢自己实践了一番,发现文章介绍内容完全可行。在实践之后老猿认为有如下5个点如果能进一步完善会更好:文章中给定的《【谷歌驱动器下载】》在老猿所在的各种网络环境都无法打开,后来老猿通...
2019-09-15 10:29:34 1256
原创 第14.14节 爬虫实战准备:csdn博文点赞过程http请求和响应信息分析
如果要对csdn博文点赞,首先要登录CSDN,然后打开一篇需要点赞的文章,如《第14.1节 通过Python爬取网页的学习步骤》按《第14.3节 使用google浏览器获取网站访问的http信息》的方法在点赞文章页面通过F12调出开发者工具。此时回到打开博文页面对文章进行点赞,然后在开发者工具中去获取相关的http请求信息,可以看到内容如下:可以看到,点赞时浏览器向服务端发送了一个http的g...
2019-09-14 17:49:07 1014
原创 第14.13节 BeautifulSoup的其他功能导览
前面《第14.9节 Python中使用urllib.request+BeautifulSoup获取url访问的基本信息》、《第14.10节 Python中使用BeautifulSoup解析http报文:html标签相关属性的访问》和《第14.11节 Python中使用BeautifulSoup解析http报文:使用查找方法快速定位内容》三个章节详细介绍了使用BeautifulSoup解析html...
2019-09-13 16:51:05 1104
原创 第14.12节 Python中使用BeautifulSoup解析http报文:使用select方法快速定位内容
一、 引言在《第14.10节 Python中使用BeautifulSoup解析http报文:html标签相关属性的访问》和《第14.11节 Python中使用BeautifulSoup解析http报文:使用查找方法快速定位内容》介绍了通过属性和查找方法定位HTML报文的内容的方法,除了这两种方法还有一种方法就是通过使用CSS选择器的语法找到tag,关于css选择器老猿在此不进行介绍,大家可以自行...
2019-09-13 16:46:16 1734
原创 第14.11节 Python中使用BeautifulSoup解析http报文:使用查找方法快速定位内容
一、 引言在《第14.10节 Python中使用BeautifulSoup解析http报文:html标签相关属性的访问》介绍了BeautifulSoup对象的主要属性,通过这些属性可以访问标签、内容,但这种方法要么就只能访问符合条件的第一个对象,要么需要遍历访问对象,某些情况下不能通过指定特征快速定位标签和内容。本节将介绍使用BeautifulSoup提供的相关方法快速定位标签和内容的方法。本节...
2019-09-12 07:28:50 2085
原创 第14.10节 Python中使用BeautifulSoup解析http报文:html标签相关属性的访问
一、 引言在《第14.8节 Python中使用BeautifulSoup加载HTML报文》中介绍使用BeautifulSoup的安装、导入和创建对象的过程,本节介绍导入后利用BeautifulSoup对象访问相关标签数据。本节案例中介绍处理的c:\temp\s1.html文件内容如下:<!DOCTYPE html><html lang="zh-CN"><he...
2019-09-11 19:31:43 1439 1
原创 第14.9节 Python中使用urllib.request+BeautifulSoup获取url访问的基本信息
利用urllib.request读取url文档的内容并使用BeautifulSoup解析后,可以通过一些基本的BeautifulSoup对象输出html文档的基本信息。以博文《第14.6节 使用Python urllib.request模拟浏览器访问网页的实现代码》访问为例,读取和解析代码如下:>>> from bs4 import BeautifulSoup>>...
2019-09-10 19:51:54 1432
原创 第14.8节 Python中使用BeautifulSoup加载HTML报文
一、 引言BeautifulSoup是一个三方模块bs4中提供的进行HTML解析的类,可以认为是一个HTML解析工具箱,对HTML报文中的标签具有比较好的容错识别功能。阅读本节需要了解html相关的基础知识,如果这方面知识不足请参考《第14.2节 HTML知识简介》。二、 BeautifulSoup安装、导入和创建对象安装BeautifulSoup和lxmlBeautifulSoup...
2019-09-10 19:49:11 1742
原创 urllib.request.urlopen(req).read().decode解析http报文报“utf-8 codec can not decode”错处理
老猿前期执行如下代码时报“‘utf-8’ codec can’t decode byte”错,代码及错误信息如下:>>> import urllib.request>>> def mkhead(): header = {'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,im...
2019-09-09 19:25:30 6181
原创 第14.7节 Python模拟浏览器访问实现http报文体压缩传输
一、 引言在《第14.6节 Python模拟浏览器访问网页的实现代码》介绍了使用urllib包的request模块访问网页的方法。但上节特别说明http报文头Accept-Encoding最好不设置,否则服务端会根据该字段及服务端的情况采用对应方式压缩http报文体,如果爬虫应用没有解压支持会导致应用无法识别收到的响应报文体。本节简单介绍一下怎么处理响应报文体的压缩。在爬虫爬取网页时,如果在请...
2019-09-09 19:21:30 1269
原创 Python爬虫学习遇到的问题
老猿在学习Python中爬虫知识时遇到了如下问题:爬取网页内容后写入文件报错UnicodeEncodeError: ‘gbk’ codec can’t encode的问题解决方案
2019-09-08 17:41:24 1335
原创 爬取网页内容后写入文件报错UnicodeEncodeError: 'gbk' codec can't encode的问题解决方案
老猿使用如下代码读取网页内容:req = urllib.request.Request(url=url,headers=header)text = urllib.request.urlopen(req).read().decode()fp = open(r’c:\temp\testhtml.txt’,‘a+’)fp.write(text)fp.close()执行时读取网页内容都没有问题...
2019-09-08 17:39:22 1759
ImageMagick7.0.8 win64 16通道像素版本.rar
2020-06-20
videoSegClip.rar
2020-05-08
videoMute.rar
2020-05-08
video2Gif.rar
2020-05-08
multiSegmentClip.rar
2020-05-08
3GPP协议R16版本-5G无线接入网38系列规范.rar
2020-05-08
3GPP规范5G计费相关文档.rar
2020-05-08
PyQt图形应用事件捕获案例.rar
2019-10-17
Qt事件列表.xlsx
2019-10-12
PyQt槽函数获取信号发送对象的演示代码:计算器Calculator.rar
2019-09-30
PyQt中ListView控件的数据和展示分离案例代码 listView.rar
2019-09-29
vscode中使用tasks.json的问题匹配器解析C++编译信息的疑问
2023-11-01
关于OpenCV CLAHE插值算法的问题
2021-12-03
OpenCV自适应直方图均衡C++实现代码问题请教
2021-11-28
关于ffmpeg及视频处理的两个问题
2021-05-25
Python tkinter图形界面BUTTON时间控制和编辑框返回值出现异常?
2019-06-03
Python tkinter图形界面BUTTON事件控制和编辑框返回值出现异常
2019-06-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人