9 對話方塊 md

2022-05-04 05:27:07 字數 1393 閱讀 1739

目錄標準對話方塊 qmessagebox

​ qt 中使用 qdialog 類實現對話方塊。就像主視窗一樣,我們通常會設計乙個類繼承 qdialog。

​ qdialog(及其子類,以及所有 qt::dialog 型別的類)的對於其 parent 指標都有額外的解釋:如果 parent 為 null,則該對話方塊會作為乙個頂層視窗,否則則作為其父元件的子對話方塊(此時,其預設出現的位置是 parent 的中心)。頂層視窗在工作列會有自己的位置,而非頂層視窗則會共享其父元件的位置。

模態對話方塊:

#include "mainwindow.h"

#include #include #include mainwindow::mainwindow(qwidget *parent)

: qmainwindow(parent)

mainwindow::~mainwindow()

void mainwindow::open()

模態:dialog.show()

void mainwindow::open()

​ setattribute()函式設定對話方塊關閉時,自動銷毀對話方塊。另外,qobject 還有乙個deletelater()函式,該函式會在當前事件迴圈結束時銷毀該對話方塊

​ 模態對話方塊使用了 exec()函式將其顯示出來。exec()函式的真正含義是開啟乙個新的事件迴圈。事件迴圈,可以理解成乙個無限迴圈。qt 在開啟了事件迴圈之後,系統發出的各種事件才能夠被程式監聽到。這個事件迴圈相當於一種輪詢的作用。

​ 對於使用了 exec()顯示的模態對話方塊,我們可以在 exec()函式之後直接從對話方塊的物件獲取到資料值。

void mainwindow::open()

​ 如果我們設定 dialog 的屬性為 wa_deleteonclose,那麼當對話方塊

關閉時,物件被銷毀,我們就不能使用這種辦法獲取資料了。在這種情況下,我們可以考慮使用 parent 指標的方式構建對話方塊,避免設定 wa_deleteonclose 屬性;或者是利用另外的方式。

​ qdialog::show()函式會立即返回,如果我們也這麼寫,就不可能取得使用者輸入的資料。使用訊號槽機制獲取資訊。

​ 非模態對話方塊在關閉時可以呼叫 qdialog::accept()或者 qdialog::reject()或者更通用的 qdialog::done()函式,所以我們可以在這裡發出訊號。如果找不到合適的訊號發出點,我們可以重寫 qdialog::closeevent()函式,在這裡發出訊號。

qt內建的對話方塊:

void mainwindow::about()  else 

}

22對話方塊建立

import wx 建立對話方塊 class mydialog wx.dialog 初始化 def init self 初始化父類 wx.dialog.init self,none,1,彈出的對話方塊 size 300 500 self.ok wx.button self,wx.id ok,clic...

Qt4對話方塊之輸入對話方塊

下面這個例子說明乙個簡單的對話方塊的使用。跟之前跟講的c 類例項相應,也是有三個檔案 乙個是標頭檔案,乙個是原始檔,乙個是main檔案。好了,不用多講,如下 inputdialog.h ifndef inputdlg h define inputdlg h include class inputdl...

MFC學習 3 對話方塊

因為我看的是別人的文件寫的,所以不好意思直接複製貼上人家的到我的部落格上,我也就是標記下哪些地方有那些東西方便自己以後檢視而言,如果想自己操作推薦看一下雞啄公尺的文件,裡面真的說的很詳細,基本上都可以做出來 屬性頁對話方塊及相關類的介紹 屬性頁對話方塊 屬性頁對話方塊就是包含一般屬性頁對話方塊和嚮導...