在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C/ Qt 學習之路(18): Qt 標準對話框之 QInputDialog
Qt 容器和算法拾遺
自定義 model 之一
反走樣
Hello, world!
Qt 容器類之關聯(lián)存儲容器
QStringListModel
拖放技術之一
狀態(tài)欄
QTreeWidget
拖放技術之二
通用算法
event()
Qt 學習之路(18): Qt 標準對話框之 QInputDialog
Qt 容器類之遍歷器和隱式數(shù)據共享
QListWidget
Meta-Object 系統(tǒng)
事件接收與忽略
Qt 學習之路(tip): parent 參數(shù)
Qt 標準對話框之 QColorDialog
QPainter(續(xù))
國際化(下)
漸變填充
自定義委托
創(chuàng)建 shared library
model-view 架構
Graphics View Framework
自定義拖放數(shù)據對象
QSortFilterProxyModel
國際化(上)
組件布局
自定義 Model 之三
事件過濾器
QDirModel
Hello, world!(續(xù))
Qt 標準對話框之 QFileDialog
自定義 model 之二
深入了解信號槽
坐標變換
剪貼板操作
QTableWidget
QByteArray 和 QVariant
創(chuàng)建一個對話框(下)
Qt 學習之路(32): 一個簡易畫板的實現(xiàn)(Graphics View)
文本文件讀寫
自定義事件
編寫跨平臺的程序
MainWindow
初探信號槽
Qt 學習之路(17): Qt 標準對話框之 QMessageBox
繪圖設備
菜單和工具條(續(xù))
二進制文件讀寫
QString
事件(event)
菜單和工具條
QPainter
Qt 容器類之順序存儲容器
進程間交互
API 文檔的使用
創(chuàng)建一個對話框(上)
一個簡易畫板的實現(xiàn)(QWidget)

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

這是 Qt 標準對話框的最后一部分。正如同其名字顯示的一樣,QInputDialog 用于接收用戶的輸入。QInputDialog 提供了一些簡單的 static 函數(shù),用于快速的建立一個對話框,正像 QColorDialog提供了 getColor 函數(shù)一樣。

首先來看看 getText 函數(shù):

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 函數(shù)就可以彈出一個可供用戶輸入的對話框:

http://wiki.jikexueyuan.com/project/learn-road-qt/images/33.png" alt="" />

下面來看一下這個函數(shù)的簽名:

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 )

第一個參數(shù) parent,也就是那個熟悉的父組件的指針;第二個參數(shù) title 就是對話框的標題;第三個參數(shù) label 是在輸入框上面的提示語句;第四個參數(shù) mode 用于指明這個 QLineEdit 的輸入模式,取值范圍是 QLineEdit::EchoMode,默認是 Normal,也就是正常顯示,你也可以聲明為 password,這樣就是密碼的輸入顯示了,具體請查閱 API;第五個參數(shù) text 是 QLineEdit 的默認字符串;第六個參數(shù) ok 是可選的,如果非 NLL,則當用戶按下對話框的 OK 按鈕時,這個 bool 變量會被置為 true,可以由這個去判斷用戶是按下的 OK 還是 Cancel,從而獲知這個 text 是不是有意義;第七個參數(shù) flags 用于指定對話框的樣式。

雖然參數(shù)很多,但是每個參數(shù)的含義都比較明顯,大家只要參照 API 就可以知道了。

函數(shù)的返回值是 QString,也就是用戶在 QLineEdit 里面輸入的內容。至于這個內容有沒有意義,那就要看那個 ok 參數(shù)是不是 true 了。

QInputDialog 不僅提供了獲取字符串的函數(shù),還有 getInteger,getDouble,getItem 三個類似的函數(shù),這里就不一一介紹。

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