Qt學習之路(18): Qt標準對話框之QInputDialog

這是Qt標準對話框的最後一部分。正如同其名字顯示的一樣,QInputDialog用於接收用戶的輸入。QInputDialog提供了一些簡單的static函數,用於快速的建立一個對話框,正像QColorDialog提供了getColor函數一樣。
 
首先來看看getText函數:
 
bool isOK;
QString text = QInputDialog::getText(NULL, "Input Dialog",
                                                   "Please input your comment",
                                                   QLineEdit::Normal,
                                                   "your comment",
                                                   &isOK);
if(isOK) {
       QMessageBox::information(NULL, "Information",
                                           "Your comment is: <b>" + text + "</b>",
                                           QMessageBox::Yes | QMessageBox::No,
                                           QMessageBox::Yes);
}
 
代碼比較簡單,使用getText函數就可以彈出一個可供用戶輸入的對話框:
 
 
下面來看一下這個函數的簽名:
 
static QString QInputDialog::getText ( QWidget * parent,
                                                      const QString & title,
                                                      const QString & label,
                                                      QLineEdit::EchoMode mode = QLineEdit::Normal,
                                                      const QString & text = QString(),
                                                      bool * ok = 0,
                                                      Qt::WindowFlags flags = 0 )
 
第一個參數parent,也就是那個熟悉的父組件的指針;第二個參數title就是對話框的標題;第三個參數label是在輸入框上面的提示語句;第四個參數mode用於指明這個QLineEdit的輸入模式,取值範圍是QLineEdit::EchoMode,默認是Normal,也就是正常顯示,你也可以聲明爲password,這樣就是密碼的輸入顯示了,具體請查閱API;第五個參數text是QLineEdit的默認字符串;第六個參數ok是可選的,如果非NLL,則當用戶按下對話框的OK按鈕時,這個bool變量會被置爲true,可以由這個去判斷用戶是按下的OK還是Cancel,從而獲知這個text是不是有意義;第七個參數flags用於指定對話框的樣式。
 
雖然參數很多,但是每個參數的含義都比較明顯,大家只要參照API就可以知道了。
 
函數的返回值是QString,也就是用戶在QLineEdit裏面輸入的內容。至於這個內容有沒有意義,那就要看那個ok參數是不是true了。
 
QInputDialog不僅提供了獲取字符串的函數,還有getInteger,getDouble,getItem三個類似的函數,這裏就不一一介紹。

本文出自 “豆子空間” 博客,請務必保留此出處http://devbean.blog.51cto.com/448512/219338

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章