天天看點

Qt控件---->對話框QDialog

QT中使用QDialog實作對話框。

  1. 建立對話框,如果其parent為NULL,則對話框作為頂層視窗,否則則作為父元件的子對話框(預設出現在parent的中心)
  2. 對話框分為模态和非模态(能不能操作除了對話框以外的位置)

标準對話框

所謂标準對話框,是Qt 内置的一系列對話框,用于簡化開發。

事實上,有很多對話框都是通用的,比如打開檔案、設定顔色、列印設定等。

這些對話框在所有程式中幾乎相同,是以沒有必要在每一個程式中都自己實作這麼一個對話框。

Qt 的内置對話框大緻分為以下幾類:

QColorDialog 選擇顔色;
QFileDialog 選擇檔案或者目錄;
QFontDialog 選擇字型;
QInputDialog 允許使用者輸入一個值,并将其值傳回;
QMessageBox 模态對話框,用于顯示資訊、詢問問題等;
QPageSetupDialog 為列印機提供紙張相關的選項;
QPrintDialog 列印機配置;
QPrintPreviewDialog 列印預覽;
QProgressDialog 顯示操作過程。

模态對話框

//定義一個對話框
QDialog dialog;
dialog.setwindowTitle(tr("Hello,dialog! "));//設定對話框标題
dialog.exec() ;//阻塞對話框
           

非模态對話框

QDialog *dialog = nlew QDialog;
dialog->setAttribute(Qt:: wA_DeleteOnclose);//關閉視窗自動釋放
dialog-> setwindowTitle(tr( "Hello, dialog ! "));
dialog->show ) ;
           

消息對話框

//消息對話框
QMessageBox::about(this ,"标題", "内容");
//詢問對話框
int ret = QMessageBox::question(this,"标題","你需要嗎",QMessageBox::Open|QMessageBox:  Save);
if(ret == QMessageBox: :Open)
{
	qDebug()<<"open" ;
}
else
	qDebug()<<"save" ;

           

繼續閱讀