将字符串从对话框传递到主窗口

pass string from dialog to MainWindow?

本文关键字:窗口 字符串 对话框      更新时间:2023-10-16

我正在尝试制作一个具有MainWindow.cpp和dialog1.cpp的程序,我需要将对话框的QLineEdit中的一个字符串传递给MainWindow.cpp.现在我刚刚制作了一个qt对话框窗体类,并使用模态方法来查看对话框
对话框从myString中的lineedit获取输入
对话框.cpp

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

现在我必须将myString中的数据作为参数传输到MainWindow.cpp中的dnldFile函数。

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

我该怎么做?

谢谢!

您可以简单地将myString声明为类成员,并通过getter方法获取值,然后将其传递给您的函数:

QString 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());
}