文档章节

Qt学习之路(18): Qt标准对话框之QInputDialog

小代码2016
 小代码2016
发布于 2015/05/27 15:32
字数 547
阅读 17
收藏 0
这是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

本文转载自:http://devbean.blog.51cto.com/448512/219338

小代码2016
粉丝 45
博文 328
码字总数 153495
作品 0
安阳
程序员
私信 提问
PyQt5系列教程(8):标准输入对话框

上期我们介绍了PyQt5软件界面的搭建,主要涉及到了以下几个知识点: 状态栏 菜单 工具栏 今天我们主要讲解一下标准输入对话框的知识。 对话框窗口或对话框是大多数现代GUI应用程序中不可或缺...

我想飞
2017/09/06
0
0
收藏的博客 -- Qt/C++学习

Qt下载官网 http://download.qt.io/ Qt知名社区 http://www.qtcn.org/bbs/i.php http://www.qter.org/ Qt知名博客 https://www.devbean.net/ --- Qt学习之路,Qt Creator源码学习 http://blo......

libaineu2004
2017/08/18
0
0
关于Qt5里的两个问题

第一个问题是 Qt学习之路47 里的booleanmodel.cpp文件 基类是QAbstractItemModel 有人说Qt5没有reset()函数,不知道有什么代替的。 第二个问题是 Qt学习之路48 里代码全部模仿的一样 错误: ...

李新浩
2014/03/06
245
0
【Qt笔记】对象模型

标准 C++ 对象模型在运行时效率方面卓有成效,但是在某些特定问题域下的静态特性就显得捉襟见肘。GUI 界面需要同时具有运行时的效率以及更高级别的灵活性。为了解决这一问题,Qt “扩展”了标...

大道无名
2016/07/29
57
0
Qt creator写Qt入门程序(超详细)

废话一下。第一、Qt是跨平台的,在windows下和Linux基本上是没什么区别的,只要用的是Qt带的库就可以。 第二、Qt c++编程和学校学的c++还有有一点区别的,学校学的c++是基础知识,Qt c++编程...

startstorm
2015/09/05
416
0

没有更多内容

加载失败,请刷新页面

加载更多

医疗在线客服咨询系统有哪些特点?

随着中国互联网网站的的快速发展,至今医疗行业已经拥有了独立的的运营网站,其中最具特色的便属于医疗在线客服咨询系统,医疗在线客服咨询系统为每个访问网站的患者提供即时的网络在线客服服...

唯喏
32分钟前
8
0
skywalking(容器部署)

skywalking(容器部署) 标签(空格分隔): APM [toc] 1. Elasticsearch SkywalkingElasticsearch 5.X(部分功能报错、拓扑图不显示) Skywalking需要Elasticsearch 6.X docker network create......

JUKE
38分钟前
7
0
解决Unable to find a single main class from the following candidates [xxx,xxx]

一、问题描述 1.1 开发环境配置 pom.xml <plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><!--一定要对上springboot版本号,因......

TeddyIH
39分钟前
7
0
玩转Spring Boot 注册Servlet、Filter、Listener

玩转Spring Boot 注册Servlet、Filter、Listener JAVA架构师Ya七月 2019-08-23 玩转Spring Boot 注册Servlet、Filter、Listener 在Servlet 3.0之前我们都是使用web.xml进行配置,需要增加Ser...

Java架构师ya七
42分钟前
4
0
Dubbo服务限制大数据传输抛Data length too large: 13055248, max payload: 8388608解决方案

当dubbo服务提供者向消费层传输大数据容量数据时,会受到Dubbo的限制,报类似如下异常: 2019-08-23 11:04:31.711 [ DubboServerHandler-XX.XX.XX.XXX:20880-thread-87] - [ ERROR ] [com.al...

huangkejie
42分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部