随笔分类 -  Qt-Meta

摘要:Qt 元对象系统(Meta-Object System) Qt 元对象系统(Meta-Object System) Qt的元对象系统基于如下三件事情: moc工具会读入C++的源文件,如果它发现了一个或者多个声明了Q_OBJECT宏的类,它就创建另一个C++源文件,为每个类生成包含元对象实现的代码。 阅读全文
posted @ 2018-01-16 22:11 findumars 阅读(528) 评论(0) 推荐(0) 编辑
摘要:最近Qt的blog总结了到底有多少种smart pointer, 下面是一个简要的介绍: 1. QPointer :提供对指针的保护,当一个指针被删除以后,再使用不会造成野指针或者指针溢出。比如 QPointer<MyObj> obj …;if(!obj.isNull()) obj->foo;//  阅读全文
posted @ 2018-01-16 21:29 findumars 阅读(646) 评论(0) 推荐(0) 编辑
摘要:Qt的QSettings提供了非常方便的注册表读写 写入: //写入注册表 void setRegValue( QString strPath, QString strItemName, QString strItemData) { QSettings reg(strPath, QSettings: 阅读全文
posted @ 2018-01-16 17:51 findumars 阅读(2393) 评论(0) 推荐(0) 编辑
摘要:相对于Java天生的这一特性, C++并不具备;但进入到Qt领域,这一切都变得简单自如了。 从Qt的元对象系统可知,除了提供信号/槽机制的特性之外,它还提供了以下特性: ■ QObject::metaObject() 返回关联的元对象 ■ QObject::className() 在运行时状态下返回 阅读全文
posted @ 2017-12-13 01:12 findumars 阅读(4368) 评论(0) 推荐(0) 编辑
摘要:QT中定时器的使用方法(1)重载timerEvent(QTimerEvent *)函数,然后再在类的构造函数中设置时间间隔 startTimer(50);//单位为毫秒(2)在类的构造函数中设定如下: QTimer *timer=new QTimer(this); connect(timer,SIG 阅读全文
posted @ 2017-12-07 22:29 findumars 阅读(2718) 评论(0) 推荐(0) 编辑
摘要:Widget 的效率怎么样,来进行一个简单的测试,添加 1千,1万,2万个,……,10万个 QPushButton(修改程序中的 buttonsCount 即可),看看程序的创建好按钮,点击按钮执行槽函数,程序退出效果怎么样。 添加 1千个,1万个按钮的时候窗口显示的速度非常快。添加 2万个的时候就 阅读全文
posted @ 2017-12-05 07:30 findumars 阅读(4) 评论(0) 推荐(0) 编辑
摘要:在使用Qt开发大型软件时,难免要调试程序,以确保程序内的运算结果符合我们的预期。在不符合预期结果时,就直接将程序断下,以便我们修改。 这就用到了Qt中的调试断言 - Q_ASSERT。 用一个小例子来说一下 Q_ASSERT 断言的作用吧: 用QtCreator新建一个控制台程序,代码编写如下: [ 阅读全文
posted @ 2017-10-06 18:35 findumars 阅读(2915) 评论(0) 推荐(0) 编辑
摘要:1. Q_GADGET:不需要从QObject继承就可以使用Qt的Meta Object功能2. Q_ENUMS:对枚举对象进行反射(reflection)3. Q_SIGNAL:不需要signals关键字就可以将一个函数指定为singal函数4. Q_SLOT:不需要slots关键字就可以将一个函 阅读全文
posted @ 2017-09-18 23:37 findumars 阅读(3458) 评论(1) 推荐(1) 编辑
摘要:QPointer is a template class that provides guarded pointers to Qt objects and behaves like a normal C++ pointer except that it is automatically set to 阅读全文
posted @ 2017-09-13 19:30 findumars 阅读(1703) 评论(0) 推荐(0) 编辑
摘要:隐式共享和显示共享(MVC好帮手) QSharedData + QSharedDataPointer = 隐式共享:修改数据即拷贝; QSharedData + QExplicitlySharedDataPointer = 显示共享:即永远只有一个数据源(除非手动调用detach()); Qt文档有 阅读全文
posted @ 2017-08-17 05:06 findumars 阅读(3461) 评论(0) 推荐(0) 编辑
摘要:如果测试错误,输出包含源码的警告信息 Q_ASSERT Qtime最后一次star()或restar()到现在的毫秒数 QTime::elapsed 返回标准路径 桌面路径 如果文件名存在返回true 提供一个快速解析器通过简单的流api读xml 提供一个xml通过简单的流api写入 qt中所有I 阅读全文
posted @ 2017-08-01 18:41 findumars 阅读(472) 评论(0) 推荐(0) 编辑
摘要:简介 这个宏用来注册一个类(含默认构造、默认析构、拷贝构造函数)为QMetaType类型 ,注册后的类型可以作为QVariant的自定义类型。 这个宏应该放在类或者结构体外面的下面,也可以放在一个非公用引用的头文件里,在每次使用QVariant的时候引用该头文件。 想在信号队列、槽、 QObject 阅读全文
posted @ 2017-03-15 18:19 findumars 阅读(1915) 评论(0) 推荐(0) 编辑
摘要:http://blog.csdn.net/GoForwardToStep/article/details/56685810 阅读全文
posted @ 2017-03-14 01:21 findumars 阅读(785) 评论(0) 推荐(0) 编辑
摘要:原文 http://hi.baidu.com/fightiger/blog/item/ba69a434f36e18add1a2d350.html 用户对应用程序经常有这样的要求:要求它能记住它的settings,比如窗口大小,位置,一些别的设置,还有一个经常用的,就是recent files,等等这 阅读全文
posted @ 2017-02-03 07:39 findumars 阅读(27113) 评论(1) 推荐(2) 编辑
摘要:最近开始看QT的文档,发现了很多好东西,至少对于我来说 收获很多~~~ 当然很多东西自己还不能理解的很透彻,也是和朋友讨论以后才渐渐清晰的,可能对于QT中一些经典的用意我还是存在会有些认识上的偏差,欢迎大家指正~~~ qt的demo中,经常可以看到 [cpp] view plain copy enu 阅读全文
posted @ 2017-02-01 06:27 findumars 阅读(559) 评论(0) 推荐(1) 编辑
摘要:在这个“大数据”的时代,传统的跨平台C++库Qt已经将魔爪丧心病狂的伸向了“云计算”。在2012年的Qt开发者大会上,Qt发布了BaaS(Backend as a Service)服务——Enginio,旨在为用户提供一个NoSQL数据库的后端平台。截至到(2014年9月),Qt云服务(Qt Clo 阅读全文
posted @ 2017-01-25 21:47 findumars 阅读(3212) 评论(0) 推荐(0) 编辑
摘要:Qt 智能指针学习 转载自:http://blog.csdn.net/dbzhang800/article/details/6403285 从内存泄露开始? 很简单的入门程序,应该比较熟悉吧 ^_^ #include <QApplication> #include <QLabel> int main 阅读全文
posted @ 2017-01-08 23:32 findumars 阅读(10094) 评论(0) 推荐(1) 编辑
摘要:将安装好的酷狗拷贝到C:\data目录中 1.创建桌面快捷方式 [cpp] view plain copy QFile::link("C:/data/KuGou.exe", QStandardPaths::writableLocation(QStandardPaths::DesktopLocatio 阅读全文
posted @ 2017-01-06 00:15 findumars 阅读(3677) 评论(0) 推荐(1) 编辑
摘要:在Windows操作系统中,大多把配置文件信息写在注册表当中,或写在*.ini文件中,对于这两种操作都有相应的Windows API函数,在以前的文章中都提及过,这里就不多说了~ 在Qt中,提供了一个相应的配置文件的类QSetting,使用QSetting类,可以将用户设置以及应用程序的设置轻松存储 阅读全文
posted @ 2017-01-05 00:05 findumars 阅读(8329) 评论(0) 推荐(0) 编辑