新潮技术研究社
这个作者很懒,什么都没留下…
展开
-
pythonqt/pyside6一键抠图效果实现,附完整代码
另外还要处理的问题有,黑底可以去掉,变为透明背景。3. Scikit-image:基于 Python 的图像处理库,包含多种图像处理算法,可用于图像分割、边缘检测、形态学操作等。1. OpenCV:用于计算机视觉和机器学习应用的开源计算机视觉库,支持 C++、Python 和 Java 等多种编程语言。5. SimpleCV:用于计算机视觉和机器人应用的 Python 库,包含多种计算机视觉算法和图像处理工具。10. Dlib:用于机器学习和计算机视觉的 C++ 库,包含多种图像处理算法和工具。原创 2023-04-29 07:39:33 · 1268 阅读 · 0 评论 -
解决vscode下powershell运行activate.ps1时,提示系统禁止运行脚本问题
这个配置问题不在powershell的安装目录,而是在系统用户目录,具体目录咱们不用去看了。上次虽然使用一句设置解决了问题,但是因为使用比较频繁,加上运行调试都会出现问题,想着修改vscode配置文件来解决,但是,这个配置文件感觉很不友好,改来改去没成功。最终还是打算卸载本机的v1版本powershell,比较powershell已经有版本7了,系统自带的太旧了。结果还是因为权限问题,没能彻底解决问题。再次回到vscode,新建终端,选择具备venv的目录,powershell出现,问题不在了。原创 2022-11-07 17:56:15 · 832 阅读 · 0 评论 -
python生成器yield快速理解
而且使用了yield返回iter对象之后,如果你使用next函数去调用这个iter对象的话,yield函数位置后,代码会继续往下走。如果没有下次的话,那这个时候,yield就跟return是一样的效果,短暂停止也就成了永远停止了。当然了,如果不是next函数,yield就直接返回了。调用带有yield函数,其实相当于执行了for循环里带了一个iter对象的语句。但是yield返回的对象,和return返回的对象是有些不同的。return返回的是值对象,一旦return,整个语句就结束了。原创 2022-11-05 13:23:21 · 239 阅读 · 0 评论 -
QtCreator8轻松创建PySide6动态加载界面工程,PyQt开发从此更方便
4、运行的时候,我这块有些问题,可能是环境Qt5导致,正常直接点运行时无法运行的,需要在运行选项中点运行按钮才行。如果你没有这个脚本选项,那么每一次,你都需要打开终端,使用pyside2-uic去生成ui_widget.py文件,否则,你的界面无法显示后面添加的控件。2、以前,我们即使创建了工程,由于模板bug尚存,即使在工程创建过程中指定了文件名,但创建完毕后依然是模板中默认的文件名。2、现在创建之后,工程模板终于使用了变量,我们可以指定文件名了。另外以往的"选项“已经不在菜单栏的”工具“下面了。原创 2022-10-25 11:27:55 · 2164 阅读 · 0 评论 -
vscode在同一窗口中打开多个工程项目
最近使用vscode做python应用,用着用着倒是挺顺手的。虽说它上手比起其他IDE来说比较有点难度,但其实问题最大的还是工程模板这块儿。毕竟现在很多应用都不像简单的C程序那样,一个C文件就搞定了。做应用一般都得有个工程来管理各种资源,源代码,图片,配置文件,像android的各种依赖包,java的第三方库,C++的编译链接文件,h5的js库。自己动手去写Makefile,还是比较麻烦的。当然了,有的特别复杂的工程,像各种混合代码,多达几十几百个第三方语言库啥的项目,别指望标准IDE能帮你管理了。原创 2022-10-10 00:27:59 · 3944 阅读 · 0 评论 -
解决vscode下powershell终端进入python虚拟环境venv问题
vscode在python程序目录下执行终端命令venv创建python虚拟环境,也就是将python的工作环境打包到当前目录下。然后我们要在终端下进入这个venv的环境,之后使用pip安装的各种模块都会放在这个目录下,而不是本机python的安装目录。这样的好处就是,之后pyinstaller生成exe方便,不会造成系统中的模块太多,占地大。接着我们就可以看到自动生成了一个venv的目录,里面其实就是python的各种执行程序。接着,就可以进入venv的子终端环境中了,前面加了个(venv )。原创 2022-10-09 12:22:01 · 3346 阅读 · 0 评论 -
VSCode如何配置自己喜欢的环境,从模板创建html,右侧栏显示函数大纲列表?
最近因为pycharm老提示更新,懒得找破解版了,索性直接用vscode吧。原本因为vscode无法创建工程模板而不想用,不过想到python也不需要用工程模板,所以用vscode最合适了。原创 2022-10-03 12:00:33 · 1152 阅读 · 0 评论 -
解决python使用panda模块处理CSV文件出错:keyword error
最近在网上下载了一个csv文件,文件后缀名是.csv,所以我就以为它是csv格式的文件了,结果用Excel打开后,里面全是分号分隔的。后来查了一下csv文件读写,结果发现csv文件的全称是Comma Separated Values,意思就是以逗号分隔的数值格式。最后错误解决,csv格式文件也是表格文件的一种,所以如果用Excel打开的时候不是表格的样子,那么估计就是它的格式有问题了。运行python的panda处理程序,结果提示错误,keyword error,意思就是关键词错误。原创 2022-09-21 16:56:47 · 754 阅读 · 0 评论 -
PythonQt打包发布exe应用注意事项,解决错误no Qt platform plugin found
有时候你没有创建virtual env,而是使用系统自带(你安装python之后的)的python环境,那么很可能会出现即便安装了依赖模块,还是提示你要安装,这样子的话,你可以检查默认python环境和项目python环境是否一致,安装的模块包是否在python安装目的sitepackages目录里或者在C盘的appdata的python下的sitepackages目录里,这块经常会混乱。这里我们直接用pyinstaller就行,因为生成一个exe只需一个命令就行,所以无需界面,无需setup.py。原创 2022-09-16 11:11:42 · 790 阅读 · 0 评论 -
给Python漫画分集标题目录下载工具添加从列表文件下载功能
2.getOpenFileName的使用和C++Qt几乎一模一样,过滤文件格式txt (*.txt)这里可以写多个,可以自己去查Qt说明书,表示当你打开文件浏览窗口的时候,你能看到的文件类型,不写就是全部都可以看到,文件一多,会很难找到你想要的列表文件,所以,建议写上,一般软件都写上。实际上,这个工具已经可以完成很多功能了,只要你稍微修改一下,下载什么图片,什么微信文章,漫画啥的,基本上,问题不大。5.sleep可以不要,1秒的等待,程序更加舒畅,我怕电脑跑得太快,会疯掉,所以加上吧。原创 2022-09-06 18:22:09 · 292 阅读 · 0 评论 -
给Python漫画分集标题下载工具添加线程
上一章,我们给这个python漫画分集标题下载工具添加了Qt界面,使用的是PySide6,大家看源码或许就可以看出来了,除了python语法不同之外,整个Qt库的使用和C++的使用几乎没什么大的改变。所以,如果你不知道在python3里Qt怎么使用,那么你完全可以试试直接用C++Qt的写法,再根据pycharm的代码提示,就可以很容易地进行Qt界面开发了。这里我们先不用Qt的QThread类去创建线程,既然是python写的工具,咱们先使用python自带的线程模块。5.再下一章,待续.......原创 2022-09-05 16:34:13 · 392 阅读 · 0 评论 -
给Python漫画分集标题下载工具开发Qt界面
上一章我们开发了一个简易的漫画分集标题下载器,这一章我们为其开发Qt界面。原创 2022-09-03 19:24:08 · 217 阅读 · 0 评论 -
python抓取漫画网站海贼王分集标题案例
说到爬虫,我们就会想到python,python的网页提取模块让爬虫不再困难。当然了,其他语言都可以做到的。只不过python更方便而已。原创 2022-09-03 07:43:33 · 215 阅读 · 0 评论 -
python去除文本中的大片空行
在将网页中的Text文本下载下来之后,问题出现了,大量空行,导致无法阅读。实现也不难,如下代码所示,将一个读到的line都提倡strip().最近实现了个python抓取漫画网站海贼王分集标题的功能,最后行距大大减小,可读性提升了不少。所以去除这些空行,是必须要做的。原创 2022-09-03 02:01:12 · 902 阅读 · 0 评论 -
解决python将网页保存为text错误,UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\u2022‘ in position 0
功能:使用python将网页标签中的text内容下载下来保存为text文件,我用它来下载海贼王漫画的分集标题。一开始使用了open函数,打开txt文件的时候没法设置codec编码,导致保存进去的内容无法匹配对应的编码。后面使用codecs模块的open函数,解决了问题。原创 2022-09-02 23:19:30 · 1809 阅读 · 0 评论 -
解决问题Python ‘chromedriver‘ executable needs to be in PATH
执行这个py文件之后,出现,chromedriver需要放在PATH变量中的提示,我们直接将chromedriver放在工程目录下即可。这段代码的作用很简单,就是调用chromedriver,打开chrome浏览器,所以,你电脑中需要已经装好了chrome浏览器。现将chrome浏览器打开,再次执行程序,chrome浏览器自动打开代码中的网站。使用pycharmIDE开发,已安装chrome浏览器,新建一个python工程,新建一个python文件,......原创 2022-07-15 01:05:31 · 1425 阅读 · 0 评论 -
只需几个命令,轻松学scrapy爬虫爬小说
环境:python3.9(PATH变量已设置)首先我们打开一个cmd命令提示符,windows10下就powershell吧,创建一个scrapy命令可以执行的项目环境: 接着我们看一下默认都生成了什么东西: 接下来,我们执行这个activate.bat的脚本, 执行之后,命令行出现了变化,意思就是已经进入了项目的build环境,相当于另一个子shell,子cmd命令提示符,在这里执行命令,都是以项目目录为PATH的意思。 接着我们需要将scrapy模块安装到我们当前的命令环境中:接下来原创 2022-07-10 15:32:10 · 294 阅读 · 0 评论 -
Qt5十大最常用功能之一个函数轻松实现系统托盘图标功能
很多程序在运行的时候都是需要托盘图标功能的,所以托盘功能,基本上可以归纳进最常用的十个之一。简单说一下:托盘功能最主要的功能:1.显示主窗口,因为托盘功能本来就是为了在用户点击关闭按钮之后,程序并不退出,而是不再任务栏显示,转而在托盘区用一个图标代替,所以这个功能显然是必须得了。2.关闭退出,这个功能不需要我多说的了,点主界面的关闭不能退出程序,这里还不能退出,你想闹哪样呢?!3.其他类似于设置程序的配置,窗口置顶等等五花八门的功能就不说了。而具体实现:1.创建托盘2.创建菜单3.创建各个原创 2021-06-09 12:50:59 · 411 阅读 · 0 评论 -
Qt5交叉编译时同步arm板子的文件系统
在交叉编译的时候,我们需要用到sysroot参数,而要指定这个参数的值,就需要使用arm板子上的文件系统,这里我们可以有一个很不错的命令,可以很快的同步板子上的所有文件,即整个文件系统到开发环境上哦。首先我创建了一个armubuntu的目录,然后板子需要联网,再就是执行以下命令就可以了。sudo rsync -avx root@192.168.2.88:/ armubuntu/...原创 2020-10-23 18:29:54 · 429 阅读 · 1 评论 -
Qt Linux下配置网络IP地址工具网络编辑器源码分析
在Linux下,这里Linux泛指各种Ubuntu等等系统哈,大家各自去试验即可。关键代码如下:主要就是利用两个进程先设置好IP,再设置网关。单独一个QProcess对象好像没法做两件事。完整ui代码看这里哦:networkEditor.zip:请各位自行加入自己的代码中试验,不会加入的可以查看我以往的文章或者自己百度吧。//添加IP QProcess *process = new QProcess; QStringList args; args << "-原创 2020-09-08 09:30:31 · 1492 阅读 · 1 评论 -
Qt创建新窗口时局部静态变量的使用方式
在主界面另外创建一个子界面的时候,我们一般会在头文件中事先创建一个子窗口的指针,然后再去需要的地方初始化它,感觉不是很方便。于是我就试了试用静态指针的方式去创建,感觉好多了。如下图所示,每次点击show出子窗口的时候,指针的地址都没有变哦。证明这样子是可行的。void Network::slotSetIp(){ qDebug()<<__FUNCTION__; static NetworkConfig* networkConfig = new NetworkConfig();原创 2020-09-03 16:58:13 · 579 阅读 · 0 评论 -
Qt5.9.7 arm版编译配置附带完整源码及编译链
Qt5.9.7完整Arm版编译配置项:在终端输入一下即可,注意修改好自己的user名称,第一行的/home/xxx,请自行修改路径已经编译完成的压缩包如下:Qt5.9.7arm已编译版附源码及编译链.zip:qt-everywhere-opensource-src-5.9.7.tar.xz:mysql-arm.zip:tslib.zip:arm-linux-gnueabihf-gcc.zip:./configure -prefix /home/xxx/Qt5.9.7/5.9.7/arm-li原创 2020-09-02 12:09:30 · 1306 阅读 · 0 评论 -
Android Studio 3.6.2多个工程窗口不能同时新增类,而QtCreator则不受限制
最近在使用Android Studio的时候,新建一个Java类,却发现这个窗口是程序级别的模态,而非窗口级模态。也就是说,当我同时想操作两个工程的新建资源的时候,只能是先关闭一个工程的资源窗口,再去打开第二个工程的资源窗口。我在Android Studio3.5.2和3.6.2上都验证了这一点。不过在之前的QtCreator中,却从来都没有遇到过这一点,特此记录一下。...原创 2020-04-15 15:56:55 · 210 阅读 · 0 评论 -
Qt创建饼状图案例分析附运行通过源码
在折线图的案例中,我们可以总结一下,创建各种类型的图表通常有以下3个步骤:创建数据系对象QLineSeries *series = new QLineSeries(); series->append(0, 6); ..........创建图表对象QChart *chart = new QChart(); chart->addSeries(ser...原创 2020-03-08 23:58:10 · 480 阅读 · 0 评论 -
Qt创建折线图表分析附运行通过源码
当我们需要用到数据图表,统计图表的时候,在Qt里面也是有这些接口的,一般图表有很多种,以后我们一个一个地分析该如何创建,并且根据不同的情况去创建不同的图表。譬如:QPieSeries饼状图,QLineSeries线形图(折线图),QScatterSeries散点图,QSplineSeries曲线图,QBarSeries柱状图,QAreaSeries面积图这里我们创建一个折线图:折线图源码:...原创 2020-03-08 15:28:36 · 450 阅读 · 0 评论 -
Qt QLineEdit设置字符限制后出现无法删除的现象
在使用Qt的QLineEdit设置了字符限制之后,出现无法删除编辑框里面文本的现象了。QRegExp rxInt("-?\\d{1,3}.?\\d{1,2}"); QRegExp rxDouble("-?\\d{1,3}.?\\d{1,2}"); validatorInt = new QRegExpValidator(rxInt,this); validatorDoubl...原创 2020-01-10 17:30:58 · 1262 阅读 · 0 评论 -
Qt中提示内部Qt库头文件错误QSemophore头文件错误的解决办法
有些时候,Qt会提示内部库文件出现了错误,像我这里因为引用了QSemophore头文件,竟然告诉头文件里面的某个地方不能这么用,原因是没有提前声明这个类,这种错误会看得你很懵逼,因为错误不是提示你的代码出错,而是提示Qt自己的头文件错误。如果此时你去找Qt源码,查找这些错误的出处,你就错了。首先我们既然用了这个框架,自然不要过于怀疑这个框架的错误性,毕竟都是用了这么多年的东西了。这一步请留到最...原创 2019-12-26 15:31:34 · 1196 阅读 · 0 评论 -
Qt编译过程出现错误process_begin: CreateProcess(NULL, rm -f debug/moc_predefs.h, ...) failed的解决办法
最近运行QtWindows版本,发现无法copy,动态库生成后没法放到指定的位置。目前尚未解决,先记录一下。有知道的朋友不妨留言告知,谢谢。Makefile.Debug:168: recipe for target 'compiler_moc_predefs_clean' failedprocess_begin: CreateProcess(NULL, rm -f debug/moc_pred...原创 2019-12-18 14:32:21 · 3676 阅读 · 0 评论 -
Qt5.10实现图片转文字功能添加截图功能代码分析
继续更新之前的图片转文字功能,并添加截图功能代码。这里我仅仅只是先截取全屏图片,点击截图功能就可以将屏幕截图。后续功能待完善。我们来分析一下,这个是怎么实现的。源码下载地址:ocr201912161811.zip:已经运行测试通过的了,有问题请留言即可。1.为了与之前的代码合并,我就直接将截图功能模块稍加修改,添加到了图片转文字的窗口上了。void OcrMainWindow::on_...原创 2019-12-16 18:22:30 · 1148 阅读 · 0 评论 -
Qt5.10实现QQ截图功能代码分析
为了做出一个QQ截图功能的模块,参考了网上某位网友的代码。这里我们分析一下主要代码。源码已经过测试运行,不懂的留言即可。源码地址:Qtjietu20191216.zip:1.首先我们一定会想到要对鼠标事件进行改写,包括点击,移动,释放,双击取消选区等功能。//重写基类方法 void keyPressEvent(QKeyEvent *event); void paintEvent(Q...原创 2019-12-16 17:16:55 · 452 阅读 · 0 评论 -
QT实现长按按钮QPushButton连续动作功能
最近在项目中实现了一个按钮长按之后连续动作的功能,分享给大家,对于触摸屏操作的同学来说还是很有用的。功能函数如下:主要注意的事项是,设置autoRepeat属性后,要设置动作间隔时间,否则无法生效的。void TechSettingPanel::setRepeatMove( bool movable ){ ui->btnCoordR->setAutoRepeat(mov...原创 2019-12-11 11:17:54 · 2614 阅读 · 0 评论 -
QT界面免费版开源图片转文字工具程序完整版附源码
QT界面免费版开源图片转文字工具程序完整版下载地址:ocrfree1.zip:操作步骤如下:原创 2019-11-19 15:12:20 · 682 阅读 · 8 评论 -
QTCreator调试窗口不见了的问题解决
最近调试过程中点击F5,程序运行了,而且也是调试模式,但是突然发现调试窗口不见了,变量值没法看,还以为是配置的问题。结果查了一下配置,并未发现有问题,后面点击了QtCreator左侧导航栏的Debug菜单项,才发现原来没有打开调试窗口。特记录一下,供以后查看。...原创 2019-11-18 11:26:52 · 9269 阅读 · 3 评论 -
Qt文字识别程序源码
承接上一次百度文字识别接口的使用,这里给出了完整的识别代码。主要代码如下:完整代码:ocrfree.zip:OcrMainWindow::OcrMainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::OcrMainWindow){ ui->setupUi(this); // 设置A...原创 2019-11-15 15:49:41 · 1202 阅读 · 0 评论 -
使用JSON库的时候出现错误error: undefined reference to `Json::Value::operator=(Json::Value&&)'
最近在Qt的项目中使用JSON库的时候,出现了挺多错误的,一个是链接库的错误,环境是UNBUNTU16.4,本以为系统中已经安装了jsoncpp的库了,结果却无法链接。正确做法是,添加链接即可:LIBS += -L/usr/local/lib /usr/local/lib/libjsoncpp.a这里使用的json库时jsoncpp库,下载地址:jsoncpp-master.zip:...原创 2019-11-15 15:40:19 · 13068 阅读 · 2 评论 -
Qt编程之在main文件中定义多个类记得写上main.moc
很多时候我们写代码都是一个头文件,一个cpp的实现文件。但是很多人为了图方便或者其他习惯问题,或者觉得一个类太短,于是就写到一个main文件中。在Qt程序编译的时候,如果你这么干,一般来说,是会出错的。尤其是你的类实现中由信号和槽,就更加会出现什么virtual table之类的莫名其妙的错误了。那么怎么办?如下例子:在main.cpp文件中,我们定义了好几个类:完整代码如下:co...原创 2019-08-20 23:27:25 · 3219 阅读 · 0 评论 -
Qt版XmlRpc框架源码解析
由于最新版的grpc在交叉编译中的种种错误,导致目前只能放弃grpc的arm版编译,转而投向xmlrpc的怀抱。经过几番查找。我们锁定了这个Qt版本的XMLRPC框架,目前已经使用上了,基于Qt的源码也都是跨平台的,所以感觉恨不错,给大家推荐推荐。源码下载地址如下:libmaia.zip:接下来我们分析一下怎么使用:下载好代码之后,我们可以看到libmaia的库文件源码和examples目...原创 2020-03-27 00:47:59 · 891 阅读 · 1 评论 -
Qt 编译程序时出现The process was ended forcefully,exe crash错误
某天我把程序挪到了另一个虚拟机上,布置好Qt的开发环境,然后打开project文件,项目加载正常,但是debug调试或者运行,直接崩掉。于是左思右想,才发现是QTDIR和path的变量设置没有做,当程序无法找到相关dll的时候,就出现了这个错误,但是这个错误没有什么提示,导致你怎么也想不通了。...原创 2019-05-22 12:39:58 · 5680 阅读 · 0 评论 -
Qt跨平台编译project文件便捷写法
新建一个pri文件,例如example.pri!ROBOTEXE{ ROBOTEXE = $$PWD/../../}#message($$ROBOTEXE)unix:{# contains(QT_ARCH,"arm"):{ #配置嵌入式编译用 if( contains(DEFINES,"ARM")){ # 此处大括号必须与else在同一行# mes...原创 2019-01-29 13:55:13 · 616 阅读 · 0 评论 -
Qt中QScopedPointer用法深度举例
QScopedPointer是可以自动回收局部动态内存分配的对象的。其效果相当于如下所示:就是我们局部定义了一个动态内存分配的对象之后,以往需要我们自己手动去删除的,而现在你就可以直接交给QScopedPointer了。void myFunction(bool useSubClass) { MyClass *p = useSubClass ? new MyClass() : ...原创 2019-08-20 23:18:49 · 2056 阅读 · 0 评论