从QDialog获取值

时间:2013-10-05 20:19:46

标签: c++ qt qt4

我有一个QDialog,它有两个lineEdits和一个按钮。当按下按钮时,我希望关闭QDialog,并且我希望lineEdits中的值可供我使用。现在,我有以下几点:

void createDialog()
{
    QDialog dialog;
    QLineEdit *lineEdit1 = new QLineEdit(&dialog);
    QLineEdit *lineEdit2 = new QLineEdit(&dialog);
    QPushButton *ok = new QPushButton("OK", &dialog);
    QVBoxLayout *vLayout = new QVBoxLayout();
    vLayout->addWidget(lineEdit1);
    vLayout->addWidget(lineEdit2);
    vLayout->addWidget(ok);
    dialog.setLayout(vLayout);
    connect(ok, SIGNAL(clicked()), this, SLOT(processValues()));
    dialog.exec();
}

我想知道如何关闭QDialog并访问processValues()函数中lineEdits的值。 谢谢!

1 个答案:

答案 0 :(得分:1)

您应该从QDialog继承并将所有小部件放在那里。 QLineEdits将成为Dialog的成员,它将具有将返回其值的成员函数。

您可以在此处查看示例http://thisthread.blogspot.com/2010/06/qdialog-subclass.html。 在这里http://www.informit.com/articles/article.aspx?p=1405224

How to pass data from a QDialog?