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

2021-07-03 02:51:14 字數 570 閱讀 8628

1、模態對話方塊

(1)要想使乙個對話方塊成為模態對話方塊,只需要條用它的exec()函式。

qdialog dialog(this);

dialog.exec();

(2)show()函式建立模態對話方塊,呼叫函式setmodal(true)函式即可。

qdialog *dialog = new qdialog(this);

dialog->setmodel(true);

dialog->show();

總結:setmodel()與用exec()函式時的效果是不一樣的,呼叫show()函式後會立刻把控制權交給呼叫者,程式可以繼續往下執行;

而呼叫exec()函式,只有當對話方塊關閉時才會有返回值。

2、非模態對話方塊

(1)要想使乙個對話方塊成為非模態對話方塊,使用new動態建立。

qdialog *dialog = new qdialog(this);

dialog->show();

setwindowmodality()函式,有乙個引數設定模態對話方塊要阻塞的視窗型別,可以是qt::nonmodal(不阻塞任何視窗,幾非模態)、

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

模態對話方塊和非模態對話方塊的區別 在這裡我就說的比較通俗易懂了,就是當你開啟乙個模態對話方塊時,你的焦點不能轉移到程式的其他視窗上,也就是你只能先響應模態對話方塊,才能進行成下面的操作。而非模態對話方塊則相反,你可以不用管它,照常能夠將其他視窗啟用。建立模態對話方塊,主要是應用對話方塊的domod...

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

模態對話方塊 關閉才能返回,非模態 不關閉就能返回 在資源裡新建立二個對話方塊 為新的對話方塊建立乙個類 在最原始的對話方塊函式的標頭檔案將上述兩個新新增的標頭檔案加進去,對模態按鈕進行程式設計 void cdemo11dlg onbnclickedbutton1 對非模態按鈕進行程式設計 void...

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

模態對話方塊 modal dialogue box 是指在使用者想要對對話方塊以外的應用程式進行操作時,必須首先對該對話方塊進行響應。如單擊 確定 或者 取消 按鈕等將該對話方塊關閉,它和非模態對話方塊都是永遠置頂的,它們的區別在於當對話方塊開啟時,是否允許使用者進行其他物件的操作。開啟模態對話方塊...