引言 在前面对Qt多线程(QThread)做了详细的分析:QT从入门到入土(四)--多线程(QThread) - 唯有自己强大 - 博客园 (cnblogs.com) 但是最近在做项目时候,要将一个函数单独运行在另一个线程中,并且这个函数是私有函数,用到的数据也是私有数据,不能通过其他类访问,这样怎么办?如何在Qt中的当前类创建线程? 最简单的多线程QtConcurrent::run() 其函数原型如下: QFuture<T> QtConcurrent::run(Function functi…
摘要 信号槽是 Qt 框架引以为豪的机制之一.所谓信号槽,实际就是观察者模式.当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号 (signal).这种发出是没有目的的,类似广播.如果有对象对这个信号感兴趣, 它就会使用连接(connect)函数,意思是,将想要处理的信号和自己的一个函 数(称为槽(slot))绑定来处理这个信号.也就是说,当信号发出时,被连接 的槽函数会自动被回调.这就类似观察者模式:当发生了感兴趣的事件,某一个 操作就会被自动触发.(这里提一句,Qt 的…
摘要 我们使用的标准 C++,其设计的对象模型虽然已经提供了非常高效的 RTTI 支持,但是在某些方面还是不够灵活.比如在 GUI 编程方面,既需要高效的运行效率也需要强大的灵活性,诸如删除某窗口时可不想把子窗口用代码一个个去析构.Qt 将这两者的优点完美的结合在了一起,创造出了特有的对象模型(Qt Object Model). 一,Qt的基本框架 在上一篇中,我们已经完成了Qt的安装和VS的环境配置.QT从入门到入土(一)--Qt5.14.2安装教程和VS2019环境配置 - 唯有自己强大 -…
引言 24岁的某天,承载着周围人的关心,一路南下.天晴心静,听着斑马,不免对未来有些彷徨.但是呢,人生总要走陌生的路,看陌生的风景,所幸可以听着不变的歌,关心自己的人就那么多.就像是对庸常生活的一次越狱,路才刚刚开始.... - 2021.7.12 Qt5.14.2安装教程 步入公司,因需要学习Qt,本文主要整理为Qt的学习记录,从入门到入土,纯干货,尽可能详细. 一,Qt简介 Qt(官方发音 [kju:t],音同 cute)是一个跨平台的 C++ 开库,主要用来开发图形用户界面(Graphic…
引言 前面几篇已经对C++的线程做了简单的总结,浅谈C++11中的多线程(三) - 唯有自己强大 - 博客园 (cnblogs.com).本篇着重于Qt多线程的总结与实现. 跟C++11中很像的是,Qt中使用QThread来管理线程,一个QThread对象管理一个线程,在使用上有很多跟C++11中相似的地方,但更多的是Qt中独有的内容.另外,QThread对象也有消息循环exec()函数,即每个线程都有一个消息循环,用来处理自己这个线程的事件. 一,知识回顾 首先先来回顾一下一些知识点: 1,为…
 引言 文件的读写是很多应用程序具有的功能,甚至某些应用程序就是围绕着某一种格式文件的处 理而开发的,所以文件读写是应用程序开发的一个基本功能. Qt 提供了两种读写纯文本文件的基本方法: 用 QFile 类的 IODevice 读写功能直接进行读写 利用 QFile 和 QTextStream 结合起来,用流(Stream)的方法进行文件读写. 一.文件读操作 (1)使用QFile类 Qt封装了QFile类,方便我们对文件进行操作,可以按照如下的步骤进行: 使用QFile加载文件对象 打开文件…
引言 新手上路可谓是困难重重,你永远不知道下一个困难会在什么时候出现,在完成了运动控制卡封装发布过程中可谓是举步维艰.因此记录一下qt5+vs2019的打包发布方法. 打包一般分为两步: 将编译后的exe可执行文件及其各种依赖dll.lib.图标.配置文件等先打包放到一个目录中 利用VS的插件Microsoft Visual Studio Installer Projects安装程序打包插件进行打包 一,将编译后的exe可执行文件及其各种依赖dll.lib.图标.配置文件等先打包放到一个目录中…
引言 TCP/IP通信(即SOCKET通信)是通过网线将服务器Server端和客户机Client端进行连接,在遵循ISO/OSI模型的四层层级构架的基础上通过TCP/IP协议建立的通讯.控制器可以设置为服务器端或客户端. 关于TCP/IP协议可详看:TCP/IP协议详解 - 知乎 (zhihu.com) 总的来说,TCP/IP通讯有两个部分: 客户端和服务器 QTcpServer(监听套接字)和QTcpSocket(通讯套接字) 监听套接字,顾名思义,监听关于各种通讯的状态,一旦进行通讯,监听套…
接上一篇:RocketMQ入门到入土(一)新手也能看懂的原理和实战! 一.事务消息的由来 1.案例 引用官方的购物案例: 小明购买一个100元的东西,账户扣款100元的同时需要保证在下游的积分系统给小明这个账号增加100积分.账号系统和积分系统是两个独立是系统,一个要减少100元,一个要增加100积分.如下图: 2.问题 账号服务扣款成功了,通知积分系统也成功了,但是积分增加的时候失败了,数据不一致了. 账号服务扣款成功了,但是通知积分系统失败了,所以积分不会增加,数据不一致了. 3.方案 Ro…
Step by Step:Linux C多线程编程入门(基本API及多线程的同步与互斥)   介绍:什么是线程,线程的优点是什么 线程在Unix系统下,通常被称为轻量级的进程,线程虽然不是进程,但却可以看作是Unix进程的表亲,同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理等等.但同一进程中的多个线程有各自的调用栈(call stack),自己的寄存器环境(register context),自己的线程本地存储(thread-local storage).…