原文地址:http://devbean.blog.51cto.com/448512/219338
一 概述
1.作用:
QInputDialog用于接收用户的输入。
2.函数
QInputDialog提供了一些简单的static函数,用于快速的建立一个对话框.
二 代码
1.main.cpp
只有main.cpp有代码,MainWindow.cpp没有被使用
#include "mainwindow.h"
#include<QLineEdit>
#include<QMessageBox>
#include<QInputDialog>
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
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);
}
return a.exec();
}
运行结果
点击OK按钮之后,提示用户用户输入的文本
三. 知识点解释
1.
QInputDialog::getText的函数签名如下
QString QInputDialog::getText(
QWidget *parent,
const QString &title,
const QString &label,
QLineEdit::EchoModemode = QLineEdit::Normal,
const QString &text = QString(),
Qt::WindowFlags flags = Qt::WindowFlags(), Qt::InputMethodHints inputMethodHints = Qt::ImhNone)
第一个参数parent:父窗口的指针 ,可以为NULL,this
第二个参数title:输入对话框的标题
第三个参数label:在输入框上面的提示语句
第四个参数mode用于指明这个QLineEdit的输入模式,取值范围是QLineEdit::EchoMode,默认是Normal,也就是正常显示,你也可以声明为password,这样就是密码的输入显示了
第五个参数text: QLineEdit的默认字符串
第六个参数ok是可选的,如果非NULL,则当用户按下对话框的OK按钮时,这个bool变量会被置为true,可以由这个去判断用户是按下的OK还是Cancel,从而获知这个text是不是有意义;
第七个参数flags:用于指定对话框的样式
示例代码
QString text = QInputDialog::getText(NULL, "Input Dialog",
"Please input your comment",
QLineEdit::Normal,
"your comment",
&isOK);
2.函数的返回值是QString,也就是用户在QLineEdit里面输入的内容。至于内容有没有意义,那就要看那个ok参数是不是true了。
3.其他函数
getText;getInteger;getDouble;getItem
具体内容查看API文档