Qt学习——C++
pangyinglong
这个作者很懒,什么都没留下…
展开
-
QT使用windeployqt编译出可执行的release版本exe文件发生‘’执行程序出错‘’问题解决
使用QT编写软件最后可通过windeployqt命令生产release版本的exe可执行文件。有时会碰到如下情况:点击exe文件运行时会出现程序运行错误的提示。解决这个问题的方法是:复制安装QT的文件夹中对应编译器类型下bin目录下的QtCore.dll文件到exe编译的文件夹中代替旧的该文件。最后重新点击exe文件,即可运行。...原创 2020-06-16 00:51:33 · 857 阅读 · 0 评论 -
QT中出现"无法将事件发送到其他线程拥有的对象"断言提示的原因
QT中回收指针是通过给构造函数传递父类(就是管理这个类实例的类实例)的this指针进行,比如A类实例中有B类实例,B类实例中有C类实例,C通过this指针被B管理,在B被回收之前,C先被回收;同理,A被回收时,B先被回收。它们被回收的顺序就是C-B-A。但是,如果A、B、C是不同的线程,通过this进行回收就会出现以下提示:ASSERT failure in QCoreApplic...原创 2020-02-21 18:55:25 · 6379 阅读 · 0 评论 -
C/C++编译出现 error: LNK2019: 无法解析的外部符号问题的解决
软件:QT工程:编译MQTT客户端编译器:msvc2015 32位出现错误:mainwindow.obj:-1: error: LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: virtual __thiscall QMqttClient::~QMqttClient(void)" (__imp_??1QMqttClient@@UAE@X...原创 2019-12-17 10:13:18 · 1477 阅读 · 0 评论 -
Qt的MQTT C++ Classes(理解每个类的作用)
Qt出的文档:https://doc.qt.io/QtMQTT/qtmqtt-module.htmlNamespaces QMqtt Contains miscellaneous identifiers used throughout the Qt MQTT module【包含Qt MQTT模块中使用的各种标识符】 ClassesQMTT所...原创 2019-12-16 18:20:59 · 579 阅读 · 0 评论 -
QT上蓝牙编写例子,关于低功耗蓝牙相关类的介绍
这个是关于PC端蓝牙类介绍:http://blog.sina.com.cn/s/blog_8ea72eaa0102wzsd.htmlQLowEnergyControllerDetailed DescriptionThe QLowEnergyController class provides access to Bluetooth Low Energy Devices.[QLowEner...原创 2019-12-02 01:05:29 · 3883 阅读 · 0 评论 -
Qt中解决UI文件不及时更新问题
参考链接:https://blog.csdn.net/qq_40194498/article/details/80049258转载 2019-12-01 23:37:12 · 1888 阅读 · 0 评论 -
QT编译release版本失败
QT编译release版本失败原因:在release的版本编译文件中,缺失所需的库文件*.dll。 解决方法:把所需的*.dll文件复制到release文件。 结果:成功编译 ...原创 2019-09-06 22:07:15 · 1433 阅读 · 0 评论 -
Qt实用技巧:仅去掉标题栏,保持对话框边框
参考链接:https://blog.csdn.net/qq21497936/article/details/79646316转载 2019-08-13 10:42:49 · 1976 阅读 · 0 评论 -
Qt中的常用容器类
https://blog.csdn.net/Amnes1a/article/details/66478376转载 2019-08-12 23:05:17 · 278 阅读 · 0 评论 -
QT中程序异常结束问题的解决
构建成功但是运行时就异常结束是因为程序所需要的库没有加载进来(一般是dll)。找到所需的动态链接库放到正确位置 即可。 当然,配置到系统环境变量里,也是可以的,更省事了,不过我一般不加所谓的正确位置,值得是程序生成的build目录,该目录名字一般是build**Desktop_Qt_5_9_0_MSVC_**bit-Debug 类似的,放在这个文件夹下就可以了。原文链接:https://blog...原创 2019-08-15 17:18:18 · 8336 阅读 · 1 评论 -
QT 事件类型
http://www.voidcn.com/article/p-alraqqrt-up.html转载 2019-08-13 16:00:21 · 783 阅读 · 1 评论 -
线程中使用mutex不当出现的问题——ASSERT: "copy" in file thread\qmutex.cpp, line 608
ASSERT: "copy" in file thread\qmutex.cpp, line 608的出现是因为在mutex没有lock之前调用了unlock,导致操作的条件不符合,就出现了这个问题,该问题出现在程序运行过程中,编译没有提示。解决方法:在适当的位置使用unlock,避免提前使用。...原创 2019-08-01 17:01:11 · 2353 阅读 · 0 评论 -
QT编译警告Z-order assignment: " is not a valid widget
编译QT程序 提示好多警告类似以下形式Z-order assignment: "xxxxxxxx" is not a valid widget.打开当前项目的ui文件,搜索以上名称,找到定义,删除该行。重新打开工程,警告消失<zorder>XXXXXXXX</zorder>...原创 2019-08-01 16:04:53 · 555 阅读 · 0 评论 -
对Qt支持的进程内容总结
设计应用程序时,有时不希望将一个不太相关的功能集成到程序中,或者是因为该功能与当前设计的应用程序关系不大,或者是因为该功能已经可以使用现成的程序很好实现了,这时就可以在当前的应用程序中调用外部的程序来实现该功能,这就会使用到进程。Qt应用程序可以很容易地启动一个外部应用程序,而且Qt提供了多种进程间通讯的方法。运行一个进程Qt的QProcess类用来启动一个外部程序并与其进行通信。 ...原创 2019-07-29 10:50:42 · 297 阅读 · 0 评论 -
Qt编程过程出现 QMetaObject::connectSlotsByName: No matching signal for 问题分析以及解决过程方法
出现问题: QMetaObject::connectSlotsByName: No matching signal for分析问题:参考了这个文章https://blog.csdn.net/u012997311/article/details/51313992After a bit of sleuthing(侦察) to find the source of all the Qt warn...原创 2019-07-29 15:19:38 · 3450 阅读 · 1 评论 -
Qt中添加一个ui(Designer Form)的方法
一个完整的软件不仅仅是只有一个显示界面,往往需要多个界面互相合作,实现一个功能。要达到这样的目的,就需要在程序里面添加多个界面的类,Qt中提供了一个Qt Designer Form,可以帮助我们布局界面。实现的步骤如下:1、2、选择模板3、一直完成设置名字的任务,直到添加成功生成的文件实现上面的步骤后,就可以将该Ui界面当作一个类来使用,而且是一个可以显...原创 2019-07-30 00:45:43 · 9596 阅读 · 3 评论 -
在Qt中添加添加库文件
要点:Qt工程通过.pro文件管理,所以库文件要在.pro文件中添加,LIBS管理库文件的路径方法:添加库文件(静态库)linux:LIBS+=your_lib_path/your_lib动态库linux:LIBS+=-Lyour_lib_path-lyour_lib例如:LIBS+=-Llib/pcsc/-lpcscliteLIBS+=lib/pcs...原创 2019-07-25 16:34:33 · 2922 阅读 · 0 评论 -
QT中加入线程是编译出现undefined reference to ......问题解决
在*.pro文件中加入LIBS += -lpthread如果没有*.pro文件,就在编译命令行中加入 -lpthred,比如:gcc a.c -o a -lpthread原创 2019-07-30 16:55:01 · 798 阅读 · 0 评论 -
Qt中显示中文的解决方法——代码控制字符格式
QT5解决中文显示问题的方法很多,每一种都可以有效解决中文显示乱码的错误。个人认为掌握其中一种就可以。下面是我想要掌握的一种:1、使用QString的fromLocal8Bit()函数QString str;str = str.fromLocal8Bit("Qt中文显示");或者QString::fromLocal8Bit("Qt中文显示");还有其它的方法:1、用Q...原创 2019-07-30 17:06:37 · 464 阅读 · 0 评论 -
qt启动程序失败,路径或者权限错误 与 qRegisterMetaType<int>("int&");的关系
很神奇啊!!!!在使用qRegisterMetaType<int>("int&");注册一个自定义类型给线程后,就出现“启动程序失败,路径或者权限错误”的提示,之后程序就一直编译不过去。不管删除了相关的文件后,或者重新构建,都是一样的问题。但是,在不断的摸索后,突然之间就可以了,后面实验都没有找到问题出现的原因。(网络上的那些方法都不适合我的这个情况)不过,在查找...原创 2019-08-03 02:01:17 · 466 阅读 · 0 评论 -
Qt线程知识总结——QThread
Qt中线程支持的内容1、与平台无关的线程类,一个线程安全的发送事件的方式以及跨线程的信号-槽的关联。2、一个QThread代表了一个应用程序中可以独立控制的线程,与进程中的其他线程分享数据,独立执行。3、QThread从run()函数开始执行。4、默认的,run()函数通过调用exec()来开启事件循环,并在线程内运行一个Qt事件循环。创建一个线程1、子类化QThr...原创 2019-07-26 16:49:38 · 1509 阅读 · 0 评论 -
Qt中控制一个线程暂停和启动,以及中途停止一个线程的方法
需要线程停止的目的:有时开启一个线程是为了把耗时的操作转移到线程中执行,主进程中可以执行其它的任务,避免了因为大量的重复性操作导致主进程阻塞。控制线程暂停的方法:线程的同步用到了QMutex类,作为一个互斥锁控制进行保护。如果在主进程中把线程里面的互斥锁获取,那么线程中再次获取该锁就会失败,引起线程阻塞,主进程执行操作结束后,释放该锁,线程就会再次启动。以上思路实现了线程的暂停和开启。...原创 2019-07-31 15:47:28 · 13138 阅读 · 0 评论 -
Qt中线程之间、线程与进程之间的通信
前言:线程的创建是为了单独执行一个与主进程没有太大关联的任务,而且这个任务比较耗时。线程可以处理一些输入没有输出的任务,但是有时要处理需要输出结果到其它线程或者进程的任务,比如处理大量数据的运算,就需要把计算的结果分时传回给对应的线程或者进程。线程与主进程之间的信号槽机制在主进程中连接,因为线程是在主进程实例化的。信号槽机制的响应不需要子线程执行run函数。Qt线程间共享数据主要有两种方式:...原创 2019-08-02 23:17:06 · 2127 阅读 · 0 评论 -
Setting the Application Icon (QT设置软件图标)
在写好一个软件后,最后的工作是为该软件设置一个图标,用于显示该软件与其它软件区别和表明功能。认真阅读下面的内容,就可以做到图标的设置...原创 2019-08-05 10:48:34 · 361 阅读 · 0 评论 -
Qt中的进程与线程
一、进程内容:如何在Qt应用程序中启动一个进程; 进程间通讯方法;使用进程的原因:(1)不希望将一个不太相关的功能集成到程序中(2)或者是因为该功能与当前设计的应用程序联系不大(3)或者是因为该功能已经可以使用现成的程序很好实现,可以使用进程调用外部的程序来实现该功能。I、运行一个进程——QProcess类(继承自QIOdevice)启动一个进程:调用start函数...原创 2019-05-01 17:13:43 · 3520 阅读 · 0 评论