我有多个QDialog
窗口。所有窗口都是使用exampleWindow->exec()
创建的。这导致当时仅打开一个窗口。
我必须将这些窗口转换为non-modal dialog window
这里是我的项目的示例代码示例。当exec()使用时,系统将进入循环并等待用户在窗口上执行某些操作。
int result = exampleWindow->exec();
if ( exampleWindow== QDialogButtonBox::Ok )
{
exampleWindow->UpdateCalibrationData(&data);
exampleWindow->UpdateFilterData(&filterData);
SetCalibrationStatusToSuccess();
}
但我想将此转换为这样:
exampleWindow->show();
// and I need to some loop here for the wait answer of dialog
最佳答案
您可以使用以下方式创建非模式对话框
exampleWindow->show();
用户关闭对话框后,可以获取对话框发出的信号:
QObject::connect(&exampleWindow, SIGNAL(accepted()), this, SLOT(doSomething());
并在该插槽功能中接收对话框数据。