第4章 实现应用程序的功能
前面两章说明了如何创建Spreadsheet应用程序的用户界面。这一章将通过编写它的底层功能函数来完成这个程序。
- 中央窗口部件
QMainWindow的中央区域可以被任意种类的窗口部件所占用。下面给出所有可能情形的描述:
1)只有一个窗口部件:
- 使用一个标准的Qt窗口部件。像QTableWidget或者QTextEdit这样的标准窗口部件 可以作为中央窗口部件。
- 使用一个自定义窗口部件。
2)有多个窗口部件:
- 使用一个带布局管理器的普通QWidget。通过使用一个作为所有其他窗口部件父对象的QWidget,以及使用布局管理器管理这些子窗口部件的大小和位置。
- 使用切分窗口QSplitter。QSplitter会在水平方向或竖直方向上排列它的子窗口部件。切分窗口可以包含所有类型的窗口部件,包括其他切分窗口。
- 使用多文档界面工作空间。如果应用程序使用的是多文档界面,那么它的中央区域就会被QMidArea窗口部件所占据,并且每个多文档界面都是它的一个子窗口部件。
- 子类化QTableWidget
类QTableWidget的继承树:QObject->QWidget->QTableView->QTableWidget
QTableWidget是一组格子,可以非常有效的用来表达二维稀疏数组,他可以在规定的维数内显示用户滚动到任一单元格。当用户在一个空单元格内输入一些文本的时候,QTableW