自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 【QT】 Qt多线程的“那些事”

文章目录一、前言二、QThread源码浅析2.1 QThread类的定义源码2.2 QThread::start()源码2.3 QThreadPrivate::start()源码2.4 QThread::run()源码2.5 QThread::quit()、QThread::exit()、QThread::terminate()源码2.6 章节小结三、四种Qt多线程的实现方法3.1 子类化QThread3.1.1 步骤3.1.2 不使用事件循环实例3.1.3 使用事件循环实例3.1.4 子类化QThread

2020-11-13 08:52:55 1309 1

原创 【海思】Hi3531A SPI功能的详细配置以及使用

文章目录一、前言二、SPI管脚信息获取2.1 SPI_SCLK、SPI_SDI、SPI_SDO管脚复用寄存器2.2 片选SPI_CSN0-SPI_CSN3管脚寄存器三、配置和使能与SPI相关的管脚3.1 海思himm工具配置管脚四、用户态APP使用SPI4.1 示例4.2 效果一、前言因为部门的一个负责海思驱动开发的老同事另谋高就了,部门又暂时找不到人来对接他的任务,所以领导就让我这个菜鸟来硬着头皮顶上了。在这我也对这位老同事表示深刻的感谢,在对接的期间,那么耐心教导我,让我这个刚出来社会不久、又没怎么

2020-11-27 11:07:03 4404 1

原创 【QT】跨线程的信号槽(connect函数)

线程的信号槽机制需要开启线程的事件循环机制,即调用QThread::exec()函数开启线程的事件循环。Qt信号-槽连接函数原型如下:bool QObject::connect ( const QObject * sender, const char * signal, const QObject * receiver, const char *method, Qt::ConnectionType type = Qt::AutoConnection ) Qt支持5种连接方式Qt::DirectC

2020-11-12 16:02:32 1776

原创 【QT】QtConcurrent::run()+QThreadPool实现多线程

往期链接:《QThread源码浅析》《子类化QThread实现多线程》《子类化QObject+moveToThread实现多线程》《继承QRunnable+QThreadPool实现多线程》本文章实例的源码地址:https://gitee.com/CogenCG/QThreadExample.git在QT开发的场景中,个人觉得此方法使用的也比较少,所以本文只作一个简单使用的介绍。QtConcurrent 是命名空间 (namespace),它提供了高层次的函数接口 (APIs),使所写程序,

2020-11-12 16:02:01 676

原创 【QT】继承QRunnable+QThreadPool实现多线程

往期链接:《QThread源码浅析》《子类化QThread实现多线程》《子类化QObject+moveToThread实现多线程》本文章实例的源码地址:https://gitee.com/CogenCG/QThreadExample.git继承QRunnable+QThreadPool实现多线程的方法个人感觉使用的相对较少,在这里只是简单介绍下使用的方法。我们可以根据使用的场景来选择方法。此方法和QThread的区别:与外界通信方式不同。由于QThread是继承于QObject的,但QR

2020-11-12 16:01:26 674

原创 【QT】子类化QObject+moveToThread实现多线程

往期链接:《QThread源码浅析》《子类化QThread实现多线程》本文章实例的源码地址:https://gitee.com/CogenCG/QThreadExample.git从往期《QThread源码浅析》可知,在Qt4.4之前,run 是纯虚函数,必须子类化QThread来实现run函数。而从Qt4.4开始,QThread不再支持抽象类,run 默认调用 QThread::exec() ,不需要子类化QThread,只需要子类化一个QObject,通过QObject::move

2020-11-12 16:00:41 481

原创 【QT】子类化QThread实现多线程

《QThread源码浅析》这个是本文章实例的源码地址:https://gitee.com/CogenCG/QThreadExample.git子类化QThread来实现多线程, QThread只有run函数是在新线程里的,其他所有函数都在QThread生成的线程里。正确启动线程的方法是调用QThread::start()来启动,如果直接调用run成员函数,这个时候并不会有新的线程产生( 原因: 可以查看往期《QThread源码浅析》文章,了解下run函数是怎么被调用的)。一、步骤子类.

2020-11-12 16:00:00 990

原创 【QT】QThread源码浅析

本章会挑出QThread源码中部分重点代码来说明QThread启动到结束的过程是怎么调度的。其次因为到了Qt4.4版本,Qt的多线程就有所变化,所以本章会以Qt4.0.1和Qt5.6.2版本的源码来进行浅析。一、QThread类的定义源码Qt4.0.1版本源码:#ifndef QT_NO_THREADclass Q_CORE_EXPORT QThread : public QObject{public: ...//省略 explicit QThread(QObject *pare

2020-11-12 15:57:36 711 3

原创 【C++】 C++异常捕捉和处理

在阅读别人开发的项目中,也许你会经常看到了多处使用异常的代码,也许你也很少遇见使用异常处理的代码。那在什么时候该使用异常,又在什么时候不该使用异常呢?在学习完异常基本概念和语法之后,后面会有讲解。(1)异常抛出和捕捉语句//1.抛出异常throw 异常对象//2.异常捕捉try{ 可能会发生异常的代码}catch(异常对象){ 异常处理代码}throw子句:throw 子句用于抛出异常,被抛出的异常可以是C++的内置类型(例如: throw int(1);),也可以是

2020-11-12 15:54:28 698

原创 【软件配置】JDK+AndroidStudio4.1开发安卓APP环境安装和配置教程详细

文章目录一、专业名词二、搭建前资源准备2.1 JDK资源下载2.2 AndroidStudio下载三、安装3.1 JDK安装配置3.2 AndroidStudio安装四、创建安卓APP工程由于需要开发安卓APP软件,所以近期搭建了开发安卓APP的环境,在此记录下详细的搭建过程。本人开发使用的语言是JAVA,所以以下记录的搭建过程也是以JAVA为基础的环境搭建过程。一、专业名词JRE(全称:Java Runtime Environment):JRE顾名思义是java运行时环境,包含了java虚拟机,j

2020-11-12 15:39:18 5829 3

原创 【QT】添加图片资源并使用QImage加载图片显示

文章目录一、QT工程添加图片资源二、QT工程使用QImage加载图片显示一、QT工程添加图片资源到了此步,按下Ctrl+s按键即可。此时可看到工程下多了以下文件。二、QT工程使用QImage加载图片显示//父类为当前类的窗口thisQLabel *lb = new QLabel(this);QImage im;//图片路径可以通过右击工程的图片获取im.load(":/images/logo.png");lb->setPixmap(QPixmap

2020-07-07 11:30:52 12331

原创 【git】配置git命令行别名

引言:由于有些git命令较长,记起来比较麻烦,为了git工具使用的方便,为命令行取别名有很大的必要。1、在家目录添加.gitconfig文件。此文件在创建git仓库时,一般是没有的,需要手动添加。2、配置.gitconfig文件。例如如下配置(左边的别名可以按照个人习惯取):[alias]br = branchci = commitcl = cloneco = checkoutcp = cherry-pickcfg = clonedf = difffh = fetchlg = "

2020-07-06 11:07:40 404

原创 【一】美化Linux终端之oh-my-zsh开源项目(Linux终端主题)

文章目录1、查看系统是否装了zsh2、安装zsh(系统没有查到zsh,则安装)3、切换shell为zsh4、重启Linux5、安装oh my zsh6、到此就安装完成7、更换主题使用开源项目oh-my-zsh,让你的终端界面炫酷。配置简单。1、查看系统是否装了zsh//查看当前使用的shellecho $SHELL//查看系统是否装了zshcat /etc/shells2、安装zsh(系统没有查到zsh,则安装) yum -y install zsh或者sudo apt-get in

2020-07-01 16:50:19 2829 1

空空如也

空空如也

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

TA关注的人

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