这里用QListwidget来演示打开与保存数据:
#include "dialog.h"
#include "ui_dialog.h"
#include <QFileDialog>
#include <QDataStream>
#include <QFile>
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
QStringList m_List;
for(int i=0;i<=23;i++)
{
m_List << tr("www.it165.net %1").arg(i);//首先初始一些数据用语保存
}
ui->mList->insertItems(0,m_List);
}
保存数据:
void Dialog::on_mSave_clicked()
{
QStringList m_List;
for(int i=0;i<=ui->mList->count()-1;i++)
{
m_List << ui->mList->item(i)->text();
}
QString filename = QFileDialog::getSaveFileName(this,"save dialog");
QFile file(filename);
if(!file.open(QIODevice::WriteOnly))
{
return;
}
QDataStream qds(&file);
qds << m_List;
}
打开数据:
void Dialog::on_mOpen_clicked()
{
QStringList m_List;
QString filename = QFileDialog::getOpenFileName(this,"open dialog");
QFile file(filename);
if(!file.open(QIODevice::ReadOnly))
{
return;
}
QDataStream qds(&file);
qds >> m_List;
ui->mList->insertItems(0,m_List);
}
用同样的方法还可以保存例如QMap等数据类型
下面是运行效果