2014-05-08 23:05
⁄ 工业·编程
⁄ 共 1270字
Qt 是事件驱动的,所以当你用Qt的时候,几乎时时刻刻和 QEventLoop 打交道、,只是你可能没有意识到:
QCoreApplicaton::exec()
QApplication::exec()
QDialog::exec()
QThread::exec()
QDrag::exec()
QMenu::exec()
...
在前面列出的这些常见函数的背后,都有各自的QEventLoop,可能是我们很少有机会想到自己显式使用QEventLoop的缘故吧,对这个类似乎总是有些陌生。
在 如何让 Qt 程序的 Sleep 和 QDialog 模态对话框...
Qt阅读全文
2014-05-07 22:10
⁄ 工业·编程
⁄ 共 3925字
一 安装
QExtSerialPort的项目网网址是:http://qextserialport.sourceforge.net/,上面有关于它的详细介绍。下载地址是:http://sourceforge.net/projects/qextserialport/files/。到现在为止,QExtSerialPort有四个版本:1.2win-alpha, 1.1, 0.9.0, 0.8.0,由于我是在windows下开发的,所以我选用的是1.2win-alpha版。
注:1.2win-alpha最好是windows平台下使用,若在linux下使用的话...
Qt, 串口编程阅读全文
2014-05-06 23:02
⁄ 工业·编程
⁄ 共 2230字
不时见到有人问:
Qt 为什么没有提供跨平台的 sleep 函数? 使用平台相关的 Sleep 或 nanosleep 以后,界面为什么没有反应? QThread 中提供了protected 权限的 sleep 函数,如何用到主线程中? 使用 QTest 中的 qSleep,在windows下如何隐藏控制台?
这些问题其实归结为一点:在主线程中使用这些函数是一种错误,这会直接导致界面无法刷新,用户与程序无法交互。
Qt不提供,是因为你不需要在主线程中使用 sleep...
Qt阅读全文
2014-05-05 23:00
⁄ 工业·编程
⁄ 共 2649字
qtcn中文论坛中有网友问到:
假设程序正常运行时,只有一个简单的窗体A,此时只有一个GUI主线程,在这个主线程中有一个事件循环处理窗体上的事件。当此程序运行到某阶段时,弹出一个模态窗体B(书上说模态窗体是有其自己的事件循环的),此时模态窗体B是否会有一个对应的子线程处理其事件循环?
这儿其实有两个问题:
模态对话框 和 事件循环 没有必然联系
事件循环 和 子线程 没有必然联系
题外:
如果进一步呢?其实我们还...
Qt阅读全文
2014-05-04 22:58
⁄ 工业·编程
⁄ 共 2088字
这些函数分两类,一类是用来删除对象的(从内存中干掉),一类是用来隐藏窗口的(从界面上干掉)
0
QObject::deleteLater()
delete obj;析构对象
1
QWidget::setVisible(bool)
使得Widget可见或不可见
2
QWidget::setHidden(bool)
1号的马甲
3
QWidget::show()
1号的马甲
4
QWidget::hide()
1号的马甲
5
QWidget::close()
视情况确定是否调用4号0号
6
QDialog::done(int)...
Qt阅读全文
2014-05-02 22:55
⁄ 工业·编程
⁄ 共 3401字
在C++中学习过程中,我们都知道:
delete 和 new 必须 配对使用(一 一对应):delete少了,则内存泄露,多了麻烦更大。
Qt作为C++的库,显然是不会违背C++的前述原则的。可是:
在Qt中,我们很多时候都疯狂地用new,却很少用delete,缺少的 delete 去哪儿了?!
注:本文暂不涉及智能指针(smart pointer)相关的东西,你可以考虑 Qt 智能指针学习 一文
Qt半自动的内存管理
在Qt中,以下情况下你new出的对象你可以不用 亲自去de...
Qt阅读全文
2014-04-30 06:05
⁄ 工业·编程
⁄ 共 6051字
最近在研究基于QT的串口通信程序。下载了别人写的第三方类,但是感觉看得不是很懂,另外跟我想象中的事件驱动有些区别。因此自己尝试着写了一个基于WIN2api的串口类。经过调试发现性能很不错,贴出来给大家看看。
本类只包含一个H文件和一个CPP文件,应用时只要包含该H文件即可,H文件中只有一个类KQSP,只要实例化该类的对象就可以了。
下边贴出H文件的源代码:
#ifndef KQSP_H
#define KQSP_H
#include ...
Qt, 串口编程阅读全文
2014-04-23 06:16
⁄ 工业·编程
⁄ 共 574字
对于很多的使用QTCreate的初学者来说,都不知道如何在编译时添加外部lib依赖。笔者刚开始也不知道如何去添加,后来看了教程,才知道了。原来QTCreate的添加外部编译的链接是在.pro文件里面进行定义的。
格式如下:
LIBS+=-L/usr/lib -lz -lpcap -lm -lnsl -lmysqlclient
依照上述的格式,你就可...
Qt阅读全文
2014-04-22 06:14
⁄ 工业·编程
⁄ 共 636字
QtCreator里集成了QtDesigner,QtCreator里有:Editor, Assistant, Designer, Debuger。因此,Qt Creator是一个IDE,也就是一个集成开发环境,里面有代码编写器,编译器,调试器,还有图形设计器QtDesigner,有了它你可以写软件。而Qt Designer是用来设计界面的,只能设计图形,是个图形设计器!
Qt creator的功能和优势:
Qt Creator 主要是为了帮助新Qt 用户更快速入门并运行项目,还可提高有经验的Qt 开发人员的工作效率。
...
Qt阅读全文
2014-04-21 06:06
⁄ 工业·编程
⁄ 共 3111字
Qt的学习断断续续,在之前其实了解的还是比较浅的,除了大概翻看过《C++ GUI Qt 4编程》(第二版)一书,用Qt结合OpenGL做了一些小的动画demo,基本没有开发过啥实际的东西。说起来这还是第一次在工作中使用到Qt,中间多少还是走了一些弯路,也碰到过一些问题,这里大概总结一下,想到哪就说到哪了。
很难避免要说的是与MFC的比较,但是我前面说了,我们公司用MacOS的人较多,跨平台是硬指标,MFC无法选择。
就使用体验来说...
Qt阅读全文