Qt
FinderCheng
这个作者很懒,什么都没留下…
展开
-
Qt学习之路(1):前言
Qt是一个著名的C++库——或许并不能说这只是一个GUI库,因为Qt十分庞大,并不仅仅是GUI。使用Qt,在一定程序上你获得的是一个“一站式”的服务:不再需要研究STL,不再需要C++的<string>,因为Qt有它自己的QString等等。或许这样说很偏激,但Qt确实是一个“伟大的C++库”。我们所使用的Qt,确切地说也就是它的GUI编程部分。C++的GUI编程同Java不...2009-09-08 14:21:15 · 245 阅读 · 0 评论 -
Qt源码剖析:从 QObject 开始
本来打算把《Qt学习之路》作为一个类似教程的东西,所以就不打算把一些关系到源代码的内容放在那个系列之中啦。因此今天就先来看一个新的开始吧!这个系列估计不会进展很快,因为最近公司里面要做 flex 的项目演示,所以时间不是很多啦,并且源代码也不是那么容易看的。豆子也不是 C/C++ 出身,因此看起来也会有些麻烦。 《Qt源码剖析》作为一个独立的系列,大致就是对Qt的源代码进行分析。个人以为,...2010-06-02 13:37:08 · 254 阅读 · 0 评论 -
Qt源码剖析:信息隐藏(1)
如果你阅读了 Qt 的源代码,你会看到一堆奇奇怪怪的宏,例如 Q_D,Q_Q。我们的Qt源码之旅就从理解这些宏说起。 下面先看一个C++的例子。 class Person { public: Person(){} ~Person(){} string name(); void setName(string name); int age(); void s...2010-06-02 19:08:38 · 251 阅读 · 0 评论 -
Qt源码剖析:信息隐藏(2)
下面在上一篇的基础上,我们进入Qt的源代码,看看Qt4.x是如何实现 Private Classes 的。 正如前面我们说的,或许你会看到很多类似 Q_D 或者 Q_Q 这类的宏。那么,我们来试着看一下这样的代码: void MyClass::setFoo( int i ) { Q_D(MyClass); d-&gt;m_foo = i; } int MyClass:...2010-06-04 13:36:34 · 288 阅读 · 0 评论 -
Qt源码剖析:信息隐藏(3)
前面我们已经看到了怎样使用标准的 C++ 代码以及 Qt 提供的 API 来达到信息隐藏这一目标。下面我们来看一下 Qt 是如何实现的。 还是以 QObject 的源代码作为例子。先打开 qobject.h,找到 QObjectData 这个类的声明。具体代码如下所示: QObjectData { public: virtual ~QObjectData() = ...2010-06-19 12:38:56 · 325 阅读 · 0 评论