Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2019, 16:57   #1
Kreya
Новичок
Джуниор
 
Регистрация: 21.01.2019
Сообщений: 1
По умолчанию Сохранение в QT

Здравствуйте. Я новичок в QT.
Можете пожалуйста помочь?
Столкнулся с проблемой в QT, с открытием и сохранением файла.

У меня есть несколько TextEdit. Но при сохранении и последующей загрузке файла, в каждом окне пишется текст со всех окон сразу.

Т.е. если в 1 написано : привет
Во 2: пока
То в каждом из окон, будет: приветпока

Код:
void Notes::on_actionOpen_triggered()
{
    QString file_name_ = QFileDialog::getOpenFileName(this, "Open the file");
    QFile file (file_name_);
    file_path_ = file_name_;
    if (!file.open(QFile::ReadOnly | QFile::Text))
    {
        QMessageBox::warning(this, "..", "file not open");
        return;
    }
    QTextStream in(&file);
    QString text1 = in.readAll();
    QString text2 = in.readAll();
    QString text3 = in.readAll();
    QString text4 = in.readAll();
    QString text5 = in.readAll();
   QString text6 = in.readAll();



    ui->Text1->setText(text1);
    ui->Text2->setText(text2);
    ui->Text3->setText(text3);
    ui->Text4->setText(text4);
    ui->Text5->setText(text5);
    ui->Text6->setText(text6);
    file.close();
}

void Notes::on_actionSave_triggered()
{
    QFile file (file_path_);
    if (!file.open(QFile::WriteOnly | QFile::Text))
    {
        QMessageBox::warning(this, "..", "file not open");
        return;
    }
    QTextStream out(&file);
    QString text1 = ui->Text1->toPlainText();
    QString text2 = ui->Text2->toPlainText();
    QString text3 = ui->Text3->toPlainText();
    QString text4 = ui->Text4->toPlainText();
    QString text5 = ui->Text5->toPlainText();
    QString text6 = ui->Text6->toPlainText();
    out << text1;
    out << text2;
    out << text3;
    out << text4;
    out << text5;
    out << text6;
    file.flush();
    file.close();
}

void Notes::on_actionSave_As_triggered()
{
    QString file_name_ = QFileDialog::getSaveFileName(this, "Open the file");
    QFile file (file_name_);
    file_path_ = file_name_;
    if (!file.open(QFile::WriteOnly | QFile::Text))
    {
        QMessageBox::warning(this, "..", "file not open");
        return;
    }
    QTextStream out(&file);
    QString text1 = ui->Text1->toPlainText();
    QString text2 = ui->Text2->toPlainText();
    QString text3 = ui->Text3->toPlainText();
    QString text4 = ui->Text4->toPlainText();
    QString text5 = ui->Text5->toPlainText();
    QString text6 = ui->Text6->toPlainText();
    out << text1;
    out << text2;
    out << text3;
    out << text4;
    out << text5;
    out << text6;


    file.flush();
    file.close();
}
Kreya вне форума Ответить с цитированием
Старый 22.01.2019, 19:23   #2
SAMOUCHKA
Форумчанин
 
Регистрация: 07.08.2011
Сообщений: 576
По умолчанию

Если не принципиально, можно использовать бинарный файл. Класс QDataStream, вместо QTextStream.
Ещё можно каждый текстедит записывать в новую строку. Потом в цыкле считывать по одной строке. Но это не подходит если у тебя в едитах более одной строки.
Ещё можно, для парсинга, использовать JSON.
SAMOUCHKA вне форума Ответить с цитированием
Старый 24.07.2019, 08:26   #3
Viktor_AE
Пользователь
 
Регистрация: 23.07.2019
Сообщений: 14
По умолчанию

Всё пишется в один файл.
Соответственно читается потом всё вместе.
Viktor_AE вне форума Ответить с цитированием
Старый 24.07.2019, 09:00   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Вы о чем и кому отвечали? Причем тут количество файлов?
Цитата:
Сообщение от Kreya Посмотреть сообщение
в каждом окне пишется текст со всех окон сразу
Ну откройте свой файл и посмотрите что в нем.
Вы пишете 6 строк подряд, как вы их потом различать собрались?
Почитайте доку по readAll если непонятно из названия что она делает.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 24.07.2019, 09:18   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Alex11223, полгода прошло...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение MangoDGJ Общие вопросы Delphi 12 06.06.2013 20:10
Сохранение в БД Волк C# (си шарп) 2 05.11.2012 00:56
сохранение БД JDmit БД в Delphi 5 05.06.2012 08:28
Сохранение TheSun Помощь студентам 0 28.11.2011 00:29
Сохранение БД Andrey174rus БД в Delphi 6 11.10.2009 19:10