我对C ++和QT很新。基本上,我刚刚完成了Java的工作,但我们正在使用C ++来创建一个模块,我们必须设计一个Zork游戏UI。我计划创建Room对象的方法是使用roomnum.long,.short和.name构建Room,用于long desc,short desc和name。
对于第一个房间,我只是暂时加载文件,直到我正确地进入对象等。但是,我似乎无法将文件写入文本标签。返回“重启游戏等”确实按下按钮,但不是文件的内容。 Rooms文件夹与源文件位于同一文件夹中(本例中为islandmain.cpp)
有什么想法吗?
void TheIslandMain::on_startButton_clicked()
{
ui->roomDesc->setText(readFirstRoom("/Rooms/room1.long"));
ui->roomDesc->setWordWrap(true);
}
QString TheIslandMain::readFirstRoom(QString filename)
{
QFile mFile(filename);
if (!mFile.open(QFile::ReadOnly | QFile::Text))
{
qDebug() << "Could not open file for reading Line 31";
return "Could not load file. Please restart game.";
}
QTextStream in(&mFile);
QString fileInput = in.readAll();
qDebug() << fileInput;
mFile.close();
return fileInput;
}
答案 0 :(得分:0)
使用bool QFile::exists(const QString& path)
检查文件是否存在,以及它是否只包含函数中的文件名或整个路径(需要路径)
soo long zai
答案 1 :(得分:0)
/Rooms/room1.long
指向root中的文件,然后指向Rooms,然后指向room1.long作为文件。如果Rooms
是它需要相对于应用程序本身的目录,那么如果Rooms
与您的应用程序位于同一目录中,那么它只是Rooms/room1.long
,如果它位于更高的位置等级../Rooms/room1.long
或Resources/Rooms/room1.long
。