当前位置: 首页 > news >正文

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

一、前言

        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)

相关文章:

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

一、前言 QInputDialog类继承于QDialog,是一个简单方便的对话框,用于从用户获取单个值。 对话框窗口 QDialog QInputDialog输入对话框带有一个文本标签、一个输入框和标准按钮。输入内容可以字符、数字和选项,文本标签用来告诉用户应该要输入…...

C++ struct 笔记(超级详细)

今日碎碎念:我在学C语言时经常用到结构体struct,之后在写C程序时遇到在struct中定义构造函数和成员函数的情况,这在c语言中是从未遇到过的,觉得奇怪,想到之前并没有真正系统学习C里的struct,有必要今天详细…...

Vue基础1:生命周期汇总(vue2)

Description 生命周期图: 可以理解vue生命周期就是指vue实例从创建到销毁的过程,在vue中分为9个阶段:创建前/后,载入前/后,更新前/后,销毁前/后,其他;常用的有:created&…...

Linux串口驱动

《I.MX6ULL 参考手册》第 3561 页的“Chapter 55 Universal Asynchronous Receiver/Transmitter(UART) I.MX6ULL串口原理 1.1UART与USART UART是异步通信,USART是异步/同步通信,比UART多了一条时钟线 USART 的全称是 Universal Synchronous/Asynchr…...

java反编译工具jd-gui使用

文章目录 一、JD-GUI介绍二、下载三、安装四、使用教程五、免责声明摘抄 一、JD-GUI介绍 JD-GUI是一个独立的图形实用程序,显示“.class”文件的Java源代码。 使用JD-GUI浏览重构的源代码,以便即时访问方法和字段。 二、下载 MAC安装包:ht…...

Linux 之 shell 脚本

Linux 之 shell 脚本 1、脚本的格式要求2、shell 脚本常用执行方式2.1、绝对路径或相对路径方式2.2、sh脚本方式(不推荐) 3、shell 的变量3.1、定义 shell 变量3.2、将命令返回值赋值给变量 (重点)3.3、设置环境变量3.4、位置参数…...

如何去阅读开源的第三方库的源码

2023年9月2日,周六晚上 今天探索了一天如何去阅读第三方库的源码,终有所获。 再结合以前看cereal项目的源码的经验,于是就有了这篇博客。 我个人认为: 在阅读一个开源的第三方库之前,要先学会这个第三方库的一些简单…...

浅析Linux虚拟网络技术

文章目录 概述Tap/tun设备tun/tap的工作机制 Bridge网桥Bridge的工作机制Bridge IP 相关参考 概述 在传统的网络环境中,一台物理主机包含一张或多张网卡,要实现与其它物理主机之间的通信,需要将自身的网卡通过路由器或者交换机连接到外部的物…...

设计模式之九:迭代器与组合模式

有许多方法可以把对象堆起来成为一个集合(Collection),比如放入数组、堆栈或散列表中。若用户直接从这些数据结构中取出对象,则需要知道具体是存在什么数据结构中(如栈就用peek,数组[])。迭代器…...

官方推荐:6种Pandas读取Excel的方法

Pandas提供了多种读取Excel文件的方法,以下是官方推荐的6种方法: 1. 使用pd.read_excel()函数 这是最常用的方法,可以读取Excel文件,并将其转换为Pandas数据框。可以指定工作表名和列名的行号。 df pd.read_excel(data.xlsx, …...

Redis与Mysql区别

一、关系型数据库 mysql,pgsql,oracle ,sqlserver 支持连表关联查询(会有一些特定的语法特特性) 二、非关系型数据库 redis,mongodb,memcache (key-value) 三、关系型数据库与非关系型数据库的区别: 1&am…...

Black-Box Tuning for Language-Model-as-a-Service

本文是LLM系列的文章,针对《Black-Box Tuning for Language-Model-as-a-Service》的翻译。 语义模型即服务的黑盒调整 摘要1 引言2 背景3 方法4 实验5 讨论与未来工作 摘要 GPT-3等超大的预训练语言模型(PTM)通常作为服务发布。它允许用户设…...

通用的ARM64架构镜像

#此链接包含x86架构和ARM架构的pytorch镜像,镜像里面已下载好各种第三方库,GPU版本的pytorch可用。缺点:镜像有点大 测试环境:操作系统麒麟银河V10,ARM64处理器(cpu),显卡为T4显卡 …...

git大文件推送报错

报错信息 不多掰扯,直接上报错信息和截图 Delta compression using up to 8 threadsRPC failde; HTTP 413 curl 22 The requested URL returned error: 413 Request Entity Too Large从以上的报错信息不难看出推送仓库的时候,请求体过大,为…...

RDMA性能优化经验浅谈

一、RDMA概述 首先我们介绍一下RDMA的一些核心概念,当然了,我并不打算写他的API以及调用方式,我们更多关注这些基础概念背后的硬件执行方式和原理,对于这些原理的理解是能够写出高性能RDMA程序的关键。 Memory Region RDMA的网…...

day 44 | ● 309.最佳买卖股票时机含冷冻期 ● 714.买卖股票的最佳时机含手续费

309.最佳买卖股票时机含冷冻期 此外,在返回的时候,由于状态234都是卖出的状态,所以要比较其最大值进行返回。 func maxProfit(prices []int) int {dp : make([][]int, len(prices))dp[0] make([]int, 4)dp[0][0] -prices[0]for i : 1; i &…...

电子科大软件系统架构设计——系统分析与设计概述(含课堂作业、练习答案)

系统分析与设计概述 信息系统概述 what 信息系统是一种能够完成对业务数据进行采集、转换、加工、计算、分析、传输、维护等信息处理,并能就某个方面问题给用户提供信息服务的计算机应用系统。 组成 信息化基础设施(计算机、计算机网络、服务器、系统…...

【SpringMVC】@RequestMapping注解(详解)

文章目录 前言1、RequestMapping注解的功能2、RequestMapping注解的位置3、RequestMapping注解的value属性4、RequestMapping注解的method属性1、对于处理指定请求方式的控制器方法,SpringMVC中提供了RequestMapping的派生注解2、常用的请求方式有get,po…...

8.(Python数模)马尔科夫链预测

Python实现马尔科夫链预测 马尔科夫链原理 马尔科夫链是一种进行预测的方法,常用于系统未来时刻情况只和现在有关,而与过去无关。 用下面这个例子来讲述马尔科夫链。 如何预测下一时刻计算机发生故障的概率? 当前状态只存在0(故…...

什么是浏览器缓存(browser caching)?如何使用HTTP头来控制缓存?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 浏览器缓存和HTTP头控制缓存⭐ HTTP头控制缓存1. Cache-Control2. Expires3. Last-Modified 和 If-Modified-Since4. ETag 和 If-None-Match ⭐ 缓存策略⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?

Redis 的发布订阅&#xff08;Pub/Sub&#xff09;模式与专业的 MQ&#xff08;Message Queue&#xff09;如 Kafka、RabbitMQ 进行比较&#xff0c;核心的权衡点在于&#xff1a;简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言&#xff1a; 最近在做行为检测相关的模型&#xff0c;用的是时空图卷积网络&#xff08;STGCN&#xff09;&#xff0c;但原有kinetic-400数据集数据质量较低&#xff0c;需要进行细粒度的标注&#xff0c;同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...

数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !

我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...