c++ - 将字符串从对话框传递到 MainWindow?

标签 c++ qt data-transfer qdialog

我正在尝试制作一个包含 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());
}

关于c++ - 将字符串从对话框传递到 MainWindow?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23089820/

相关文章:

c++ - 无法将宏定义传递给基类

c++ - lambda比较是确定性的吗?

c++ - qt private slot moc undefined reference错误

java - 将数据从 MS-Access 传输到 MySql 数据库的最佳方法

页面上传输的 JavaScript 数据量

javascript - Chrome 将 dataTransfer.types 作为对象处理

c++ - 如何编写从函数参数推断的 C++ 模板?

c++ - 我什么时候可以使用前向声明?

c++ - 不在 main() 线程中创建 QCoreApplication 对象是否合法?

qt - 传递QModelIndex跨线程排队连接