1.如何使用VScode搭建Qt开发环境
2.VSCode与CMake
3.生物信息百Jia软件(二):fastp
4.Python爬取淘宝商品信息并生成Excel
如何使用VScode搭建Qt开发环境
前言
在进行Qt应用程序开发时,选择合适的集成开发环境(IDE)显得尤为重要。本文旨在探讨如何利用Visual Studio Code(VSCode)作为Qt开发工具,并提供实用指导。
VS Code for Qt Applications – Part 1
本文着重于阐述如何在VSCode中创建和管理Qt项目,将VSCode的sharpdevelop 源码高效功能与Qt的强大特性相结合。为了简化介绍,本文仅以VSCode作为开发工具,并不完全替代Qt Creator。
在进行Qt项目开发时,VSCode插件的使用可以极大地提升开发效率。这些插件包括但不限于代码补全、调试工具、语法高亮等功能,使得开发者能够专注于代码编写而非基础操作。
项目实例
为了演示在VSCode中创建Qt项目的过程,我们以Qt官方文档中创建基于Qt Widget的简单应用程序为例。该示例将展示如何在VSCode中搭建项目结构、编写代码、配置构建系统(如CMake)并执行编译。文件管理软件源码
以创建一个名为“Text Finder”的应用程序为例,其功能是实现对文章关键词的搜索。具体步骤包括项目目录结构的规划、CMakeLists.txt文件的编写、以及源代码文件的实现。
目录结构规划如下:
文本查找器控件在文件夹`./src/textFinder`中实现,包含`./src/app`和`./src/textFinder`目录中的`CMakeLists.txt`文件,以及`./resources`作为资源管理文件夹。顶层目录下的`CMakeLists.txt`文件负责总体构建。
编写代码
在`./src/textFinder`目录下,首先编写`CMakeLists.txt`文件,以创建静态库`textFinder`。接着,开发`textFinder.h`和`textFinder.cpp`文件,实现核心功能。
在编写过程中,VSCode的语法补全和错误检查功能(如clangd)能显著提升开发效率。对于特定路径如`QFile inputFile(":/input.txt")`,需利用Qt Resource System管理资源。php个性网址导航源码
使用Qt Resource System
了解Qt资源系统(The Qt Resource System)对于资源管理至关重要。在项目中配置资源文件(如`res.qrc`)和资源文件夹(如`./resources`),以便CMake能够正确处理资源。
在`./resources`文件夹下创建`res.qrc`文件和`input.txt`资源文件。`res.qrc`文件定义资源的结构和位置,`input.txt`则包含所需资源内容。
在顶层`CMakeLists.txt`文件中,设置变量记录资源文件位置,以供构建过程使用。
编写主程序
在`./src/app`目录下,创建`main.cpp`文件,作为应用程序的入口点。同时,在`CMakeLists.txt`文件中配置主程序构建,包含源文件链接和依赖库的添加。
VSCode的Task以及Launch配置
为了自动化构建和调试流程,VSCode提供了强大的任务(Tasks)和调试(Launch)功能。通过配置CMake任务,可以实现一键构建和清理项目。黑客笔记本源码在`.vscode/tasks.json`文件中定义CMake任务,例如“clean rebuild”,并在`.vscode/launch.json`文件中设置调试配置。
通过F5快捷键启动调试,实现对应用程序的快速测试和修改。
后记
采用VSCode作为Qt开发工具,不仅能够提供高效、灵活的开发环境,还能够结合Qt Creator的特定功能(如编辑`.ui`文件)进行互补。选择合适的工具和配置策略,可以极大地提升开发效率和项目管理能力。
VSCode与CMake
CMake是构建系统,用于在多种平台上生成和配置构建脚本。在Linux平台上,使用CMake生成Makefile并编译的过程如下:
对于C++项目,tasks用于执行编译,而launch则用于运行编译后的文件。实现此功能,需在项目中配置tasks.json和launch.json文件。跑得快源码下载
为了在VSCode中使用CMake,首先需安装VSCode插件CMake和CMake Tools。
新建CMake项目时,可利用VSCode的智能提示功能,输入cmake:q并选择CMake: Quick Start。随后,指定编译器、输入项目名称并选择创建库(lib)或可执行文件(Executable)。
编译项目时,VSCode提供了快捷方式。点击底部的Build按钮或在命令面板中选择build命令均可执行编译过程。
进行调试前,需在源代码中设置断点。接着配置调试环境,以实现对项目的调试。
调试项目有以下两种方法:直接在代码中设置断点并运行,或通过VSCode的调试功能,更深入地分析代码执行流程。
生物信息百Jia软件(二):fastp
欢迎关注基因学苑公众号,我们深入生物信息领域的系列文章继续展开。今天,我们将探讨《生物信息百佳软件》系列中的明星——fastp。百佳,意指众多优秀工具中的精选,掌握这些软件,可以大大提升数据分析能力。
fastp,由陈实富团队于深圳海普洛斯公司开发并开源,其在数据质控过滤方面表现出色。这款工具不仅能一次处理测序数据,过滤低质量、去除adapter、切割reads,还能处理长读数据,如Pacbio和Iontorrent的数据。亮点在于,它能直接生成质控和统计报告,包括json和html格式,且基于c++编写,效率极高。
下载安装方式有两种:一是通过git克隆源代码,然后编译安装;二是直接下载编译好的版本。软件使用时,参数众多,如指定输入和输出文件、质量体系、压缩格式,以及各种质量控制选项,如过滤低质量的Q值、碱基占比、N碱基数量和长度等。此外,还有报告格式选项,如输出json和html报告,以及split选项用于处理大文件。
实例演示如下:fastp命令 "-i reads.1.fq.gz -I reads.2.fq.gz -o clean.1.fq.gz -O clean.2.fq.gz -z 4 -q -u -n -h clean.html",用于对读取文件进行预处理并生成HTML报告。
通过fastp,你可以高效地对序列数据进行前期处理,为后续的生物信息分析打下坚实基础。现在,让我们开始你的生物信息软件学习之旅吧!
Python爬取淘宝商品信息并生成Excel
1前言
后台有很多小伙伴私信问我关于python爬虫的知识和学习资源,今天这篇文章就简单介绍下python爬虫的知识点,并以爬取淘宝网的商品信息存到excel表格中进行演示,同样的本文的源码会同步至github,欢迎下载使用。
2爬虫相关知识在进行爬虫之前,需要先了解一些关于爬虫的基本知识。
首先我们需要先了解下爬虫的基本原理:
基本的网页请求的过程都可以分为以下两个步骤:
1、Request(请求):每一个展示在用户面前的网页都必须经过这一步,也就是向服务器发送访问请求。
2、Response(响应):服务器在接收到用户的请求后,会验证请求的有效性,然后向用户(客户端)发送响应的内容,客户端接收服务器响应的内容,将内容展示出来(即网页),如下图所示。
网页请求的方式也分为两种:
1、GET:最常见的方式,一般用于获取或者查询资源信息,也是大多数网站使用的方式,响应速度快。
2、POST:相比GET方式,多了以表单形式上传参数的功能,因此除查询信息外,还可以修改信息。
所以,在写爬虫前我们要先确定向谁发送请求,并且用什么方式发送。
向谁发送请求,那我们就需要了解请求的url地址,以淘宝网的眼镜的url为例:
;enc=l%2Fjb6N5FBl9K0ekOiije0dOrXynlA1PT6kAWiXlE8MP7XwVwWABeB1r%2F4%2FN%2FROmEcqBpM4Uk%2FlCcbvHxEX4HhA%3D%3D;cna=E7gdGOrz1lwCAXOs+dCyLVoL;_m_h5_tk=bbcb6eecc0cc7cacf7a_;_m_h5_tk_enc=fedbfcaee0;cookie2=2cff7bddcba5acf;v=0;_tb_token_=0aeb;JSESSIONID=CE9BABFFB8B6A2FAAC1;alitrackid=www.taobao.com;lastalitrackid=www.taobao.com;hng=CN%7Czh-CN%7CCNY%7C;xlly_s=1;_samesite_flag_=true;tfstk=cVuOB9wPApvG8ZVKacKhcclUWCOhZtfTn1wAkQuqyoMJW-7AiGgoy0ZkfSPvIBC..;l=eBjdYUdPOiL-FAJDBOfwourzaOSIRAguPzaNbMiOCPOZCpUFWZR2YsT9C3GVh6RXR3rEk3ObBeYBqIv4n5Uj-la_kmn;isg=BE5OFMfVnXt4DynJaP_rUvlZnyQQzxLJNUA3iXutEM2-F9i2fSZEwe3Qwrh"}q=input("你想爬取的商品是:")x=int(input("你想爬取几页数据:"))urls=Geturls(q,x)workbook=xlsxwriter.Workbook(q+".xlsx")worksheet=workbook.add_worksheet()worksheet.set_column('A:A',)worksheet.set_column('B:B',)worksheet.set_column('C:C',)worksheet.set_column('D:D',)worksheet.set_column('E:E',)worksheet.write('A1','商品名称')worksheet.write('B1','店铺名称')worksheet.write('C1','价格')worksheet.write('D1','地区')worksheet.write('E1','付款人数')xx=[]forurlinurls:html=GetHtml(url)s=GetandintoExcel(html.text)time.sleep(5)workbook.close()4再说一句:反爬虫最后说一下爬虫的合法性。几乎每一个网站都有一个名为robots.txt的文档,当然也有部分网站没有设定robots.txt。对于没有设定robots.txt的网站可以通过网络爬虫获取没有口令加密的数据,也就是该网站所有页面数据都可以爬取。如果网站有robots.txt文档,就要判断是否有禁止访客获取的数据。以百度为例,在浏览器中访问/robots.txt。
可以看到百度可以允许部分爬虫访问它的部分路径,而对于没有得到允许的用户,则全部禁止爬取的,代码如下:
,"data":{ "postFeeText":"运费","trace":"msrp_auction","auctions":[{ "p4p":1,"p4pSameHeight":true,"nid":"","category":"","pid":"","title":"近视\ucspanclass\udH\ue眼镜\uc/span\ue男有度数超轻全框\ucspanclass\udH\ue眼镜\uc/span\ue框半框舒适可配\ucspanclass\udH\ue眼镜\uc/span\ue防雾眼睛近视镜","raw_title":"丹阳眼镜眼镜框眼镜架眼睛框防辐射光学镜","pic_url":"//g-search1.alicdn.com/img/bao/uploaded/i4/imgextra/i2//TB2ulgla4vzQeBjSZPfXXbWGFXa_!!0