QDialog模态对话框与非模态对话框 范例

//模态1

    MyWidget*w = new MyWidget; //派生于QWidget
    w->setWindowFlags(Qt::FramelessWindowHint | Qt::Tool | Qt::WindowStaysOnTopHint);
    w->setAttribute(Qt::WA_ShowModal, true);
    w->setAttribute(Qt::WA_DeleteOnClose, true);
    w->show();


//模态2

MyDialog _dialog; //派生于QDialog
int ret = _dialog.exec();   
if (ret == QDialog::Accepted)
{
	
}

//模态附加

void on__btnSave_clicked()
{
    this->accept();
    this->close();
}

if (res == QDialog::Accepted)


//非模态

    MyDialog* _pMyDialog = new MyDialog ;
    _pMyDialog->setAttribute(Qt::WA_DeleteOnClose);
    _pMyDialog->setModal(false);
    _pMyDialog->show();








你可能感兴趣的:(QDialog模态对话框与非模态对话框 范例)