QT
ABC我的博客
主要是自己平时回顾起来方便
工作忙没时间更新了,望理解
展开
-
面试怎么回答:QT和MFC对比
面试的时候可能都会问,为什么开发C++用QT而不用MFC,查阅了一些资料,总结有以下几点,面试可以这样回答:先说QT:1、 跨平台,可在Windows、 Linux、Unix等多平台开发。2、 QT做的GUI开发要比MFC要好,并且QT界面库支持CSS,界面设计更方便更美观。3、 面向对象的特性体现的比MFC明显,在命名,继承,类的组织等方面保持了优秀的一致性,代码写起来比较优雅。4、 ...原创 2018-09-25 15:23:34 · 10961 阅读 · 4 评论 -
QT加载动态链接库——相对路径
1、首先将lib文件和include文件夹拷到工程文件下2、在QT的pro中加入lib和include3、接下来就可以使用动态链接库头文件的函数了4、如果程序异常结束,是因为dll文件需要拷贝到build-COM-Desktop_Qt_5_7_0_MinGW_32bit-Debug\debug文件夹下...原创 2019-05-29 21:51:21 · 7515 阅读 · 7 评论 -
QT线程同步之读写锁
这个允许多个进程同时读,但是只有一个写。而且写读不能同时进行。于是可能有以下四种情况:1、一个线程试图对一个加了读锁的互斥量进行上读锁,允许;2、一个线程试图对一个加了读锁的互斥量进行上写锁,阻塞;3、一个线程试图对一个加了写锁的互斥量进行上读锁,阻塞;4、一个线程试图对一个加了写锁的互斥量进行上写锁,阻塞。所以可以看出,读写锁比较适用的情况是:需要多次对共享的数据进行读操作的阅读线程...原创 2019-03-28 21:54:42 · 3154 阅读 · 0 评论 -
QT线程同步误区:全局的互斥量QMutex
线程同步:Qt中使用多线程时候,多线程的同步就是一个不可避免的问题。多线程的同步就是使多个线程在同时执行同一段代码的时候,有顺序的执行,不会出现同时有两个或者多个线程执行同一段代码的情况,特别是在对变量或者文件执行写操作的时候。也就是所谓的线程安全,线程安全指的是这段代码在一个线程或者多个线程执行的过程中,不加同步机制或者任何其他代码,执行的结果是一样的,这就是线程安全。在Qt中常用的同步方法...原创 2019-03-28 11:35:13 · 2538 阅读 · 0 评论 -
QT多线程的两种创建方法
Qt有两种多线程的方法,其中一种是继承QThread的run函数,另外一种是把一个继承于QObject的类转移到一个Thread里。Qt4.8之前都是使用继承QThread的run这种方法,但是Qt4.8之后,Qt官方建议使用第二种方法。两种方法用起来都比较方便,但继承QObject的方法更加灵活。这里要记录的是如何正确的创建一个线程,特别是如何正确的退出一个线程。值得注意的是第一种方法只有r...原创 2019-03-28 11:03:05 · 2303 阅读 · 0 评论 -
QT多线程创建的误区:run函数
直接上代码吧MainWindow.cppMysqlThread = new ReconnectMysql(); MysqlThread->start();reconnectmysql.cpp#include "reconnectmysql.h"ReconnectMysql::ReconnectMysql(){}void ReconnectMysql::run(...原创 2019-03-27 17:36:15 · 1284 阅读 · 0 评论 -
QT操作word表格——垂直居中、水平居中
说明:网上大部分是水平居中,基本没有找到QT的垂直居中,查了好多资料才实现了垂直居中。函数调用:垂直居中、水平居中word.setRowAlignment(1,1,0);//第一个表格,第一行,居中函数定义void QWord::setRowAlignment(int tableIndex,int row,int flag){ QAxObject* tables = m_docu...原创 2019-01-10 20:01:57 · 5407 阅读 · 3 评论 -
QT数据类型转换
1、 QString 转 QByteArrayQByteArray byte;QString string;byte = string.toLatin1();2、 QByteArray 转 QStringQByteArray byte;QString string;string = QString(byte);3、 QString 转 StringQString string;...原创 2018-09-25 16:06:17 · 590 阅读 · 1 评论 -
QT学习思路整理
1、 熟悉QT控件的使用方法和属性,界面布局,曲线,表格,窗口等;2、 理解信号与槽机制,线程(跨线程的数据传输),事件3、 文件的读写(*.txt, *.bat, *.xls);4、 数据库MySQL;5、 TCP、UDP收发数据(一对一、一对多);6、 串口收发数据;7、 保存图片、视频;8、 QT与网页的数据交互;9、 网上找历程来调试最好是实际做一个软件出来,这样会上手更...原创 2018-09-25 16:01:11 · 1304 阅读 · 1 评论 -
QT-UDP通信实例
pro 文件里要加一句: QT += network原创 2018-09-25 15:59:16 · 1690 阅读 · 1 评论 -
QT-TCP通信一对多实例
pro 文件里要加一句: QT += network服务器端:1、 声明 QTcpServer、 QTcpSocketQTcpServer *tcpServer; //监听套接字QTcpSocket *tcpSocket; //通信套接字2、 定义、 实例化tcpServer = NULL;tcpSocket = NULL;tcpServer = new QTcpServer(th...原创 2018-09-25 15:48:06 · 4310 阅读 · 2 评论 -
Qt快速读取Excel文件
网上很多读取方式都是如下形式,太慢了,打开文件+读取文件要6s以上,实在是受不了! QAxObject excel("Excel.Application"); excel.setProperty("Visible", false); QAxObject *work_books = excel.querySubObject("WorkBooks"); work_boo...原创 2019-05-29 22:16:36 · 24386 阅读 · 16 评论