- 博客(3)
- 资源 (19)
- 收藏
- 关注
原创 从零开始实现信号槽机制:二
到这里应该差不多了,总结一下。我们在上篇博文中实现的sigslot机制已经能够比较好地实现两个组件之间的解耦,但是缺点是设计库时需要针对不同参数数量的信号与链接需要重复编码,槽函数必须继承一个共同的基类等。而Qt的信号槽机制建立在其庞大的元对象体系之上,由于其信号与槽函数的参数类型可以随时随地查到,因此在传参时可以仅仅传递一个void*类型的指针,然后通过虚函数机制调用为被调类写好的qt_matecall(),就很容易对参数反向解析从而调用相应的槽函数了。基本上是以一定的性能损失换来了更高的灵活性,也算是各
2015-09-04 21:19:23 13178 4
原创 从零开始实现信号槽机制:一
我们从一个具体的问题入手:“现在有一堆按钮,用来控制一堆电器,它们之间可能是一对多,也可能是多对一,如何设计这个结构?”这里有个形象的图:为了实现组件间的控制,我们很容易想到“回调函数”,对于C++开发者,我们肯定不希望一个类自身的处理函数存在于类外,但是类成员函数中被自动添加的隐形this形参造成了函数指针调用的不匹配,于是我们想到了使用static成员函数:
2015-09-04 13:49:30 7497 7
原创 再谈QVector与std::vector——使用装饰者让std::vector支持连续赋值
使用Qt的容器时总是让人省心,不仅是它同时提供了C++ Style和Java Style的操作接口,并且还支持下面这样的连续赋值方式:而std::vector时显然就没有这么贴心了,对于不同且没规律的赋值,循环都不好用,只好一个个地push_back();不过好在,我们可以用装饰类为std::vector添加这个功能
2015-09-01 14:31:17 8668
mupdf-qt已编译库文件
2015-05-22
Qt学习之路2——79章节版
2014-08-13
QML学习教程——qt5_cadaques
2014-08-13
Gimp导出为QML插件
2014-08-13
PhotoShop导出为QML插件
2014-08-13
Qt5开发及实例 完整高清版(ppt+源码)不是原书籍
2014-08-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人