Qt编程之d指针与q指针

我们在Qt中可以看到两个宏Q_D和Q_Q这两个红分别是取得d指针和q指针的,d指针指向封装的私有类,q指针指向公共的类。(我的理解类似于回调,回指的意思)。

为什么Qt要这样实现呢?下面几个链接中的文章都做了解析和实现。

http://blog.csdn.net/mznewfacer/article/details/6976293

http://blog.csdn.net/ma52103231/article/details/7464610

http://blog.csdn.net/cibiren2011/article/details/22291967

Qt编程之d指针与q指针

时间: 2024-08-26 19:32:25

Qt编程之d指针与q指针的相关文章

Qt编程之UI与控件布局

当然,大家都知道UI界面可以用Qt Designer在约束环境下设置编辑.ui文件,再将.ui文件转换成对应的ui_XXX.h文件,这头文件中的内容是:用C++语言实现真正的界面布局.uic -o "outputfile" "inputfile.ui"命令行可以转换 当然,也可以自己用C++来实现界面布局利用成员函数SetGeometry什么的,但是那样的开发效率就下降了,BUG概率引入的也会加大. 这篇文章很好的演示了只利用C++实现的界面设计布局: http:/

Qt编程之mapx组件编程

今天利用组件打包程序写了一些小例子,给大家贴出来,顺便提高一下记忆. 上一篇介绍了直接使用控件和使用控件打包程序对控件进行编程的方法.个人感觉后者编程更方便.不说废话了: 头文件中所需要的类型指针对象,顾名思义可以看到指针对象所述的类 MapSpace::Map *map; MapSpace::CMapXPoint *pCMapXPoint,*pCMapXPoint1; MapSpace::CMapXFeatureFactory *pCMapFeaFactory; MapSpace::CMapX

Qt编程之Qt样例表(QSS)

For a long time, Qt has allowed you to decorate your GUIs with CSS’ish style sheets. Inspired by the web, stylesheets are a great way to stylize your Qt GUI, but it seems that few people use them. In this tutorial, we’ll create an example dialog in Q

Qt编程之QtScript

需求是这样的: 需要给一个硬件接口测试些东西,用js来调用,js做成不同的独立模块分别测试不同的硬件接口,包括DMD内存,PCIE带宽等等.需要用一个exe来载入这些js文件分别调用测试模块.exe用Qt来做.就只能用QtScript模块了么. QtScript是一个解释脚本的引擎 符合EMCAScript标准. references: http://blog.csdn.net/guxch/article/details/7656846 http://blog.csdn.net/bbjjqq/a

Qt编程之qrc文件的链接

在Qt里面,.qrc文件是一种类似XML结构的文件,用结构化数据描述应用程序所需要的资源位置,例如图片,应用程序的图标文件等.它最终是与.ui文件类似都被通过Qt提供的命令行工具生成对应的qrc_XXX.cpp文件了.最终被链接到应用程序中. 对应的命令行是这样的: "$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\q

Qt编程之QImage类小结

最近用Qt做图像处理,以下references是需要用到的 references: http://blog.csdn.net/lyc_daniel/article/details/9193881 http://blog.csdn.net/hxingd/article/details/6972417 http://tracey2076.blog.51cto.com/1623739/539690/

Qt编程之QString 处理换行

由于之间写过的一篇文章,Unix,windows,Mac里面的换行符不一样,导致处理也不一样,我现在要用QString以行分割(读取的文本文件的里面有换行符).所以要通吃这三种换行符 http://www.cnblogs.com/foohack/p/4125829.html 用正则表达式QRegEx就可以了: QString.split(QRegExp("[\r\n]"),QString::SkipEmptyParts); 这样返回的List就是以行分割的. references:ht

Qt编程之对QGraphicsItem点击右键弹出菜单

就是对这个contextMenuEvent 事件重新实现,在这个事件函数中创建菜单,大概就是这样. 1 void MyItem::contextMenuEvent(QGraphicsSceneContextMenuEvent *event) 2 { 3 QMenu *menu = new QMenu; 4 menu->addAction("Action 1"); 5 menu->addAction("Action 2"); 6 menu->popu

QT核心编程之Qt线程 (c)

QT核心编程之Qt线程是本节要介绍的内容,QT核心编程我们要分几个部分来介绍,想参考更多内容,请看末尾的编辑推荐进行详细阅读,先来看本篇内容. Qt对线程提供了支持,它引入了一些基本与平台无关的线程类.线程安全传递事件的方式和全局Qt库互斥量允许你从不同的线程调用Qt的方法.Qt中与线程应用相关的类如表6所示. 表6 Qt中与线程相关的类 使用线程需要Qt提供相应的线程库的支持,因此,在编译安装Qt时,需要加上线程支持选项. 当在Windows操作系统上编译Qt时,线程支持是在一些编译器上的一个