2
我想写QVector包含我的类的文件对象,并有一些问题。我需要将一些对象保存为.txt文件,然后将其读出。但保存不能正常工作。我可以释放它的方式是什么?如何写QVector文本文件
Film.h
class Film
{
public:
QString title;
int year;
friend QDataStream &operator<< (QDataStream &stream, const Film obj)
{
stream << obj.title; //title only while i'm testing my program
return stream;
}
friend QDataStream &operator>> (QDataStream &stream, Film &obj)
{
stream >> obj.title;
return stream;
}
};
AddFilm.cpp
void AddFilm::slotOkButtonClicked()
{
QVector<Film> database;
Film film;
film.title = titleLine->text(); // QLineEdit where i input data
film.year = yearLine->text().toInt(); // QLineEdit where i input data
database.push_back(film);
QFile file("database.fdtb");
if(file.open(QIODevice::WriteOnly))
{
QDataStream out(&file);
out << film;
file.close();
}
非常感谢您的帮助,但我仍然有一个小问题。我想写一个qvector文件,而不是一个对象。我的程序向我展示了向量中的元素0,但是当我想要看下一个元素时,我遇到了“索引超出范围”的错误。我试图用qvector代码: QVector base; ... base.push_back(film); ... out << base; –
2014-09-06 12:06:40
请帮助我,我没有任何想法如何解决这个问题.. – 2014-09-06 13:05:32
如果你只推动向量中的一个项目,他们如何访问下一个项目? – Nejat 2014-09-07 06:21:12