QFileDialog
文件对话框,通过QFileDialog可以弹出文件对话框
QString fileName = QFileDialog::getOpenFileName(this, "open file", "H:\\");
if(fileName.isEmpty() == true){
QMessageBox::warning(this, "warning", "选择文件无效");
return;
}
ui->lineEdit_file->setText(fileName);
QFile文件对象
创建QFile对象,并将fileName传递给构造函数,即可打开文件。
QFile file(fileName);
bool isOk = file.open(QFile::ReadWrite);
if(isOk == false){
QMessageBox::critical(this, "critical", "打开文件失败");
return;
}
读取内容
读取内容有readAll 和 readLine ,readAll一般是读进QByteArray数组里,这个数组里保存文件的所有内容,包括换行符和空格。
笔者这里使用按行读取,因为文件的内容是按行保存的: 既然按行读取,是读取到数组,还是读出字符串,都是可以的,我们最后要保存为long long 类型,但是不能直接用longlong类型的变量去接受readLine()的内容。需要先用QString接受,再将QString转换成long long
笔者这里将读出的内容显示到textEdit中
while(!file.atEnd())
{
QString string = file.readLine();
ui->textEdit_file->append(string);
long long value = string.toULongLong();
qDebug() << value << endl;
array.push(value);
}
file.close();
效果
|