自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (10)
  • 收藏
  • 关注

原创 对printf函数进行封装,实现一个简单清晰的日志打印

对printf函数进行封装,实现一个简单清晰的日志打印前言一、需要哪些打印信息?二、实现步骤1.需要的头文件2.函数的封装3.扩展结语前言提示:日常调试中很多情况下会用到调试打印,如何快速便捷的查看打印的信息是我们关注的。一、需要哪些打印信息?在调试的过程中哪些信息能快速的帮助我们定位到我们想要查看的位置,一般情况下有这么一些:时间,文件名,函数名,行号等。有了这些信息,我们便能够快速的定位到对应的位置,然后去修复对应的bug。二、实现步骤1.需要的头文件头文件如下:#include

2021-04-28 15:07:44 2761 1

原创 将数据的指定位置置位

将数据的指定位置置位引言实现过程如何实现数组形式的数据的置位函数的封装扩展结语引言在C语言的编程下,我们会经常遇到将数据的某一位置为0或者1的情况,在常用数据(char、int、long)的情况下比较简单,按位与或者按位或就可以进行将某位置1与置0了。但是如果数据是128位的或者256位的,例如:unsigned char[32],在这样的情况下就比较麻烦了。实现过程如何实现数组形式的数据的置位在我们不知道数据具体的长度的时候,我们可以想到将数据统一转换成unsigned char *的形式,这样

2021-04-28 14:39:46 760

原创 QT设置进度条的样式表-QProgressBar

QT设置进度条的样式表-QProgressBarQProgressBar{ font:9pt; border-radius:5px; text-align:center; border:1px solid #E8EDF2; background-color: rgb(255, 255, 255); border-color: rgb(180, 180, 180);}QProgressBar:chunk{ border-radius:5px; background-color:#1ABC

2020-08-14 10:03:41 8993 7

原创 Qt下载Url文件

加入网络模块在pro文件中加入:QT += network添加头文件需要依赖写文件以及网络的头文件:#include <QFile>#include <QUrl> #include <QNetworkReply>#include <QNetworkRequest>#include <QNetworkAccessManager>#include <QEventLoop>#include <QTimer&

2020-07-30 14:24:41 2549 7

原创 Qt调用Windows下的资源管理器打开指定目录

需要包含头文件#include <QProcess>#include <QDir>调用代码下面代码是在资源管理器中打开当前执行程序的路径QProcess process;process.start(QString("explorer /select, %1").arg(QDir::toNativeSeparators(qApp->applicationDirPath())));process.waitForFinished();...

2020-07-22 11:50:05 2057

原创 交叉编译工具链介绍

基本概念什么是交叉编译交叉编译可以理解为,在当前编译平台下,编译出来的程序能运行在体系结构不同的另一种目标平台上,但是编译平台本身却不能运行该程序。比如,我们在 x86 平台上,编写程序并编译成能运行在 ARM 平台的程序,编译得到的程序在 x86 平台上是不能运行的,必须放到 ARM 平台上才能运行。交叉编译链就是为了编译跨平台体系结构的程序代码而形成的由多个子工具构成的一套完整的工具集。同时,它隐藏了预处理、编译、汇编、链接等细节,当我们指定了源文件(.c)时,它会自动按照编译流程调用不同的子

2020-07-03 10:41:35 4805

原创 在QT中使用JS脚本

配置JS脚本在.pro文件中加入:QT += script包含JS需要的头文件#include <QScriptEngine>#include <QScriptValue>#include <QScriptValueList>需要解析的脚本文档function transFunc(val){ return val*5;}加载JS脚本函数void parseJS(const QString &text, const QString &am

2020-06-15 17:28:46 1711

原创 VTD-XML在嵌入式Linux下打开多个文件后会运行崩溃:Error in : free(): invalid pointer:

问题描述:最近在优化xml解析工具的时候发现在windows电脑上运行时不会出现问题,当放到嵌入式linux平台下运行时,当第二次打开xml文件时,会崩溃,并且提示Error in : free(): invalid pointer:这样的信息。思考:首先第一次运行不会崩溃,在第二次运行的时候崩溃了,在加载新的xml文件的时候,对上一个VTDNav解析的类进行了释放,且同步delet...

2020-03-03 16:54:01 523

原创 设计模式专题--观察者模式

一、前言 在日常的写代码中,观察者模式是很常见的一种模式,例如:在写入或者拷贝一个比较大的文件的过程中,我们常常需要知道进度是怎么样的。这样我们就希望有一些代码能够去实现这样的功能,观察者模式就诞生了。二、模式介绍 观察者模式,主要是由两个类进行实现。观察者类:主要负责接收被观察者发出的消息。进行相关的数据处理,消息提醒。 被观察者类:提供观察者的注册、注销、通知观察...

2020-03-03 16:31:52 111

原创 设计模式专题--简单工厂、工厂、抽象工厂

一、前言简单工厂模式、工厂模式、抽象工厂模式,虽然分为三个设计模式,但是有一些共通的地方,而在学习的时候常常会分不清这三种模式的区别,不知道该怎么去合理的使用这三种模式。本篇文章通过融合对三种模式的具体实现进行分析,来区别开三种设计模式。二、模式介绍1、简单工厂模式简单工厂模式,通过创建一个专门定义的工厂类,来负责创建其他的具体产品的实例。工厂创建的具体的实例是通过传入的参数来进行...

2019-04-15 10:30:53 652

原创 PyQt5--google快捷翻译

一、环境配置1、在python官网下载windows的python安装包,安装python,记得勾选设置环境变量,否则需要自己去设置。2、在命令行下输入python,如果有Python的版本号出现,且&gt;&gt;&gt;出现,则说明安装成功,输入exit()退出python命令行模式。3、安装pip,在命令行下输入:curl https://bootstrap.pypa.io/ge...

2019-03-14 17:01:23 637

原创 Git的使用

最近随着工程代码的增多,所以就开始学习使用版本控制系统。在看了廖雪峰老师的关于Git的使用后,总结了一下Git的使用命令。

2018-12-20 15:26:49 130

原创 Qt--根据圆上的两个点和半径获取圆心

1.根据圆上的两个点和半径获得两个圆的算法#define MAXCOM_F(a, b) ((a)-(b)&gt;0.00001) ? true : falseQVector&lt;QRectF&gt; EICWidget::getEllipseCoors(const QPointF &amp;r1, const QPointF &amp;r2, float r){ doubl...

2018-11-15 17:40:29 2945

原创 QT实现简单的贪吃蛇小游戏

一、新建一个Qt项目新建Qt Widgets Application,项目名称为HappySnake,基类选择QWidget,类名默认二、添加要用到的头文件#include &lt;QKeyEvent&gt;#include &lt;QRectF&gt;#include &lt;QPainter&gt;#include &lt;QPen&gt;#include &lt;QBr...

2018-08-14 17:59:14 34950 40

原创 Qt--paintEvent绘制雷达扫描图

新建一个Qt的窗口类,默认命名:class Widget : public QWidget{ Q_OBJECTpublic: explicit Widget(QWidget *parent = 0); ~Widget(); QPixmap paintWidget();protected: void paintEvent(QPaintEvent...

2018-08-01 14:09:28 7497 2

原创 C--排序算法:shell排序、快速排序

 1、shell排序Shell排序是这样来分组并排序的:将序列分成子序列,然后分别对子序列进行排序,最后将子序列组合起来。Shell排序将数组元素分成“虚拟”子序列,每个子序列用插入排序方法进行排序;另一组子序列也是如此选取,然后排序,依此类推。在执行每一次循环时, Shell排序把序列分为互不相连的子序列,并使各个子序列中的元素在整个数组中的间距相同。例如,为方便起见,我们设数组中元素的...

2018-07-18 12:00:05 1124

原创 C--三种常用的排序方法

在日常中用到的排序比较多,最熟悉的莫过于冒泡排序了,在这里分析了几种排序所需要的比较次数以及交换次数。同时提供了参考的代码。1,分析结果  插入排序 冒泡排序 选择排序 比较次数       最佳情况 ñ N ^ 2 N ^ 2 平均情况 N ^ 2 N ^ 2 N ^ 2 最差情况 N ^ ...

2018-07-18 11:34:25 473

原创 Qt--paintEvent下对图形进行移动、缩放

用Qt中的paintEvent绘图,通过坐标系的变换来实现对图像的位置变化,通过滚轮事件对图像的大小进行缩放。具体代码如下:新建Qt Widget应用程序新增头文件:#include &lt;QBrush&gt; #include &lt;QPen&gt; #include &lt;QPainter&gt; #include &lt;QMouseEvent&gt; #include &lt;QDe...

2018-07-11 16:08:58 7626 6

原创 打印输出,与++机制

先看下面的代码,看看输出的值是多少? int j = 0 ; qDebug ()&lt;&lt; j ++; qDebug ()&lt;&lt; ++ j ; qDebug ()&lt;&lt; j ++ &lt;&lt; j ; qDebug ()&lt;&lt; ++ j &lt;&lt; j ; qDebug ()&lt;&lt; j &lt

2018-07-11 15:00:19 157

原创 Qt--使用电脑的摄像头拍摄图片

搜集了一些网上的资料,写下过程,关于如何使用电脑的摄像头采集图片创建工程,在.pro文件中要加上下面一些内容: QT += core gui multimedia multimediawidgets在.h文件中要加上以下几个头文件:#include &lt;QCamera&gt;#include &lt;QCameraViewfinder&gt;#inclu...

2018-04-26 14:34:09 1225

原创 Qt--样式表设置按钮样式

按钮样式表设置:通过样式表来设置按钮的样子,包含正常显示状态,按下状态,悬停状态,这是设置当前窗口下全局的按钮,可以根据自己的需要进行修改。  setStyleSheet( //正常状态样式 "QPushButton{" "background-color:rgba(1...

2018-04-25 15:37:44 44025

原创 Qt-样式表设置不规则按钮

普通的按钮风格设置也能设置一些按钮的样式,但是总是不尽理想。例如: //把图片加载到按钮上 ui-&gt;ButtonClose-&gt;setIcon(QPixmap(":/new/image/142089.png")); //设置图片的大小 ui-&gt;ButtonClose-&gt;setIconSize(QSize(50,50)); //设置按钮为隐藏 ...

2018-04-25 15:05:42 2176

原创 Qt正则表达式元素表

Regexps由表达式、量词、断言组成。正则表达式中的字符和字符集的缩写正则表达式中的量词正则表达式中的断言通配符正则表达式语法

2018-04-24 11:28:56 210

原创 C语言数据类型占用字节大小

在昨天的笔试的时候碰到了一个关于不同的数据类型占用字节大小的问题,于是就想归纳整理一下关于这方面的问题。于是就写了一下,在Linux系统下用gcc编译验证了一下,以供参考。16位编译器:char/unsigned char :1字节char *:2字节short int:2字节int/unsigned int:2字节long int:4字节float:4字节double:8字节32位编译器:cha...

2018-03-16 09:51:54 26052

编码转换工具.exe

查找合适的编码显示文本中的乱码字符串,包含主流的编码格式:"Big5" "Big5-HKSCS" "CP949" "EUC-JP" "EUC-KR" "GB18030" "GB2312" "HP-ROMAN8" "IBM 850" "IBM 866" "IBM 874" "ISO 2022-JP" "ISO 8859-1" "ISO 8859-2" "ISO 8859-3" "ISO 8859-4" "ISO 8859-5" "ISO 8859-6" "ISO 8859-7" "ISO 8859-8" "ISO 8859-9" "ISO 8859-10" "ISO 8859-13" "ISO 8859-14" "ISO 8859-15" "ISO 8859-16" "Iscii-Bng" "Iscii-Dev" "Iscii-Gjr" "Iscii-Knd" "Iscii-Mlm" "Iscii-Ori" "Iscii-Pnj" "Iscii-Tlg" "Iscii-Tml" "KOI8-R" "KOI8-U" "Macintosh" "Shift-JIS" "TIS-620" "TSCII" "UTF-8" "UTF-16" "UTF-16BE" "UTF-16LE" "UTF-32" "UTF-32BE" "UTF-32LE" "Windows-1250" "Windows-1251" "Windows-1252" "Windows-1253" "Windows-1254" "Windows-1255" "Windows-1256" "Windows-1257" "Windows-1258"。

2020-08-05

QT语言翻译工具—延时.exe

自动进行翻译QT的*.ts文件里的需要翻译的中文内容为英文(需要联网状态),只需要点击界面的“翻译文件”按钮,选中需要翻译的文件就可以进行翻译。界面比较简陋,重在能使用。

2019-12-12

有人物联UDC协议数据包封装

对有人物联的UDC协议数据包进行了封装,避免了重复写代码(UDC 是有人公司自己定义的数据传输终端产品设计的协议)。可以对要发送的数据进行封装成合法的数据包,也可以对接收的数据包进行解析。

2019-04-22

pyqt5实现谷歌翻译

通过pyqt5实现谷歌翻译,内部包含python源码,以及打包完成的.exe文件,具体的实现同时可以去我的博客查看。

2019-03-14

QT--QML版本雷达扫描图

Qt下使用QML写的雷达扫描图,相比较paintEven绘图,占用资源较少,提供源码,以供参考。(可以与上次上传的资源进行比较)

2018-08-14

QT版本黑客世界桌面

QT版本的黑客世界桌面,右键可以改变显示的内容,生成Release版本后打包,可当表白利器。有源码,可以对源码内容进行更改,调整成符合自己的样式,解决了paintEven绘图下刷新较慢资源占用较高的问题。

2018-08-14

Qt版本贪吃蛇

使用Qt环境写的贪吃蛇,按两下空格开始游戏,游戏过程中按空格键暂停/开始,按回车键重新开始游戏,比较简单的源码,适合新手入门。

2018-08-14

python下载图片

使用Python下载图片,下载60页,可以更改下载的页数,下载后自动自动生成文件夹分类存放,可以使用多进程进行下载,改善下载效率。

2018-08-14

QT下的雷达扫描图

简单的雷达扫描图绘制,使用QTimer、paintEven、渐变填充 --------------------------------------------------------------------------------------------------

2018-08-01

vtd-xml源码+例程

vtd-xml源码+例程,方便快捷入门,里面包含有vtd-xml的c++源码

2018-03-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除