我有一个代码:
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()
为空,我的设备未打开警告/错误。< / p>
我试过相对路径,比如
QFile tableFile("table"+QString::number(actualSize)+".txt");
但我提出的方法都没有。
答案 0 :(得分:1)
您应该能够为所有与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");
}