为便于理解后面的程序,这里给出主窗口 MainWindow 类中自定义的一些变量和函数,具体如下(忽略了自动生成的一些定义):
class MainWindow : public QMainWindow { private: QLabel *LabCellPos; //当前单元格行列号 QLabel *LabCellText; //当前单元格内容 QWIntSpinDelegate intSpinDelegate; //整型数,代理组件 QWFloatSpinDelegate floatSpinDelegate; //浮点数,代理组件 QWComboBoxDelegate comboBoxDelegate; //列表选择,代理组件 QStandardItemModel *theModel; //数据模型 QItemSelectionModel *theSelection; //选择模型 void resetTable (int aRowCount) ; //表格复位,设定行数 bool saveDataAsStream (QString& aFileName) ;//保存为 stm 文件 bool openDataAsStream (QString& aFileName) ;//打开 stm 文件 bool saveBinaryFile (QString& aFileName) ; //保存为 dat 文件 bool openBinaryFile (QString& aFileName) ; //打开 dat 文件 };
Qt预定义编码文件的读写
保存为stm文件
先看文件保存功能,因为从文件保存功能的代码可以看出文件内数据的存储顺序。