Это зависит от того, для чего вы хотите этот диалог. Либо это модальное диалоговое окно - своего рода информационный дисплей или повтор, который блокирует функцию вашей программы, пока пользователь не отреагирует, или , это своего рода набор инструментов или аналогичный, в этом случае вам, вероятно, не следует использовать QDialog
.
Если вам нужно модальное диалоговое окно с редактированием строки и / или дополнительными функциями, вам следует прочитать QDialog в документе. Смотрите функцию exec()
. Основное использование будет выглядеть так:
void MainWindow::displaydialog()
{
ItemDialog *dialog = new ItemDialog();
if (dialog->exec() == someApropriateReturnStatus)
{
QString somevalue = dialog->someValue();
int dialog->someOtherValue();
//do something with the value
}
delete dialog;
}
Дело в том, что класс ItemDialog
обрабатывает пользовательский интерфейс внутренне и, соответственно, реализует функции получения, вы не должны (в большинстве типичных случаев) обращаться к его интерфейсу извне.
Если вам достаточно простого редактирования строки, вам лучше воспользоваться одним из стандартных диалогов, уже реализованных в Qt, взгляните на Пример стандартных диалогов