Qt应用开发(基础篇)——输入对话框 QInputDialog

news2024/12/28 3:52:03

一、前言

        QInputDialog类继承于QDialog,是一个简单方便的对话框,用于从用户获取单个值。

        对话框窗口 QDialog

         QInputDialog输入对话框带有一个文本标签、一个输入框和标准按钮。输入内容可以字符、数字和选项,文本标签用来告诉用户应该要输入什么。

        和其他的QDialog拓展类一样QInputDialog同样拥有多种静态函数创建的方式:getText()getMultiLineText()getInt()getDouble(),这些静态方法的使用方式都差不多。

bool ok;
QString text = QInputDialog::getText(this, tr("QInputDialog::getText()"),
                                          tr("User name:"), QLineEdit::Normal,
                                          QDir::home().dirName(), &ok);
if (ok && !text.isEmpty())
   textLabel->setText(text);

二、QInputDialog类

1、inputMode

        该属性表示对话框要输入的类型,分别有:

  • TextInput:文本输入
  • IntInput:整形输入
  • DoubleInput:浮点型输入
QInputDialog::InputMode inputMode() const
void setInputMode(QInputDialog::InputMode mode)

2、cancelButtonText

        该属性表示退出按钮的文本。

QString cancelButtonText() const
void setCancelButtonText(const QString &text)

3、okButtonText

        该属性表示确认按钮显示的文本内容。

QString okButtonText() const
void setOkButtonText(const QString &text)

4、comboBoxEditable

        该属性表示下拉框是否可编辑。

bool isComboBoxEditable() const
void setComboBoxEditable(bool editable)

5、comboBoxItems

        该属性表示下拉框选项。

QStringList comboBoxItems() const
void setComboBoxItems(const QStringList &items)

6、doubleDecimals

        该属性表示浮点数的精度,就是几位小数,inputMode需设置为DoubleInput

int doubleDecimals() const
void setDoubleDecimals(int decimals)

7、doubleMinimum

        该属性表示浮点型输入的最小值,inputMode需设置为DoubleInput

double doubleMinimum() const
void setDoubleMinimum(double min)

8、doubleMaximum

        该属性表示浮点型输入的最大值,inputMode需设置为DoubleInput

double doubleMaximum() const
void setDoubleMaximum(double max)

9、doubleStep

        该属性表示浮点型输入的步长,inputMode需设置为DoubleInput

double doubleStep() const
void setDoubleStep(double step)

10、doubleValue

        该属性表示浮点型输入的当前值,inputMode需设置为DoubleInput

double doubleValue() const
void setDoubleValue(double value)

11、intMaximum

        该属性表示整形输入的最大值,inputMode需设置为IntInput 。

int intMaximum() const
void setIntMaximum(int max)

12、intMinimum

        该属性表示整形输入的最小值,inputMode需设置为IntInput 。

int intMinimum() const
void setIntMinimum(int min)

13、intStep

        该属性表示整形输入的步长,inputMode需设置为IntInput 。

int intStep() const
void setIntStep(int step)

14、intStep

        该属性表示整形输入的当前值,inputMode需设置为IntInput 。

int intValue() const
void setIntValue(int value)

15、labelText

        该属性表示当前文本内容。

QString labelText() const
void setLabelText(const QString &text)

16、options

        该属性表示对话框的显示策略选项。

QInputDialog::InputDialogOptions options() const
void setOptions(QInputDialog::InputDialogOptions options)

void setOption(QInputDialog::InputDialogOption option, bool on = true)
bool testOption(QInputDialog::InputDialogOption option) const
QInputDialog::InputDialogOption描述
NoButtons不显示确认和取消按钮
UseListViewForComboBoxItems使用QListView而不是不可编辑的QComboBox来显示用setComboBoxItems()设置的项
UsePlainTextEditForTextInput使用QPlainTextEdit进行多行文本输入

17、textEchoMode

        该属性表示文本回显模式,默认为Normal

QLineEdit::EchoMode textEchoMode() const
void setTextEchoMode(QLineEdit::EchoMode mode)
QLineEdit::EchoMode描述
Normal显示输入的字符
NoEcho不要显示任何东西。这可能适用于连密码长度都要保密的密码。
Password显示平台相关的密码掩码字符,而不是实际输入的字符。
PasswordEchoOnEdit在编辑时显示输入的字符,然后显示与Password相同的字符。

18、textValue

        该属性表示当前框显示的文本,inputMode需设置为 TextInput

QString textValue() const
void setTextValue(const QString &text)

19、公共函数

1)open

       将一个信号连接到由接收器和成员指定的插槽。特定的信号取决于成员中指定的参数。

  • 如果成员的第一个参数是QString,使用textValueSelected()
  • 如果member的第一个参数是int,使用intValueSelected()
  • 如果成员的第一个参数是双精度类型,使用doubleValueSelected()
  • 如果成员没有参数,则使用accept()。

        信号槽的连接在对话框关闭的时候会自动断开。

void open(QObject *receiver, const char *member)

20、信号

1)doubleValueChanged

        inputModeDoubleInput的时候,改变对话框内容都会触发此信号。

void doubleValueChanged(double value)

 2)doubleValueSelected

        inputModeDoubleInput的时候,用户通过接受对话框选择文本触发该信号。

void doubleValueSelected(double value)

 3)intValueChanged

        inputModeIntInput的时候,改变对话框内容都会触发此信号。

void intValueChanged(int value)

  4)intValueChanged

        inputModeIntInput的时候,用户通过接受对话框选择文本触发该信号。

 void intValueSelected(int value)

5)textValueChanged

        inputModeTextInput的时候,改变对话框内容都会触发此信号。

void textValueChanged(const QString &text)

 6)textValueChanged

        inputModeTextInput的时候,用户通过接受对话框选择文本触发该信号。

void textValueSelected(const QString &text)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/964035.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文看遍半监督学习模型(Semi-Supervised Learning)

一、半监督学习的总体框架 二、一致性正则化模型 该算法旨在:一个模型对于同一个未标记图像,在图像添加额外噪声前后的预测值应该保持一致。 添加噪声的方法,如图像增强(空间维度增强、像素维度增强)。 同样&#x…

线性DP问题

目录 数字三角形DP 动态规划 [自上向下二维数组]DP 动态规划 [自上向下一维数组]DP 动态规划 [自下而上二维数组]DP 动态规划 [自下而上一维数组]记忆化搜索 DFS 最长上升子序列一维状态数组实现扩展:最长序列输出 最长上升子序列 II贪心二分优化算法思路代码实现扩…

2023蓝帽杯初赛

比赛总结就是首先审题要仔细,确定题目意思再去找才不会找错。 内存取证vol工具的使用不够熟练 然后容易走进死胡同,如果一个软件不能得到答案可以换一个看看,说不定就有答案了。 还有服务器取证很生疏,还是要多花时间做点题 取…

黑客之批处理编写

文章目录 一、批处理作用二、如何创建批处理三、批处理语法 一、批处理作用 自上而下成批的处理每一条命令,直到执行最后一条。这里的命令指的是DOS命令,在之前的【黑客常用DOS命令】博客中,我介绍了大量的常用DOS命令。不过我们之前输入命令…

Lesson3-5:OpenCV图像处理---模版匹配和霍夫变换

学习目标 掌握模板匹配的原理,能完成模板匹配的应用理解霍夫线变换的原理,了解霍夫圆检测知道使用OpenCV如何进行线和圆的检测 1 模板匹配 1.1 原理 所谓的模板匹配,就是在给定的图片中查找和模板最相似的区域,该算法的输入包括…

C++之map,set,multimap,multiset的使用

map,set,multimap,multiset的使用 关联式容器键值对树形结构的关联式容器setset介绍set的使用set定义方式set各种操作函数 multiset mapmap的介绍map的使用insert函数find函数erase函数[ ]运算符重载map的迭代器遍历 multimap 关联式容器 在…

ARM编程模型-状态模式

ARM的两种工作状态 大部分的ARM处理器都实现了两种指令集,32位ARM指令集和16位Thumb指令集,看生成的机器码是32位的还是16位的 ARM v6引入了新的指令集Thumb-2,能够提供32位和16位的混合指令,在增强了灵活性的同时保持了代码的高密度。 ARM的…

Linux基础学习2

Linux基础学习2 popen函数 popen函数 https://blog.csdn.net/yzy1103203312/article/details/78483566 https://blog.csdn.net/xy1413_/article/details/127135608 典型用法: FILE * fp popen("ifconfig eth0", "r"); if (!fp) { fprintf…

再谈IOS开发环境配置(2023-09-01 新)

关于IOS的开发,需要配置证书、密钥、管理标识符、功能配置等等,很是繁杂,以前也配置过,这次因为重新购买了新的M1笔记本,准备重新配置下,顺便记录,以便查询。 如果要开发IOS,首先需要…

2023高教社杯数学建模思路 - 案例:ID3-决策树分类算法

文章目录 0 赛题思路1 算法介绍2 FP树表示法3 构建FP树4 实现代码 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 算法介绍 FP-Tree算法全称是FrequentPattern Tree算法,就是频繁模…

JVM学习(一)--程序计数器

作用:记住下一个jvm指令的执行地址 每一行java源代码,会被编译为多行jvm指令,上文所说的执行地址就是这里的0,3,4等 ,由于执行访问特别频繁,程序计数器的底层是有寄存器来实现的 特点: 线程私有&#xff…

爬虫进阶-反爬破解5(selenium的优势和点击操作+chrome的远程调试能力+通过Chrome隔离实现一台电脑登陆多个账号)

目录 一、selenium的优势和点击操作 二、chrome的远程调试能力 三、通过Chrome隔离实现一台电脑登陆多个账号 一、selenium的优势和点击操作 1.环境搭建 工具:Chrome浏览器chromedriverselenium win用户:chromedriver.exe放在python.exe旁边 MacO…

这段代码这么写有什么问题

这段代码这么写有什么问题? List<String> baseRelList1 new ArrayList<>();epmPersonList.forEach(Obj ->{interviewBacklogMessageList.forEach(t ->{if (!Obj.equals(t.getPsnNum())){baseRelList1.add(Obj);}});});这段代码存在一个问题&#xff0c;即…

transformer源码

1.传统RNN网络 每一层都需要上一层执行完才能执行 1.1 自注意力 在一句话中找到it_指代的是什么&#xff0c;它的上下文语境是什么&#xff1f; self-attetion计算 1.2 multi-header机制 1.3 堆叠多层self-attention&#xff0c;相当于再一次卷积 1.4 位置信息编码 1.5 残…

unity 场景烘焙问题之模型UV有重叠

问题现象&#xff1a;模型烘焙出来后&#xff0c;呈现黑色或布满脏斑&#xff0c;有可能是没有展UV&#xff0c;也有可能是UV重叠了 并且也会出现警告提示&#xff0c;如下图&#xff1a; 如果我们勾选了如下图,还在提示我们勾选&#xff0c;那可能就是 UV重叠了 解决方案 UV…

C++:输出系统时间(及报错处理)

#include <iostream> #include <ctime>using namespace std;int main() {// 基于当前系统的当前日期/时间time_t now time(0);cout << "1970 到目前经过秒数:" << now << endl;tm* ltm localtime(&now);// 输出 tm 结构的各个组…

【微服务】一张图搞懂微服务架构设计

一张图搞懂微服务架构设计 1.前言2.流量入口 Nginx3.网关4.业务组件5.服务注册中心6.缓存和分布式锁7.数据持久层8.结构型数据存储9.消息中间件10.日志收集11.任务调度中心12.分布式对象存储 1.前言 当前&#xff0c;微服务架构在很多公司都已经落地实施了&#xff0c;下面用一…

气象科普丨气象站的分类与应用

气象站是一种用于收集、分析和处理气象数据的设备。根据不同的应用场景和监测需求&#xff0c;气象站可以分为以下几类&#xff1a; 一、农业气象站 农业气象站是专门为农业生产服务的气象站&#xff0c;主要监测土壤温度、土壤湿度等参数&#xff0c;为农业生产提供科学依据…

高效率、高质量的DMG映像制作:DMG Canvas for mac,助你轻松实现

如果你是一位开发者或企业用户&#xff0c;你一定知道DMG磁盘映像文件在分发应用程序或文件时的重要性。DMG磁盘映像文件可以让用户轻松地创建磁盘映像&#xff0c;并将其挂载到Mac电脑上&#xff0c;从而方便地安装或使用应用程序或文件。 然而&#xff0c;传统的DMG磁盘映像…

数学之美 — 1

为什么你会想和他人共享那些美丽的事物呢&#xff1f;因为这会让他&#xff08;她&#xff09;感到愉悦&#xff0c;也能让你在分享的过程中重新欣赏一次事物的美。 ——David Blackwell 1、感官之美&#xff0c;对于那些有规律的事物&#xff0c;你可以利用自己的视觉、触觉、…