Передать строку из диалога в MainWindow?

Я пытаюсь сделать программу, которая имеет MainWindow.cpp и dialog1.cpp, мне нужно передать строку из QLineEdit моего диалога в функцию в MainWindow.cpp. До сих пор я только что сделал класс формы диалога qt и Использовал модальный подход для просмотра диалога.
Диалог получает ввод из lineedit в myString.
dialog.cpp

    void Dialog::on_buttonBox_clicked(QUrl fileUrl)
{
    QString myString = ui->lineEdit->text();
}

Теперь я должен передать данные в myString в функцию dnldFile в качестве параметра, который находится в MainWindow.cpp.

    void MainWindow::on_dnldButton_clicked()
{
    Dialog newDnld;
    newDnld.setModal(true);
    newDnld.exec();
    dnldFile();
}

Как я могу это сделать?

Спасибо!

1 ответ

Решение

Вы можете просто объявить myString как член класса, получить значение методом getter и передать его в свою функцию:

void Dialog::getString()
{
    return myString;
}
void MainWindow::on_dnldButton_clicked()
{
    //Dialog is showed via "Modal approach".
    Dialog newDnld;
    newDnld.setModal(true);
    newDnld.exec();
    dnldFile(newDnld.getString());
}
Другие вопросы по тегам