Qt: чтение файла не работает

Я хочу прочитать файл и поместить его в строку Qstring, но файл не читается. Я искал много примеров в Google, но это не работает... Я хочу прочитать файл...

using namespace std;

 int main(int argc, char *argv[])

 {

    QApplication app(argc, argv);


    QFile in1("file.txt");

    QTextStream in(&in1);

    if (in1.open(QFile::ReadOnly | QFile::Text))
    {
        QLabel *label = new QLabel("read");
        label->show();
    }

    if (!in1.open(QFile::ReadOnly | QFile::Text))
    {
        QLabel *label = new QLabel("!read");
        label->show();
    }
    QString s1;

    in >> s1;

    QLabel *label = new QLabel(s1);

    label->show();

    return app.exec();

 }

покажи мне:! читай

Я включил все, что вы можете думать, и file.txt находится в правильном месте??!!:-(

1 ответ

Решение

Этот код работает для меня ниже.

file.txt

Hello World!

main.cpp

#include <QLabel>
#include <QApplication>

#include <QFile>
#include <QTextStream>
#include <QString>
#include <QDebug>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QFile in1("file.txt");
    QTextStream in(&in1);

    if (in1.open(QFile::ReadOnly | QFile::Text))
    {
        QLabel *label = new QLabel("read");
        label->show();
    }

    if (!in1.open(QFile::ReadOnly | QFile::Text))
    {
        QLabel *label = new QLabel("!read");
        label->show();
    }

    QString s1;
    in >> s1;

    QLabel *label = new QLabel(s1);
    label->show();
    return app.exec();
}

строить

g++ -Wall -fPIC -lQt5Core -lQt5Widgets -I/usr/include/qt -I/usr/include/qt/QtCore -I/usr/include/qt/QtWidgets main.cpp && ./a.out

или main.pro Файл проекта qmake:

TEMPLATE = app
TARGET = main
greaterThan(QT_MAJOR_VERSION, 4):QT += widgets
SOURCES += main.cpp

Это покажет все три ярлыка для меня, но я не уверен, что это то, что вы хотели. Обработка ошибок также отсутствует в вашем коде.

Другие вопросы по тегам