1.QFileDialog::getOpenFileName()仅仅是返回一个文件的路径的QString,并未真正打开文件;
QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"),
"/home",
tr("Images (*.png *.xpm *.jpg)"));
2.QFile创建对象是用QFileDialog::getOpenFileName()返回的QString作为参数;QFile::open()打开文件(真正打开文件);
QFile file(fileName);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return;
3.利用QTextStream (文本方式)或QDataStream(二进制)以字节流的形式读取或写入文件
QTextStream in(&file);
QTextCodec *uft8=QTextCodec::codecForName("UTF-8");
. in.setCodec(utf8);//设置编码
while (!in.atEnd()) {
QString line = in.readLine();
process_line(line);
}