我是靠谱客的博主 拼搏鼠标,这篇文章主要介绍【QT】C++ GUI Qt4 学习笔记5,现在分享给大家,希望可以做个参考。

折腾了好几天,终于把这本书的第三章和第四章给看了个大概。

里面的函数调用关系可谓是复杂。

 

整理了一部分的函数关系如下:

复制代码
1
2
3
4
5
6
7
8
9
10
cell关系清理 data(role) 返回应该显示的值 或者对齐方式 或者公式 ->value() 单元格的值,如果是旧的就重新获得 值给cachedValue并返回 对输入的以‘开头和 = 开头的做特殊处理 ->formula() 获得单元格的Edit role ->data(Edit role) ->evalExpression() 计算表达式的值 setFormula(formula) //设置单元格的公式 -> setData(EditRole, formula) 对编辑角色调用setData -> QTableWidgetItem::setData(role value) 将单元格 用给定的公式 以给定的值 赋值 ->setDirty() 如果赋值的是EditRole 把值设为旧的

问题:

??data()在哪里被调用
Qt::DisplayRole
Qt::TextAlignmentRole 还在哪里出现过

复制代码
1

??QTableWigetItem 中 text() 和 data()的区别
??把值设为旧的有什么用处?

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
spreadsheet关系清理 Spreadsheet() |->QTableWidget::setItemPrototype(new Cell) //设置每个单元格的类型 |->SelectionMode() //设置选择模式 Qt自带 |->somethingChanged() //槽函数 | |->recalculate() //重新计算 | | |->cell() //把单元格转换为Cell形式 | | | ->QTableWidget::item() | | |->Cell::setDirty() //把所有有值的都设为旧的 | | |->viewport()->update() 更新 ?? | | | |->modified() //信号 | |->clear() //清空整张表 |->setRowCount(0) |->setColumnCount(0) |->setRowCount(RowCount); //设置有多少行 Qt自带 |->setColumnCount(ColumnCount); //设置有多少列 Qt自带 setAutoRecalculate() //如果自动重算是true就调用下面算子 ->recalculate()

里面有些问题我还没有想通。标了问号。

 

对于这些模块,从小到大整理一下:

最小的是 QTableWigetItem 就是二维表格QTableWidget的自带单元格的表示,但是输入什么就显示什么,没有什么功能

然后是    Cell 是扩展的QTableWigetItem  里面加入了对特殊输入的格式处理和表达式计算功能

再后是    spreadsheet扩展自二维表格QTableWidget 采用了Cell, 加入了复制、 粘贴、 查找、 排序、 保存、 读取的功能。

最后是    MainWindow的功能主要是界面的显示 界面按钮与功能的对接

 

转载于:https://www.cnblogs.com/dplearning/p/4081780.html

最后

以上就是拼搏鼠标最近收集整理的关于【QT】C++ GUI Qt4 学习笔记5的全部内容,更多相关【QT】C++内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部