我们使用自定义的二进制格式来实现Spreadsheet文件的保存和读取。我们用QFile和QDataStream这两个类来实现,它们一起提供了平台无关的二进制I/O。
首先是保存文件的代码:
bool Spreadsheet::writeFile(const QString&fileName)
{
QFile file(fileName);
if (!file.open(QIODevice::WriteOnly)) {
QMessageBox::warning(this, tr("Spreadsheet"),
tr("Cannot write file %1: %2.")
.arg(file.fileName())
.arg(file.errorString()));
returnfalse;
}
QDataStreamout(&file);
out.setVersion(QDataStream::Qt_4_1);
out