Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 21.01.2019, 17:57   #1
Kreya
Новичок
 
Регистрация: 21.01.2019
Сообщений: 1
Репутация: 10
По умолчанию Сохранение в 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, 20:23   #2
SAMOUCHKA
Участник клуба
 
Регистрация: 07.08.2011
Адрес: Димитровград
Сообщений: 573
Репутация: 161

skype: ilya10009
По умолчанию

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

Всё пишется в один файл.
Соответственно читается потом всё вместе.
Viktor_AE вне форума   Ответить с цитированием
Старый 24.07.2019, 10:00   #4
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 18,822
Репутация: 3689

icq: 512-765
skype: alexp.frl
По умолчанию

Вы о чем и кому отвечали? Причем тут количество файлов?
Цитата:
Сообщение от Kreya Посмотреть сообщение
в каждом окне пишется текст со всех окон сразу
Ну откройте свой файл и посмотрите что в нем.
Вы пишете 6 строк подряд, как вы их потом различать собрались?
Почитайте доку по readAll если непонятно из названия что она делает.
Alex11223 на форуме   Ответить с цитированием
Старый 24.07.2019, 10:18   #5
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 25,695
Репутация: 5617
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение 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


23:19.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.