Techie亮博客

进步始于交流
收获源于分享

最新发布 第3页

C/C++

C++设计模式-工厂方法模式/抽象工厂模式

Techie亮阅读(581)评论(0)

介绍 抽象工厂模式主要有四个关键元素: 抽象产品(Product):负责定义产品的共性,实现对事物最抽象的定义。 具体产品(ConcreteProduct):具体产品可以由多个。 抽象工厂(Factory):工厂类必须实现这个接口,负责定义...

C/C++

C++设计模式-单例模式

Techie亮阅读(774)评论(1)

介绍 几个重点: 构造函数为private 提供一个获取单例对象指针的函数 一个静态指针成员存储单例对象 注意: 获取单例对象也可以获取对象引用,但要注意拷贝构造函数和赋值运算符 如果有多线程访问单例,需要注意线程同步 范例 源码GitHu...

C/C++

C++设计模式

Techie亮阅读(814)评论(0)

最近开始看设计模式之禅,之前看过一遍可惜没有学以致用,这次边看边整理 六大设计原则 单一职责原则(Single Responsibility Principle) There should never be more than one re...

Qt

QTcpServer实现多客户端连接

Techie亮阅读(1089)评论(0)

介绍 QTcpServer使用请见:QTcpSocket-Qt使用Tcp通讯实现服务端和客户端 QTcpServer类默认提供的只有无参数的newConnection的信号,这样虽然知道有人连接了,并且可以通过nextPendingConn...

Qt

Qt富文本编辑器QTextDocument

Techie亮阅读(1246)评论(0)

介绍 对于文本编辑,qt提供了很多控件 QLineEdit:单行文本输入,比如用户名密码等简单的较短的或者具有单一特征的字符串内容输入。使用text、settext读写 QTextEdit:富文本编辑器,支持html显示,可以用sethtm...

Qt

QtCharts模块在QtWideget中图表绘制(非QML)

Techie亮阅读(1225)评论(0)

介绍 以前一直用QCustomPlot,现在Qt提供了QtCharts,看起来效果比,模块的帮助文档:QtCharts,所有官方的范例:Example 以QChartView提供界面显示,继承自QGraphicsView,setChart方...

Qt

QJsonDocument实现Qt下JSON文档读写

Techie亮阅读(1108)评论(0)

介绍 Qt提供了一系列类以供进行Json 文档的读写,分别为: QJsonDocumentJson文档、QJsonArray数组、QJsonObject对象、QJsonValue值、QJsonParseError错误。 错误分类 Const...

嵌入式

树莓派/linux挂载优盘

Techie亮阅读(358)评论(0)

之前写的为了方便把树莓派的U盘分成了三个分区 一个用来存储文件的fat32分区,保证win和linux均可使用 树莓派不会自动加载优盘多余的分区,需要手动加载 首先在mnt文件夹下建立一个文件夹 sudo mkdir /mnt/upan 获...

嵌入式

树莓派两用优盘制作(FAT32存储+EXT树莓派系统)

Techie亮阅读(614)评论(0)

方案一 win下用win32diskimager写入后,打开计算机-管理-磁盘管理 此时可以看到优盘或SD应该是一个boot分区、一个root分区、一个未分配空间。 用分区大师一类的软件 先建立一个小分区用来占位,要保证建立此分区后剩余的未...

C/C++

坑记-float、memcmp

Techie亮阅读(302)评论(0)

float float source = 100.0f; float result = source * 0.02f; qDebug()<<(int)(source * 0.02f)<<source * 0.02f;...

Qt

QLayout窗口布局

Techie亮阅读(871)评论(0)

介绍 QLayout Header: #include <QLayout> qmake: QT += widgets Inherits: QObject and QLayoutItem Inherited By: QBoxLay...

Qt

QSettings配置读写-win注册表操作-ini文件读写

Techie亮阅读(794)评论(0)

介绍 官方帮助文档:QSettings 一套完整的配置文件读写机制,多平台支持,支持ini文件读写、win下注册表读写等操作。同时支持当前用户配置及当前系统配置两个作用范围。 创建配置文件 配置文件涉及到作用域(scope)、文件名(fil...

Qt

QTemporaryDir及QTemporaryFile建立临时目录及文件夹

Techie亮阅读(549)评论(0)

介绍 还是老套路,上官方文档地址:QTemporaryDir、QTemporaryFile 两者都是在构造时创建一个随机名称的目录或文件,并在其销毁时自动删除对应的目录和文件,同时两者均能保证不会覆盖已有文件。 实例化时若不传递参数则随机确...

Qt

Qt使用QNetworkAccessManager实现Ftp操作

Techie亮阅读(1090)评论(0)

介绍 QtNetwork是Qt网络操作模块,提供了基于TCP/IP的各种API,除了之前介绍过的最基础的TCP及UDP通讯:QTcpSocket-Qt使用Tcp通讯实现服务端和客户端、QUdpSocket-Qt使用Udp通讯实现服务端和客户...

Qt

Qt使用QNetworkAccessManager实现Http操作

Techie亮阅读(2009)评论(0)

介绍 QtNetwork是Qt网络操作模块,提供了基于TCP/IP的各种API,除了之前介绍过的最基础的TCP及UDP通讯:QTcpSocket-Qt使用Tcp通讯实现服务端和客户端、QUdpSocket-Qt使用Udp通讯实现服务端和客户...

Qt

Qt程序打包,自动拷贝依赖文件

Techie亮阅读(347)评论(0)

Qt提供了windeployqt可快速拷贝依赖文件 cmd中输入下面指令即可,pro.exe为自己开发的文件 C:\Qt\Qt5.9.2\5.9.2\mingw53_32\bin\windeployqt.exe pro.exe 根据实际qt...

Qt

QMetaEnum利用Qt元数据实现枚举(enum)类型值及字符串转换

Techie亮阅读(770)评论(0)

介绍 QMetaEnum类属于Qt core模块,提供了一系列针对枚举类型的操作函数,当然不能操作任意枚举类型,若想进行自定义枚举的操作,首先需要对枚举做处理,此时需要QObject类的帮助,使用此类提供的Q_ENUM模板。 详细信息请见官...

Qt

Qt多线程-总结QThread-QThreadPool-QtConcurrent

Techie亮阅读(831)评论(0)

总结 QThread:Qt提供的最基础的线程类,一个对象管理一个线程,自己维护线程启动停止,创建销毁,当然也能基于此类自己建立一个线程池 QThreadPool:Qt提供的基于QThread实现的线程池,只需要提供给线程池“任务”即可,每一...

Qt

Qt多线程-QtConcurrent并行运算高级API

Techie亮阅读(1045)评论(0)

介绍 Qt除了提供基本的QThread实现多线程,并提供QThreadPool实现线程池以外,还提供了QtConcurrent模块用于并行计算。 使用此类需要在pro文件增加QT += concurrent QtConcurrent命名空间...

Qt

Qt多线程-QThreadPool线程池与QRunnable

Techie亮阅读(1417)评论(0)

介绍 线程的创建及销毁需要与系统交互,会产生很大的开销。若需要频繁的创建线程建议使用线程池,有线程池维护一定数量的线程,当需要进行多线程运算时将运算函数传递给线程池即可。线程池会根据可用线程进行任务安排。 QThreadPool 相关帮助文...

Qt

QThread安全的结束线程

Techie亮阅读(552)评论(0)

QThread使用 基本使用请见:http://techieliang.com/2017/12/592/ 在上文中提到了一个简单范例: #include <QCoreApplication> #include <QThre...

Qt

Qt多线程-QThread

Techie亮阅读(1221)评论(0)

介绍 QThread是Qt提供的线程类,每一个QThread均可管理一个线程。 其具有两种使用方式:1、继承为QThread的子类;2、继承为QObject的子类,并使用QObject::moveToThread将此对象移到线程中运行 QT...