Не работает чтение и запись в файл Qt

186
22 июня 2019, 05:50

Есть окно, в окне кнопка и лейбл. код кнопки

void HelloWindow::on_pushButton_clicked()
{
    QFile fileOut("data.txt");
    QString name=ui->pushButton->text();
    if(fileOut.open(QFile::ReadOnly | QFile::Text)){
           QTextStream stream(&fileOut);
           QString str=stream.readAll();
           ui->label->setText(str);
       }
    else
        QMessageBox::information(this,"error","ERROR!");
    fileOut.close();
}

В фаиле data.txt есть некая строчка. Кьют не выдает месседжбокс об ошибке, то есть чтение произошло и с ним все окей, но текст на лейбле присваивается пустоте, то есть он не смог прочитать из фаила. С записью так же - ошибки нет, но кьют ничего не записывает. Из-за чего это и как исправить?

Answer 1

Создал аналогичный пример:

#include <QCoreApplication>
#include <QFile>
#include <QTextStream>
#include <QDebug>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QFile fileOut("data.txt");
    if(fileOut.open(QFile::ReadOnly | QFile::Text)){
        QTextStream stream(&fileOut);
        QString str=stream.readAll();
        qDebug() << str;
    }
    else
        qDebug() << "error";
    fileOut.close();
    return a.exec();
}

Он полностью отработал. Проверьте расположение файла. Он должен лежать рядом с исполняемым файлом, либо попробуйте прописать полный путь до него. Также посмотрите включена ли теневая сборка. При включенной теневой сборке бинарники собираются в отдельной директории.

READ ALSO
Как убрать eventHandler с кнопки в javafx?

Как убрать eventHandler с кнопки в javafx?

при таком коде во время запуска игры по идее должно пропадать действие при нажатии кнопкиБез добавления eventHandler игра не реагирует, но вот...

153
Почему веб приложения не зависимы от ос [закрыт]

Почему веб приложения не зависимы от ос [закрыт]

Заранее извиняюсь за вопросСкорее всего он глупы и некорректный

154
Исключение при загрузке FXML файлов

Исключение при загрузке FXML файлов

Изучаю JavaFX, столкнулся с такой проблемой, не могу прогрузить FXML файлы, выдает Exception in Application start method, жалуясь на строку, где происходит загрузка...

188
java.lang.NoClassDefFoundError: org/apache/commons/lang/time/FastDateFormat

java.lang.NoClassDefFoundError: org/apache/commons/lang/time/FastDateFormat

У меня по условию есть параметр который подается на вход хранимой процедурев Т/З записан как

316