我对 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;
}