Qt QFile错误:设备未打开
我有一个密码:Qt QFile错误:设备未打开,qt,qfile,Qt,Qfile,我有一个密码: int actualSize = 8; QFile tableFile("C:\\Users\\Ms\\Documents\\L3\\table"+QString::number(actualSize)+".txt"); QTextStream in(&tableFile); QString oneLine; oneLine.append(in.readAll()); if(tableFile.exists()) { messageLabel->setTex
int actualSize = 8;
QFile tableFile("C:\\Users\\Ms\\Documents\\L3\\table"+QString::number(actualSize)+".txt");
QTextStream in(&tableFile);
QString oneLine;
oneLine.append(in.readAll());
if(tableFile.exists())
{
messageLabel->setText(oneLine);
}else
{
messageLabel->setText("Not open");
}
在C:\Users\Ms\Documents\L3\
文件夹中,我有一个“table8.txt”文件。但是messageLabel
(它是一个QLabel)将有一个“未打开”文本,oneLine
为空,tableFile.exists()
为false,并且我收到一个设备未打开警告/错误
我试过相对路径,比如
QFile tableFile("table"+QString::number(actualSize)+".txt");
但是我提出的方法都不好。您应该能够对所有QFile相关路径使用
/
分隔符阅读前打开文件,完成后关闭
int actualSize = 8;
QFile tableFile("C:/Users/Ms/Documents/L3/table"+QString::number(actualSize)+".txt");
if(tableFile.exists() && tableFile.open(QIODevice::ReadOnly | QIODevice::Text))
{
QTextStream in(&tableFile);
QString oneLine;
oneLine.append(in.readAll());
messageLabel->setText(oneLine);
tableFile.close();
} else
{
messageLabel->setText("Not open");
}
调用
open
method?tableFile.open(QIODevice::ReadOnly | QIODevice::Text)的位置在哪里;我添加了这一行,它成功了,谢谢