- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
除了文本文件之外,其他需要按照一定的格式定义读写的文件都称为二进 制文件。每种格式的二进制文件都有自己的格式定义,写入数据时按照一定的 顺序写入,读出时也按照相应的顺序读出。例如地球物理中常用的 SEG-Y格式
文件,必须按照其标准格式要求写入数据才符合这种文件的格式规范,读取数 据时也需要按照格式定义来读出。Qt使用QFile和QDataStream进行二进制 数据文件的读写:
? QFile负责文件的10设备接口,即与文件的物理交互;
? QDataStream以数据流的方式读取文件内容或写入文件内容。
本节以实例中演示二进制文件的读写,图 1是程序运行的界面。
叩QD日怙阳朋写文伴
- □ X
□
表格复说tiff
乙
3 tn宏件
壬件喫存d时文件
S入行瞬万
Depth
Measured Depth Direction
Offset
Quality
Sampled
1 1
11.00
22.00
33X0
优
0 Esmpbd
2 3
n 00
22.00
妇00
不合格
0 Sampled
3 3
11.00
22.00
100
□ SEFTipled
AA
11.00
22.00
33.00
0 Sampled
5 5
n.oo
54.00
33.00
优
当前自币g;牟T
5歹」坦元魂內容:Sampled
图1二进制文件读写功能
实例以表格形式编辑一个数据表,采用 Model/View 结构,编辑后的数据
保存为二进制文件,这与前面所讲的用纯文本文件存储数据不同。根据 「
QDataStream保存文件时使用的数据编码的方式不同,可以保存为两种文件:
用Qt预定义编码保存各种类型数据的文件,定义文件后缀为“ .stm ”。Qt预
定义编码是指在写入某个类型数据,如整形数、字符串等到文件流时,使用 Qt
预定义的编码。可以将这种 Qt预定义数据格式编码类比于 HTML的标记符,Qt 写入某种类型数据时用了 Qt预定义的标记符,读出数据时,根据标记符读出 数据。使用Qt预定义编码保存的流文件,某些字节是 QDataStream自己写入 的,我们并不完全知道文件内每个字节的意义,但是用 QDataStream可以读出
相应的数据。
标准编码数据文件,定义文件后缀为“ .dat ”。在将数据写到文件时,完全使 用数据的二进制原始内容,每个字节都有具体的定义,在读出数据时,只需根 据每个字节的定义读出数据即可。
实例samp7_2具有如下功能:
Qt?可以在表格内编辑数据,同样的表格数据内容可以保存为两种格式的文件, 预定义编码文件(stm文件)和标准编码文件(dat文件);
Qt
?界面上的表格数据可以修改,可以添加行、插入行、删除行;
?可以读取stm文件或dat文件,虽然文件格式不一样,但对相同的界面数据 表存储的文件的实质内容是一样的。
实例 中的主窗口使用了 Model/View 结构、标准项数据模型
QStandardItemModel 和选择模型 QltemSelectionModel,界面上使用了 QTableView组件,还有代理组件。
这些涉及Model/View的设计可参考前面章节,这些设计在前述章节里己经介绍 过,不是本节的重点,不再详述。
为便于理解后面的程序,这里给出主窗口 Mai nWindow类中自定义的一些
变量和函数,具体如下(忽略了自动生成的一些定义):
class Mai nWin dow : public QMai nWin dow
{
p rivate:
QLabel *LabCellPos; //当前单元格行列号
QLabel *LabCellText; //当前单元格内容
QWIn tS pin Delegate in tS pin Delegate; // 整型数,代理组件 QWFloatS pin Delegate floatS pin Delegate; // 浮点数,代理组件 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 文件 boo
您可能关注的文档
最近下载
- 德国邦飞利变频器故障代码.pdf VIP
- 电子钱包 APP-钱Bag.PDF VIP
- iPhone使用手册中文.pdf VIP
- 《矿产资源_三率_指标要求 第 5 部分:金、银、铌、钽、锂、锆、 锶、稀土、锗》.pdf VIP
- 龙光集团丨纪凯婷人物介绍.pdf VIP
- 1访谈记录不忘初心方得始终.pdf VIP
- D-Z-T 0462.4-2023 矿产资源“三率”指标要求 第4部分:铜等12种有色金属矿产(正式版).docx VIP
- 无人机组装调试与检修-第五章-无人机系统调试.pptx VIP
- 无人机组装调试与检修-第四章-固定翼无人机系统组装.pptx VIP
- 无人机组装调试与检修-第二章-无人机装调工具与工艺.pptx VIP
原创力文档


文档评论(0)