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