文件输入-未读取的文件QT



我对C++和QT很陌生。基本上,我只是做了Java的东西,但我们被扔到C++中作为一个模块,在这个模块中我们必须设计一个Zork游戏UI。我计划创建Room对象的方法是用roomnum.long、.short和.name来构造Room,以表示长desc、短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;
}

使用bool QFile::exists(const QString& path)检查文件是否存在,以及它是否只是函数中的文件名或整个路径(需要路径)

soo long zai

/Rooms/room1.long指向根目录中的一个文件,然后是Rooms,然后是room1.long。如果Rooms是它需要相对于应用程序本身的目录,那么如果Rooms与您的应用程序在同一目录中,那么它就只是Rooms/room1.long,如果它在更高级别的../Rooms/room1.longResources/Rooms/room1.long中。

最新更新