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

C++ 将字符串从对话框传递到主窗口?,c++,qt,data-transfer,qdialog,C++,Qt,Data Transfer,Qdialog,我正在尝试制作一个包含MainWindow.cpp和dialog1.cpp的程序,我需要将一个字符串从对话框的QLineEdit传递到MainWindow.cpp中的一个函数。到目前为止,我刚刚制作了一个qt dialog form类,并使用模态方法查看对话框。 该对话框从myString中的lineedit获取输入。 Dialog.cpp void Dialog::on_buttonBox_clicked(QUrl fileUrl) { QString myString = u

我正在尝试制作一个包含MainWindow.cpp和dialog1.cpp的程序,我需要将一个字符串从对话框的QLineEdit传递到MainWindow.cpp中的一个函数。到目前为止,我刚刚制作了一个qt dialog form类,并使用模态方法查看对话框。
该对话框从myString中的lineedit获取输入。
Dialog.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());
}

您可以在任何C++代码中执行它,就像代码中的任何代码一样,<代码> qStult是一个行为良好的类,您可以通过值从<代码> Link EED>文本(<)>代码>传递给目标函数。