- 博客(24)
- 资源 (10)
- 收藏
- 关注
原创 对printf函数进行封装,实现一个简单清晰的日志打印
对printf函数进行封装,实现一个简单清晰的日志打印前言一、需要哪些打印信息?二、实现步骤1.需要的头文件2.函数的封装3.扩展结语前言提示:日常调试中很多情况下会用到调试打印,如何快速便捷的查看打印的信息是我们关注的。一、需要哪些打印信息?在调试的过程中哪些信息能快速的帮助我们定位到我们想要查看的位置,一般情况下有这么一些:时间,文件名,函数名,行号等。有了这些信息,我们便能够快速的定位到对应的位置,然后去修复对应的bug。二、实现步骤1.需要的头文件头文件如下:#include
2021-04-28 15:07:44
3436
1
原创 将数据的指定位置置位
将数据的指定位置置位引言实现过程如何实现数组形式的数据的置位函数的封装扩展结语引言在C语言的编程下,我们会经常遇到将数据的某一位置为0或者1的情况,在常用数据(char、int、long)的情况下比较简单,按位与或者按位或就可以进行将某位置1与置0了。但是如果数据是128位的或者256位的,例如:unsigned char[32],在这样的情况下就比较麻烦了。实现过程如何实现数组形式的数据的置位在我们不知道数据具体的长度的时候,我们可以想到将数据统一转换成unsigned char *的形式,这样
2021-04-28 14:39:46
839
原创 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
9785
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
2699
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
2219
原创 交叉编译工具链介绍
基本概念什么是交叉编译交叉编译可以理解为,在当前编译平台下,编译出来的程序能运行在体系结构不同的另一种目标平台上,但是编译平台本身却不能运行该程序。比如,我们在 x86 平台上,编写程序并编译成能运行在 ARM 平台的程序,编译得到的程序在 x86 平台上是不能运行的,必须放到 ARM 平台上才能运行。交叉编译链就是为了编译跨平台体系结构的程序代码而形成的由多个子工具构成的一套完整的工具集。同时,它隐藏了预处理、编译、汇编、链接等细节,当我们指定了源文件(.c)时,它会自动按照编译流程调用不同的子
2020-07-03 10:41:35
5298
原创 在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
1994
原创 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
586
原创 设计模式专题--观察者模式
一、前言 在日常的写代码中,观察者模式是很常见的一种模式,例如:在写入或者拷贝一个比较大的文件的过程中,我们常常需要知道进度是怎么样的。这样我们就希望有一些代码能够去实现这样的功能,观察者模式就诞生了。二、模式介绍 观察者模式,主要是由两个类进行实现。观察者类:主要负责接收被观察者发出的消息。进行相关的数据处理,消息提醒。 被观察者类:提供观察者的注册、注销、通知观察...
2020-03-03 16:31:52
150
原创 设计模式专题--简单工厂、工厂、抽象工厂
一、前言简单工厂模式、工厂模式、抽象工厂模式,虽然分为三个设计模式,但是有一些共通的地方,而在学习的时候常常会分不清这三种模式的区别,不知道该怎么去合理的使用这三种模式。本篇文章通过融合对三种模式的具体实现进行分析,来区别开三种设计模式。二、模式介绍1、简单工厂模式简单工厂模式,通过创建一个专门定义的工厂类,来负责创建其他的具体产品的实例。工厂创建的具体的实例是通过传入的参数来进行...
2019-04-15 10:30:53
690
原创 PyQt5--google快捷翻译
一、环境配置1、在python官网下载windows的python安装包,安装python,记得勾选设置环境变量,否则需要自己去设置。2、在命令行下输入python,如果有Python的版本号出现,且>>>出现,则说明安装成功,输入exit()退出python命令行模式。3、安装pip,在命令行下输入:curl https://bootstrap.pypa.io/ge...
2019-03-14 17:01:23
699
原创 Qt--根据圆上的两个点和半径获取圆心
1.根据圆上的两个点和半径获得两个圆的算法#define MAXCOM_F(a, b) ((a)-(b)>0.00001) ? true : falseQVector<QRectF> EICWidget::getEllipseCoors(const QPointF &r1, const QPointF &r2, float r){ doubl...
2018-11-15 17:40:29
3111
原创 QT实现简单的贪吃蛇小游戏
一、新建一个Qt项目新建Qt Widgets Application,项目名称为HappySnake,基类选择QWidget,类名默认二、添加要用到的头文件#include <QKeyEvent>#include <QRectF>#include <QPainter>#include <QPen>#include <QBr...
2018-08-14 17:59:14
35971
41
原创 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
7671
2
原创 C--排序算法:shell排序、快速排序
1、shell排序Shell排序是这样来分组并排序的:将序列分成子序列,然后分别对子序列进行排序,最后将子序列组合起来。Shell排序将数组元素分成“虚拟”子序列,每个子序列用插入排序方法进行排序;另一组子序列也是如此选取,然后排序,依此类推。在执行每一次循环时, Shell排序把序列分为互不相连的子序列,并使各个子序列中的元素在整个数组中的间距相同。例如,为方便起见,我们设数组中元素的...
2018-07-18 12:00:05
1207
原创 C--三种常用的排序方法
在日常中用到的排序比较多,最熟悉的莫过于冒泡排序了,在这里分析了几种排序所需要的比较次数以及交换次数。同时提供了参考的代码。1,分析结果 插入排序 冒泡排序 选择排序 比较次数 最佳情况 ñ N ^ 2 N ^ 2 平均情况 N ^ 2 N ^ 2 N ^ 2 最差情况 N ^ ...
2018-07-18 11:34:25
509
原创 Qt--paintEvent下对图形进行移动、缩放
用Qt中的paintEvent绘图,通过坐标系的变换来实现对图像的位置变化,通过滚轮事件对图像的大小进行缩放。具体代码如下:新建Qt Widget应用程序新增头文件:#include <QBrush> #include <QPen> #include <QPainter> #include <QMouseEvent> #include <QDe...
2018-07-11 16:08:58
8408
6
原创 打印输出,与++机制
先看下面的代码,看看输出的值是多少? int j = 0 ; qDebug ()<< j ++; qDebug ()<< ++ j ; qDebug ()<< j ++ << j ; qDebug ()<< ++ j << j ; qDebug ()<< j <
2018-07-11 15:00:19
191
原创 Qt--使用电脑的摄像头拍摄图片
搜集了一些网上的资料,写下过程,关于如何使用电脑的摄像头采集图片创建工程,在.pro文件中要加上下面一些内容: QT += core gui multimedia multimediawidgets在.h文件中要加上以下几个头文件:#include <QCamera>#include <QCameraViewfinder>#inclu...
2018-04-26 14:34:09
1314
原创 Qt--样式表设置按钮样式
按钮样式表设置:通过样式表来设置按钮的样子,包含正常显示状态,按下状态,悬停状态,这是设置当前窗口下全局的按钮,可以根据自己的需要进行修改。 setStyleSheet( //正常状态样式 "QPushButton{" "background-color:rgba(1...
2018-04-25 15:37:44
45421
原创 Qt-样式表设置不规则按钮
普通的按钮风格设置也能设置一些按钮的样式,但是总是不尽理想。例如: //把图片加载到按钮上 ui->ButtonClose->setIcon(QPixmap(":/new/image/142089.png")); //设置图片的大小 ui->ButtonClose->setIconSize(QSize(50,50)); //设置按钮为隐藏 ...
2018-04-25 15:05:42
2316
原创 Qt正则表达式元素表
Regexps由表达式、量词、断言组成。正则表达式中的字符和字符集的缩写正则表达式中的量词正则表达式中的断言通配符正则表达式语法
2018-04-24 11:28:56
243
原创 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
26209
编码转换工具.exe
2020-08-05
QT语言翻译工具—延时.exe
2019-12-12
有人物联UDC协议数据包封装
2019-04-22
QT版本黑客世界桌面
2018-08-14
QT下的雷达扫描图
2018-08-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人