欢迎光临
我们一起努力

C/C++/汇编

虚函数和纯虚函数的区别

libero阅读(49)评论(0)赞(0)

首先:强调一个概念 定义一个函数为虚函数,不代表函数为不被实现的函数。 定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。 定义一个函数为纯虚函数,才代表函数没有被实现。 定义纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承...

c++的三大特性-Libero's Blog

c++的三大特性

libero阅读(60)评论(0)赞(0)

c++有三大特性:封装、继承和多态。 首先,我们谈谈c++的封装,在学习c语言的时候我们都知道,在c语言中我们可以使用struct结构体来将数据存放起来,上节我们说到c语言的一切语法适用于c++,所以c++自然也可以用同样的方法存放数据,如...

Qt 反射,moc,Q_INVOKABLE

libero阅读(45)评论(0)赞(0)

使用Q_INVOKABLE来修饰成员函数,目的在于被修饰的成员函数能够被元对象系统所唤起 Q_INVOKABLE与QMetaObject::invokeMethod均由元对象系统唤起。这一机制在Qt C++/QML混合编程,跨线程编程,Qt...

Qt的元对象(Meta-Object) 系统简介

libero阅读(49)评论(0)赞(0)

Qt的元对象系统基于如下三件事情:   1.类:QObject,为所有需要利用原对象系统的对象提供了一个基类。 2.宏:Q_OBJECT,通常可以声明在类的私有段中,让该类可以使用元对象的特性,比如动态属性,信号和槽。 3.编译器...

QT之自定义委托-Libero's Blog

QT之自定义委托

libero阅读(66)评论(0)赞(0)

在 model/view 架构中,与model同等重要的就是 view。 我们知道,在经典的 MVC 模型中,view用于向用户展示 model 的数据。但是,Qt提供的不是 MVC 三层架构,而是一个 model/view 设计。这种设计...

QT自定义Model之三-Libero's Blog

QT自定义Model之三

libero阅读(52)评论(0)赞(0)

今天来说的是自定义model中最复杂的例子。这个例子同样也是出自C++ GUI Programming with Qt 4, 2nd Edition这本书。 这个例子是将布尔表达式分析成一棵树。这个分析过程在离散数学中经常遇到,特别是复杂的...

自定义model之二

libero阅读(154)评论(1)赞(0)

前面的例子已经比较清楚的给出了自定义model的方法,就是要覆盖我们所需要的那几个函数就可以了。但是,前面的例子仅仅是简单的展示数据,也就是说数据时只读的。那么,如何能做到读写数据呢?那就要来看进来的例子了。这个例子也是来自C++GUI P...

QT 自定义model 之一-Libero's Blog

QT 自定义model 之一

libero阅读(77)评论(0)赞(0)

前面我们说了Qt提供的几个预定义model。但是,面对变化万千的需求,那几个model是远远不能满足我们的需要的。另外,对于Qt这种框架来说,model的选择首先要能满足绝大多数功能的需要,这就是说,可能这个model中的某些功能你永远也不...

QSortFilterProxyModel

libero阅读(54)评论(0)赞(0)

Qt为我们预定义了很多model,前面已经说过了QStringListModel、QDirModel(也算是Qt推荐使用的QFileSystemModel吧,这个在上一章最后重新加上了一段话,没有注意的朋友去看看哦)。今天我们要说的这个QS...