@idiotos6

Как передать данные между формами и изменить их?

Делаю программу напоминалку типа Birthday в QT. Не пойму как реализовать кнопки "изменить" и "добавить" для задач. По нажатию кнопки "добавить" открывается вторая форма в которой я ввожу задачу, жму окей и она передается в главную форму и выводится на экране. А по нажатию кнопки "изменить" выделенный объект(или указатель на него, не знаю как все это сделать) передается так же во вторую форму и там редактируется, после чего возвращаем его в главную форму.5a3813daa33e6280585630.png5a3813e9af11f628888106.pngmainwindow.cpp
void MainWindow::on_pushButton_add_clicked()
{   Script stakan;
    Dialog *add = new Dialog(stakan, this);
    add->exec();
    Script stakanadd = add->stakan;
    if (add->g==true){
        korobka.append(stakan);
 
    }
    else {
 
    }
 
    add->deleteLater();
    korobka.append(stakan);
 
 
}
 
void MainWindow::on_pushButton_edit_clicked()
{
    Script stk;
    stk.SetText(ui->Today->currentItem()->text());
 
    QVariant data=ui->Today->currentItem()->data(Qt::UserRole);
    stk.setData(data.toDate());
 
    Dialog *sohr = new Dialog(stk, this);
    sohr->exec();
    Script stakanedit = sohr->stakan;
    if (sohr->g==true){
        korobka.append(stakanedit);
    }
    else {
 
    }
 
    sohr->deleteLater();
    korobka.append(stakanedit);
}

dialog.cpp
void Dialog::on_button_changeValue_accepted()
{
 
    g=true;
    Dialog::close();
 
 
}
void Dialog::on_button_changeValue_rejected()
{
    g=false;
    Dialog::close();
}

stakan это объект класса Script
class Script
{
public:
    Script();
    void SetText(const QString &str);
    QString GetText();
 
 
 
    QDate getData() const;
    void setData(const QDate &value);
 
private:
    QString text;
    QDate data;
};
  • Вопрос задан
  • 203 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы