【QT】C++ GUI Qt4 学习笔记4
- 作者: 五速梦信息网
- 时间: 2026年04月04日 13:55
感觉这本书的顺序设计的太不合理了,出现的最多的一句话就是后面会讲。按照使用的顺序讲不行吗?搞得代码都运行不了。
我决定先直接跳到73页,子类化QTableWidgetItem这一节。因为前面功能的实现都依赖于这一部分。
预备知识:
C++关键字 mutable:
mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。
在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。
我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。但是,有些时候,我们需要在const的函数里面修改一些跟类状态无关的数据成员,那么这个数据成员就应该被mutalbe来修饰。
----------------------------------------------------------------------------------------------------------------
Start:
QTableWidget是一个QT已经实现了的二维表格的类,每一个单元格的文本都用一个自动创建的QTableWidgetItem来存储。
为了实现更多的功能,我们自己创建一个类Cell来扩展QTableWidgetItem的功能。
QVariant 类: The QVariant class acts like a union for the most common Qt data types.
在Cell类中,用两个私有变量来扩展功能。
mutable QVariant cachedValue;
mutable bool cacheIsDirty;
cachedValue 缓存单元格的值
若单元格的值不是最新的 cacheIsDirty 设为 true
好吧 后面变成了纯粹的看这一部分的代码,计算表达式的值时,三个函数的循环调用有些难度。
cell.h
cell.cpp
然后回去看spreadsheet部分,把定义和clear()实现后终于可以显示一个像样子的界面了。虽然没有实现功能,但也不错了。

- 上一篇: 【Qt】学习笔记(一)
- 下一篇: 【QT】C++ GUI Qt4 学习笔记2
相关文章
-
【Qt】学习笔记(一)
【Qt】学习笔记(一)
- 互联网
- 2026年04月04日
-
【SFA官方翻译】使用 Kubernetes
【SFA官方翻译】使用 Kubernetes
- 互联网
- 2026年04月04日
-
【Shell脚本编程系列】知识储备以及建立规范的脚本
【Shell脚本编程系列】知识储备以及建立规范的脚本
- 互联网
- 2026年04月04日
-
【QT】C++ GUI Qt4 学习笔记2
【QT】C++ GUI Qt4 学习笔记2
- 互联网
- 2026年04月04日
-
【python爬虫】 request模块介绍 http协议版本区别 双token认证 携带cookie的两种方式 requests.session的使用 post请求携带数据编码格式 request.text编码问题 下载图片,视频
【python爬虫】 request模块介绍 http协议版本区别 双token认证 携带cookie的两种方式 requests.session的使用 post请求携带数据编码格式 request.text编码问题 下载图片,视频
- 互联网
- 2026年04月04日
-
【Python基础学习一】在OSX系统下搭建Python语言集成开发环境 附激活码
【Python基础学习一】在OSX系统下搭建Python语言集成开发环境 附激活码
- 互联网
- 2026年04月04日






