日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

QDialog常用理解

發布時間:2025/3/15 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QDialog常用理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
QDialog 類代表對話框。對話框一般用來實現那些只是暫時存在的用戶界面。對話框是獨立的窗口,但通常它也有父窗口,當對話框顯示時,默認的位置在父窗口的中央。從外觀上來看,對話框一般沒有最大化、最小化按鈕。

? ? ? ? 對話框有模態和非模態兩種形式。非模態對話框的的行為和使用方法都類似于普通的窗口。模態對話框則有所不同,當模態對話框顯示時,其他窗口將全部進入非激活狀態,不能接受鍵盤和鼠標事件。

??????? 模態的方式又可以分為兩種,一種是對整個應用程序模態,這時它的出現將導致程序中的所有窗口失去響應;另一種是對窗口模態,這時僅僅會導致它所在的整個窗口樹失去響應。??

??????? 用下面的成員函數可將對話框設為模態:

void setModal(bool modal); // 設置對話框的模態性

?????????當參數 model 為 true 時,對話框設為模態,否則設為非模態。如果設為模態,則默認是對整個應用程序模態的。

???????

?????? ? 要設為對窗口模態,則需要用以下函數:

void setWindowModality(Qt::WindowModality windowModality);

?????????實際上它是從 QWidget 類繼承過來的一個成員函數,其中 Qt::WindowModality 是一個枚舉類型,有以下取值。

? ? ? ? ?1)Qt::NonModal:非模態。

? ? ? ? ?2)Qt::WindowModal:窗口模態。

? ? ? ? ?3)Qt::ApplicationModal:應用程序模態。

???????? 與模態性相關的成員函數還有以下兩個:

Qt::WindowModality windowModality() const; // 得到窗口的模態性 bool isModel() const; // 判斷窗口是否為模態的

???????? 下面這個函數將以模態方式顯示對話框:

int exec(); // 這是一個槽

????

???????? 同時它也是一個槽。這個函數不管對話框的模態性如何,總是顯示模態對話框。調用這個函數的代碼將阻塞直到對話框被關閉,返回值表示對胡框的結果。注意這個函數總是在其他窗口的代碼中調用,一般不在對話框自己的代碼中使用。

???????? 對話框的結果與下面的函數有關:

virtual void done(int r); // 關閉對話框并返回結果 r,這是一個槽。

??????? 這時一個槽,它將使對話框關閉,使對 exec 函數的調用返回。參數 r 是整數值,但最好使用 QDialog::DialogCode 枚舉類型所定義的兩個值。

? ? ? ? 1)QDialog::Accepted:表示確定。

? ? ? ? 2)QDialog::Rejected:表示取消。

??????? 對話框通常有一個確定按鈕和一個取消按鈕,它們能使對話框關閉并返回相應的值。為了與按鈕的 clicked() 信號連接,需要用到以下的槽:

virtual void accept(); // 槽,等價于 done(QDialog::Accepted) virtual void reject(); // 槽,等價于 done(QDialog::Rejected)

? ? ? ? ?下面這個函數將以對窗口模態的方式顯示對話框:

void open(); // 這是一個槽

??????? 它也是一個槽。與 exec 函數不同的是,open 函數將立刻返回而不是等待對話框關閉。它一般用在需要顯示模態對話框但又要繼續進行工作的場合,比如一個進度對話框。這時候,需要在工作處理過程中間歇性地調用 QApplication 對象的 processEvents 成員函數,否則對話框的事件將的不到處理。

總結

以上是生活随笔為你收集整理的QDialog常用理解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。