2017年3月16日
摘要: 这个类型相当于是Java里面的Object,它把绝大多数Qt提供的数据类型都封装起来,起到一个数据类型“擦除”的作用。比如我们的 table单元格可以是string,也可以是int,也可以是一个颜色值,那么这么多类型怎么返回呢?于是,Qt提供了这个QVariant类型,你可以把这很多类型都存放进去, 阅读全文
posted @ 2017-03-16 16:43 苦涩的茶 阅读(43505) 评论(0) 推荐(2) 编辑
摘要: 对于Qt 来说,是可以做到运行时,根据对象的类名字(字符串)来获得对象的实例的,这点和一些语言的反射机制是一样的。但是在Qt中,我们需要所额外的一步,就是注册。只要做到了注册,我们就可以 自由的创建对象了。 C/C++ code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 阅读全文
posted @ 2017-03-16 16:00 苦涩的茶 阅读(2467) 评论(0) 推荐(0) 编辑
摘要: 模板为什么要特化,因为编译器认为,对于特定的类型,如果你能对某一功能更好的实现,那么就该听你的。 模板分为类模板与函数模板,特化分为全特化与偏特化。全特化就是限定死模板实现的具体类型,偏特化就是如果这个模板有多个类型,那么只限定其中的一部分。 先看类模板: [cpp] view plain copy 阅读全文
posted @ 2017-03-16 15:55 苦涩的茶 阅读(829) 评论(0) 推荐(0) 编辑
摘要: 正规的C++语言标准目前(截止到C++14)应该还不支持这种调用方法。目前微软似乎在它的VC++中推行一种叫做C++/CLI的标准,有可能会支持这种调用,如果一定要用这种调用方法的话,还应该用VS2013尝试编译运行一下。 实际上,C++语言中类的静态成员函数本身应该是所有这一类对象的集体所具有的行 阅读全文
posted @ 2017-03-16 15:48 苦涩的茶 阅读(774) 评论(0) 推荐(1) 编辑
摘要: 引用的概念 引用:就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。 引用的声明方法:类型标识符 &引用名=目标变量名; 如下:定义引用ra,它是变量a的引用,即别名。 int a; int &ra=a; (1)&在此不是求地址运算符,而是起标识作用。 (2)类型标识符是指目标变 阅读全文
posted @ 2017-03-16 15:26 苦涩的茶 阅读(388) 评论(0) 推荐(0) 编辑
摘要: QObject 中没有提供一个拷贝构造函数和赋值操作符给外界使用,其实拷贝构造和赋值的操作都是已经声明了的,但是它们被使用了Q_DISABLE_COPY () 宏放在了private区域。因此所有继承自QObject的类都使用这个宏声明了他们的拷贝构造函数和赋值操作符为私有。 为什么要这样做? 我 阅读全文
posted @ 2017-03-16 14:43 苦涩的茶 阅读(478) 评论(0) 推荐(0) 编辑
摘要: 模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。 模板是一种对类型进行参数化的工具; 通常有两种形式:函数模板和类模板; 函数模板针对仅参数类型不同的函数; 类模板针对仅数据成员和成员函数类型不同的类。 阅读全文
posted @ 2017-03-16 13:46 苦涩的茶 阅读(220) 评论(0) 推荐(0) 编辑

// 1.生成目录索引列表