![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
qt
文章平均质量分 77
铸魂
自动化
展开
-
qt重载信号槽连接方式总结
一、qt4方式:QObject::connect(信号发出者地址, SIGNAL(信号发出者函数名称(信号发出者函数参数...)),信号接收者地址, SLOT(信号接收者槽函数名称(信号接收者槽函数参数...)));注意:若在QObject子类内部定义信号槽,可直接调用connect函数。二、qt5方式:1、普通信号QObject::connect(信号发出者地址,信号发出者函数名称(信号发出者函数参数...),信号接收者地址,信号接收者槽函数名称(信号接收者槽函数参数...));注意:若在..原创 2020-12-14 10:23:40 · 1175 阅读 · 1 评论 -
win10 Qt5.14.2 VS2017 mysql-8.0.21 编译 Qt mysql数据库驱动
win10 Qt5.14.2 VS2017 mysql-8.0.21 编译 Qt mysql数据库驱动一、准备%MYSQL%为代表当前mysql安装目录%QTDIR%代表当前Qt安装目录1、备份原始文件并创建需要文件进入%QTDIR%\Qt5.14.2\5.14.2\Src\qtbase\src\plugins\sqldrivers备份mysql目录复制configure.pri文件并命名为qtsqldrivers-config.pri2、编辑mysql.pro进入mysql数据库.原创 2020-09-21 16:20:26 · 746 阅读 · 1 评论 -
QWaitCondition官方帮助文档-详细介绍部分(个人翻译)
QWaitCondition让某个线程可以向其他线程通知,某种条件已经满足。单个或多个线程能阻塞等待QWaitCondition通过wakeOne()或wakeAll()设定条件。用wakeOne()唤醒某个随机选中的线程,用wakeAll()唤醒全部线程。例如:假设当用户按下一个键时,有三个任务需要执行。每个任务都可分离到单独的线程中执行,那么线程run()主体结构大体是这样: forever { mutex.lock(); keyPressed.wait(&m...原创 2020-07-07 14:56:58 · 250 阅读 · 0 评论 -
QMutex官方帮助文档-详细介绍部分(个人翻译)
类似java的synchronized(同步)关键字,QMutex的目的是保护一个对象、数据结构体或者一部分代码。一次只允许一个线程访问被保护对象。QMutexLocker总能帮助通常使用去控制一个mutex。因为它总能确保锁定和解锁很好地被执行。例如,下面是一条用两行的代码向用户打印出一个消息的函数:int number = 6; void method1() { number *= 5; number /= 4; } void method2()...原创 2020-07-07 14:55:23 · 217 阅读 · 0 评论 -
QMutexLocker官方帮助文档-详细介绍部分(个人翻译)
详细介绍:在复杂函数和声明中,在异常处理中,锁定和解锁一个QMutext对象不但很容易犯错,还很难调试。下面的QMutexLocker使用场景,会告诉你如何恰当地定义mutex。函数中,哪里需要被锁定,就在哪里创建QMutexLocker。一旦QMutexLocker对象被创建,互斥体就被锁定了。unlock()和relock()可用来解锁互斥体。即使互斥体已被锁定,当QMutexLocker对象被析构摧毁后,互斥体会自动解锁。例子:在函数开始处,锁定互斥体对象,在每个函数出口处解锁互斥体。..原创 2020-07-06 17:00:19 · 292 阅读 · 0 评论 -
QXlsx使用经验
QXlsx有两种使用方式(1)生成动态链接库,将动态库放到Qt下,调库使用(2)添加源码至项目中,将QXlsx集成在应用上本文使用第二种方式步骤一:下载QXlsx(http://qtxlsx.debao.me)和Perl(https://www.activestate.com/products/perl/downloads/)QXlsx下载好后,会有修改QList为QVecto...原创 2020-01-09 10:30:39 · 2755 阅读 · 0 评论 -
QList官方帮助文档-详细介绍部分(个人翻译)
Qt通用容器类QList<T>,使用列表存储条目,支持基于索引的快速访问、插入及删除。QList<T>、QLinkedList<T>和QVector<T>三者的APIs和功能几乎一样。经常相互替换,但性能侧重点有区别。以下是使用概述。默认第一选择QVector,通常QVector<T>性能优于QList<T>。这是由于QVector<T>是在内存中按顺序地存储条目,而QList<T>是在堆上为他的条目分配内存原创 2020-07-03 16:00:53 · 1449 阅读 · 0 评论 -
win10下用Qt5.13.2与mysql-connector-c++-8.0.20编译mysql动态链接库j解决QMYSQL driver not loaded
64bit win10下Qt5.13.2用MingGW7.3.0 64-bit与mysql-connector-c++-8.0.20-winx64编译mysql动态链接库qsqlmysql.dll、qsqlmysqld.dll、libqsqlmysql.a、libqsqlmysqld.a1、安装Qt5.13.2,下载地址http://download.qt.io/archive/qt/版本可自选,管理员权限运行安装包建议:夜里安装,直接全选,早上醒来,一切都安装好了路径一定要注意,不要安装Pro.原创 2020-06-27 20:33:57 · 1162 阅读 · 0 评论 -
编译mysql动态链接库解决QMYSQL driver not loaded问题
qt初次开发mysql时,常会碰到QSqlDatabase: QMYSQL driver not loaded问题原因是qt缺失qsqlmysql.dll 与qsqlmysqld.dll,解决方案是通过源码编译出qsqlmysql.dll 与qsqlmysqld.dll以下为64win7下用64位qt编译64位mysql动态链接库一、安装mysqlmysql源码位于你的qt安装目录\你的qt版本号\Src\qtbase\src\plugins\sqldrivers\mysql一、安装mys原创 2020-06-05 10:19:16 · 511 阅读 · 0 评论 -
堆上数组内存管理心得(new char[n]、delete、delete[]、指针、类对象数组)
char *pCh=new char[256]; qDebug()<<"内容:"<<pCh<<endl;//输出T 内存没有清空,内容不可预测 qDebug()<<"sizeof:"<<sizeof (pCh)<<endl;//输出4,不是数组长度256。因为指针变量只占用4个字节, qD...原创 2020-04-14 12:11:37 · 682 阅读 · 0 评论 -
Qt Creator使用libpng、zlib、qrencode遇到的一些问题
使用第三方库的一种方法是载入源代码文件,直接编译。该过程遇到一些问题。(1)将libpng和qrencode以及zlib解压后的所有.c和.h文件复制到自己工程目录并载入(2)将qrencode-XXX中的config.h.in也复制到工程目录下,修改为config.h,在底部添加#define MAJOR_VERSION 1#define MICRO_VERSION 1#defi...原创 2019-11-29 14:54:17 · 636 阅读 · 0 评论