QDialog類exec 與show 的區別

2022-08-30 09:33:11 字數 400 閱讀 6759

繼承至qwidget的類都能使用show()將自身顯示出來,qdialog也不例外。然而qdialog除了能使用繼承至qwidget的show()方法顯示自身之外,它還有另乙個方法exec()同樣也能將自身顯示出來。那麼這兩個方法之間有什麼區別呢?請看下面的**對比:

原型返回值

說明void qwidget::show()

無shows the widget and its child widgets.

int qdialog::exec()

有從**對比中可以看出這兩者的區別。首先這兩個方法返回值不同。exec()有返回值,show()沒有返回值。其次這兩個方法的作用也不同。呼叫show()的作用僅僅是將widget及其上的內容都顯示出來。而呼叫exec()後,呼叫執行緒將會被阻塞,直到dialog關閉。

QDialog之模態與非模態

qtdialog在建立時預設為非模態 modal屬性為false 可以通過setmodal 函式設定對話方塊為模態還是非模態。視窗是否是模態和非模態和視窗 包括qdialog和qwidget等 的exec 和show 等函式無直接關係,只和視窗的阻塞方式有關。setwindowmodality 函式...

sh與bash的區別

在shell指令碼的開頭往往有一句話來定義使用哪種sh直譯器來解釋指令碼。目前研發送測的shell指令碼中主要有以下兩種方式 1 bin sh 2 bin bash 在這裡求教同福客棧的各位大俠們乙個問題 以上兩種方式有什麼區別?對於指令碼的實際執行會產生什麼不同的影響嗎?指令碼test.sh內容 ...

sh與bash的區別

在shell指令碼的開頭往往有一句話來定義使用哪種sh直譯器來解釋指令碼。目前研發送測的shell指令碼中主要有以下兩種方式 1 bin sh 2 bin bash 在這裡求教同福客棧的各位大俠們乙個問題 以上兩種方式有什麼區別?對於指令碼的實際執行會產生什麼不同的影響嗎?指令碼test.sh內容 ...