程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> Qt學習之路(18):Qt標准對話框之QInputDialog

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

編輯:關於C++

這是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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved