Qt模態對話方塊與非模態對話方塊的問題

2021-06-14 01:46:04 字數 515 閱讀 9891

◆ 如果要設定為模態對話方塊,最簡單的就是使用exec()方法,示例**如下:

mydialog mydlg; 

mydlg.exec();

也可以使用show()方法,示例**如下:

mydialog mydlg; 

mydlg.setmodal(true); 

//此句**設定模態,預設是false

mydlg.show();

◆  如果要設定為非模態對話方塊,必須使用show()方法,且必須使用指標方式,否則非模態對話方塊會一閃而過,示例**如下:

mydialog *mydlg = new mydialog(); 

mydlg->setmodal(false);//此句**設定非模態,預設是false

mydlg->show();

//如果採用物件方式,qt對話方塊會一閃而過

mydialog mydlg; 

mydlg.setmodal(false);  mydlg.show();    //會一閃而過

模態對話方塊與非模態對話方塊

1.對話方塊分類 按工作方式不同,可將對話方塊分成兩類 模態對話方塊 modal 在關閉模態對話方塊之前,程式不能進行其他工作 如一般的 開啟檔案 對話方塊 非模態對話方塊 modeless 非模態對話方塊開啟後,程式仍然能夠進行其他工作 如一般的 查詢與替換 對話方塊 2.對話方塊建立 模態對話方...

模態對話方塊與非模態對話方塊

建立對話方塊 case id dialog text dialogbox hinst,makeintresource idd textbox hwnd,textset break 建立模態對話方塊 case id dialog tcolor dhwnd createdialog hinst,make...

Qt模態對話方塊和非模態對話方塊

1 模態對話方塊 1 要想使乙個對話方塊成為模態對話方塊,只需要條用它的exec 函式。qdialog dialog this dialog.exec 2 show 函式建立模態對話方塊,呼叫函式setmodal true 函式即可。qdialog dialog new qdialog this d...