Есть окно, в окне кнопка и лейбл. код кнопки
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 есть некая строчка. Кьют не выдает месседжбокс об ошибке, то есть чтение произошло и с ним все окей, но текст на лейбле присваивается пустоте, то есть он не смог прочитать из фаила. С записью так же - ошибки нет, но кьют ничего не записывает. Из-за чего это и как исправить?
Создал аналогичный пример:
#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();
}
Он полностью отработал. Проверьте расположение файла. Он должен лежать рядом с исполняемым файлом, либо попробуйте прописать полный путь до него. Также посмотрите включена ли теневая сборка. При включенной теневой сборке бинарники собираются в отдельной директории.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости