У меня есть 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 и получить доступ к значениям lineEdits в функции processValues (). Спасибо!
Вы должны подклассом из QDialog и разместить все виджеты. QLineEdits будут членами Dialog и будут иметь функции-члены, которые возвратят значения этих.
Вы можете увидеть пример здесь http://thisthread.blogspot.com/2010/06/qdialog-subclass.html. И здесь http://www.informit.com/articles/article.aspx?p=1405224