![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Inside QT
文章平均质量分 83
qkevin123
无业游民一个!
展开
-
Inside QT Series (一):Let’s go, Starting From the QObject
QObject 这个 class 是 QT 对象模型的核心,绝大部分的 QT 类都是从这个类继承而来。这个模型的中心特征就是一个叫做信号和槽(signal and slot)的机制来实现对象间的通讯,你可以把一个信号和另一个槽通过 connect(…) 方法连接起来,并可以使用 disconnect(…) 方法来断开这种连接,你还可以通过调用 blockSignal(…) 这个方法来原创 2009-02-11 18:31:00 · 1265 阅读 · 0 评论 -
Inside Qt Series (十三):Qt/e体系结构概述
从本节(Inside Qt Series 十三)开始,本专栏文章的内容开始转向Qt for EmbeddedLinux的技术内幕介绍。在后续内容中,我对Qt for EmbeddedLinux一律简称为Qt/e,不再对这个term做更多的解释。需要您注意的一点是,在本系列文章中的任何部分,这个term都是指Qt forEmbedded Linux,而不是指Qt for Windows原创 2009-05-13 09:31:00 · 1373 阅读 · 0 评论 -
Inside Qt Series (十二):Qt对象之间的父子关系
很多C/C++初学者常犯的一个错误就是,使用malloc、new分配了一块内存却忘记释放,导致内存泄漏。Qt的对象模型提供了一种Qt对象之间的父子关系,当很多个对象都按一定次序建立起来这种父子关系的时候,就组织成了一颗树。当delete一个父对象的时候,Qt的对象模型机制保证了会自动的把它的所有子对象,以及孙对象,等等,全部delete,从而保证不会有内存泄漏的情况发生。任何事情都原创 2009-04-24 13:06:00 · 2313 阅读 · 0 评论 -
Inside Qt Series (十一):emit,幕后的故事
当我们写下一下emit signal代码的时候,与这个signal相连接的slot就会被调用,那么这个调用是如何发生的呢?让我们来逐一解开其中的谜团。让我们来看一段例子代码:class ZMytestObj : public QObject{ Q_OBJECTsignals: void sigMenuClicked();原创 2009-04-09 12:13:00 · 1319 阅读 · 0 评论 -
Inside QT Series (十):connect,幕后的故事
我们都知道,把一个signal和slot连接起来,需要使用QObject类的connect方法,它的作用就是把一个object的signal和另外一个object的slot连接起来,以达到对象间通讯的目的。connect 在幕后到底都做了些什么事情?为什么emit一个signal后,相应的slot都会被调用?好了,让我们来逐一解开其中的谜团。SIGNAL 和 SLOT 宏定义原创 2009-03-27 12:00:00 · 1981 阅读 · 0 评论 -
Inside QT Series (九):QMetaObject class data members
我们来看一下QMetaObject的定义,我们先看一下QMetaObject对象中包含的成员数据。struct Q_CORE_EXPORT QMetaObject{ // ...... struct { // private data const QMetaObject *superdata; const原创 2009-03-18 15:19:00 · 1071 阅读 · 0 评论 -
《Inside Qt Series》专栏文章总索引
=================================================声明: 《Inside Qt Series》专栏文章是Q-Kevin原创技术文章。 本系列专栏文章可随意转载,但必须保留本段声明和每一篇文章的原始地址。 作者保留版权,未经作者同意,不得用于任何商业用途 《Inside Qt Series》专栏文章总索引: h原创 2009-03-16 10:58:00 · 1466 阅读 · 0 评论 -
Inside QT Series (八):Meta Object Class
关于Qt的更多精彩技术文章,请看:http://www.InsideQt.com 前面我们介绍了 Meta Object 的基本功能,和它支持的最重要的特性之一:Signal & Slot的基本功能。现在让我们来进入 Meta Object 的内部,看看它是如何支持这些能力的。 Meta Object 的所有数据和方法都封装在一个叫QMetaObject 的类中。它用来查询原创 2009-03-12 13:57:00 · 1154 阅读 · 0 评论 -
Inside QT Series (七):Signal & Slot
本节介绍Signal和slot的基本知识。 信号和槽是用来在对象间通讯的方法,当一个特定事件发生的时候,signal会被 emit 出来,slot 调用是用来响应相应的 signal 的。 QT 对象已经包含了许多预定义的 signal,但我们总是可以在派生类中添加新的 signal。 QT 对象中也已经包含了许多预定义的 slog,但我们可以在派生类中添加新的 s原创 2009-03-05 13:20:00 · 858 阅读 · 0 评论 -
Inside QT Series (六):元对象编译器 - Meta Object Compiler (moc)
元对象编译器用来处理QT 的C++扩展,moc 分析C++源文件,如果它发现在一个头文件(header file)中包含Q_OBJECT 宏定义,然后动态的生成另外一个C++源文件,这个新的源文件包含 Q_OBJECT 的实现代码,这个新的 C++ 源文件也会被编译、链接到这个类的二进制代码中去,因为它也是这个类的完整的一部分。通常,这个新的C++ 源文件会在以前的C++ 源文件名前原创 2009-02-26 14:59:00 · 1181 阅读 · 1 评论 -
Inside QT Series (五):元对象系统(Meta-Object System)
从本节开始,我们讲解 QT Meta-Object System 的功能,以及实现。 在使用 QT 开发的过程中,大量的使用了 signal 和 slot. 比如,响应一个 button 的 click 事件,我们一般都写如下的代码:class MyWindow : public QWidget{ Q_OBJECT public: MyWindow(QWidge原创 2009-02-23 16:13:00 · 1060 阅读 · 0 评论 -
Inside QT Series (四):对象数据存储(C)
接上节,让我们来看看这个 QObjectPrivate 和 QObject 是如何关联在一起的。 // file name: qobject.cpp QObject::QObject(QObject *parent) : d_ptr(new QObjectPrivate){ // ………………………} QObject::QObject(QObj原创 2009-02-20 09:40:00 · 921 阅读 · 0 评论 -
Inside QT Series (三):对象数据存储(B)
Normal 0 false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4原创 2009-02-18 14:47:00 · 999 阅读 · 0 评论 -
Inside QT Series (二):对象数据存储(A)
Normal 0 false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4原创 2009-02-13 15:33:00 · 1097 阅读 · 0 评论 -
Inside Qt Series (十四):Qt/e输入法程序设计指南
注,本输入法设计指南针对Qt for Embedded Linux 4.5.1,并且以中文输入法为例做说明,并且本文只是侧重于说明Qt/Embedded对输入法的支持接口,并不涉及到如何把键盘输入转换为中文所对应的编码方法。对其它Qt版本的适用性未曾验证。大家都知道,Qt for EmbeddedLinux是Client/Server结构,在Server端负责监听系统消息,尤其原创 2009-06-09 10:35:00 · 1255 阅读 · 1 评论