【Qt】控件——Qt输入类控件、常见的输入类控件、输入类控件的使用、Line Edit、Text Edit、Combo Box、Spin Box

news2024/10/22 20:48:25

文章目录

  • Qt
    • 5. Qt显示类控件
      • Line Edit
      • Text Edit
      • Combo Box
      • Spin Box
      • QDateTimeEdit
      • Dial
      • Slider

Qt

在这里插入图片描述
  

5. Qt显示类控件

Line Edit

  QLineEdit 用于表示单行输入框。可以输入一段文本,但是不能换行。

属性说明
text输入框中的文本
inputMask输入内容格式约束
maxLength最大长度
frame是否添加边框
echoMode显示方式
QLineEdit::Normal这是默认值,文本框会显示输入的文本
QLineEdit::Password在这种模式下,输入的字符会被隐藏,通常用星号(*)或等号(=)代替
QLineEdit::NoEcho在这种模式下,文本框不会显示任何输入的字符
cursorPosition光标所在位置
alignment文字对齐方式, 设置水平和垂直方向的对齐
dragEnabled是否允许拖拽
readOnly是否是只读的(不允许修改)
placeHolderText当输入框内容为空的时候, 显示什么样的提示信息
clearButtonEnabled是否会自动显示出 “清除按钮”

  

信号说明
void cursorPositionChanged(int old, int new)当光标位置改变时发出此信号。old参数表示先前的光标位置,new参数表示新的光标位置。
void editingFinished()当按下返回键或回车键,或者行编辑失去焦点时,发出此信号。这通常表示用户已完成编辑。
void returnPressed()当按下返回键或回车键时发出此信号。如果设置了验证器,验证通过后才能触发此信号。
void selectionChanged()当选中的文本改变时,发出此信号。这可以用于检测用户是否选择了不同的文本片段。
void textChanged(const QString &text)当QLineEdit中的文本改变时,发出此信号。text参数表示新的文本内容。这个信号对代码和用户输入的文本修改都会触发。
void textEdited(const QString &text)当QLineEdit中的文本通过用户输入(而非代码修改)改变时,发出此信号。text参数表示新的文本内容。这个信号不会由代码对文本的修改触发。

  

  1. 代码示例:使用 QLineEdit 创建编辑框,并且用户输入信息可以回响。
    在这里插入图片描述
      

  2. setPlaceholderText():设置默认文字;setEchoMode(QLineEdit:: ):设置文字样式;setInputMask():设置文字格式。

在这里插入图片描述

  

  1. 连接槽函数,实现输入信息后的回响操作。
    在这里插入图片描述

  

  1. 代码示例:判断两次输入信息是否一致。

在这里插入图片描述
  

  1. 使用 QString 接收文字并且进行判断。

在这里插入图片描述
  

Text Edit

  QTextEdit 表示多行输入框。也是一个富文本 & markdown 编辑器。并且能在内容超出编辑框范围时自动提供滚动条。

  

属性说明
markdown输入框内持有的内容。支持 markdown 格式。能够自动的对 markdown 文本进行渲染成 html。
html输入框内持有的内容。可以支持大部分 html 标签。包括 img 和 table 等。
placeHolderText输入框为空时提示的内容。
readOnly是否是只读的。
undoRedoEnable是否开启 undo /redo 功能。按下 ctrl + z 触发 undo,按下 ctrl + y 触发 redo。
autoFormating开启自动格式化。
tabstopWidth按下缩进占多少空间。
overwriteMode是否开启覆盖写模式。
acceptRichText是否接收富文本内容。
verticalScrollBarPolicy垂直方向滚动条的出现策略。
Qt::ScrollBarAsNeeded根据内容自动决定是否需要滚动条。这是默认值。
Qt::ScrollBarAlwaysOff总是关闭滚动条。
Qt::ScrollBarAlwaysOn总是显示滚动条。
horizontalScrollBarPolicy水平方向滚动条的出现策略。
Qt::ScrollBarAsNeeded根据内容自动决定是否需要滚动条。这是默认值。
Qt::ScrollBarAlwaysOff总是关闭滚动条。
Qt::ScrollBarAlwaysOn总是显示滚动条。

  

信号说明
textChanged ()文本内容改变时触发。
selectionChanged ()选中范围改变时触发。
cursorPositionChanged ()光标移动时触发。
undoAvailable (bool)可以进行 undo 操作时触发。
redoAvailable (bool)可以进行 redo 操作时触发。
copyAvaiable (bool)文本被选中 / 取消选中时触发。

  

  1. 代码示例:在多行输入框中输入信息,可以显示到 QLabel 中。

在这里插入图片描述

  

  1. 建立连接关系。

在这里插入图片描述

  

  1. selectionChanged():是选中改变时触发的信号。
    在这里插入图片描述

  

  1. 输入位置改变时触发cursorPositionChanged()信号。
    在这里插入图片描述

  

  1. 按下ctrl+z触发undoAvailable()。
    在这里插入图片描述
      

  2. 按下ctrl+y触发redoAvailable()。
    在这里插入图片描述

  

  1. 选中文本时触发copyAvailable()。

在这里插入图片描述

  

Combo Box

  QComboBox 表示下拉框。

  

属性说明
currentText当前选中的文本。
currentIndex当前选中的条目下标。从 0 开始计算。如果当前没有条目被选中,值为 -1。
editable是否允许修改。设为 true 时,QComboBox 的行为就非常接近 QLineEdit,也可以设置 validator。
iconSize下拉框图标(小三角)的大小。
maxCount最多允许有多少个条目。

  

方法说明
addItem (const QString&)添加一个条目。
currentIndex ()获取当前条目的下标,从 0 开始计算。如果当前没有条目被选中,值为 -1。
currentText ()获取当前条目的文本内容。

  

信号说明
activated (int)、activated (const QString & text)当用户选择了一个选项时发出。这个时候相当于用户点开下拉框,并且鼠标划过某个选项,此时还没有确认做出选择。
currentIndexChanged (int)、currentIndexChanged (const QString & text)当前选项改变时发出。此时用户已经明确地选择了一个选项。用户操作或者通过程序操作都会触发这个信号。
editTextChanged (const QString & text)当编辑框中的文本改变时发出(editable 为 true 时有效)。

  

  1. addItem(QString)可以向 QComboBox 中添加选项。
    在这里插入图片描述
      

  2. 连接槽函数。
    在这里插入图片描述

  

Spin Box

  使用 QSpinBox 或者 QDoubleSpinBox 表示 “微调框”, 它是带有按钮的输入框。可以用来输入整数 / 浮点数。通过点击按钮来修改数值大小。

  

属性说明
value存储的数值。
singleStep每次调整的 “步长”。按下一次按钮数据变化多少。
displayInteger数字的进制。例如 displayInteger 设为 10,则是按照 10 进制表示。设为 2 则为 2 进制表示。
minimum最小值。
maximum最大值。
suffix后缀。
prefix前缀。
wrapping是否允许换行。
frame是否带边框。
alignment文字对齐方式。
readOnly是否允许修改。
buttonSymbol按钮上的图标。
UpDownArrows上下箭头形式。
PlusMinus加减号形式。
NoButtons没有按钮。
accelerated (加速的)按下按钮时是否为快速调整模式。
correctionMode输入有误时如何修正。
QAbstractSpinBox::CorrectToPreviousValue如果用户输入了一个无效的值(例如,在只能显示正整数的 SpinBox 中输入了负数),那么 SpinBox 会恢复为上一个有效值。例如,如果 SpinBox 的初始值是 1,用户输入了 -1(无效),然后 SpinBox 会恢复为 1。
QAbstractSpinBox::CorrectToNearestValue如果用户输入了一个无效的值,SpinBox 会恢复为最接近的有效值。例如,如果 SpinBox 的初始值是 1,用户输入了 -1(无效),那么 SpinBox 会恢复为 0。
keyboardTrack是否开启键盘跟踪。设为 true,每次在输入框输入一个数字,都会触发一次 valueChanged () 和 textChanged () 信号。设为 false,只有在最终按下 enter 或者输入框失去焦点,才会触发 valueChanged () 和 textChanged () 信号。

  

信号说明
textChanged (QString)微调框的文本发生改变时会触发。参数 QString 带有前缀和后缀。
valueChanged (int)微调框的文本发生改变时会触发。参数 int,表示当前的数值。

  

  1. 创建 QSpinBox 微调框。
    在这里插入图片描述

  

QDateTimeEdit

  使用 QDateTimeEdit 作为时间日期的微调框。

  

属性说明
dateTime时间日期的值。形如 2000/1/1 0:00:00。
date单纯日期的值。形如 2001/1/1。
time单纯时间的值。形如 0:00:00。
displayFormat时间日期格式。形如 yyyy/M/d H:mm。y 表示年份。M 表示月份。d 表示日期。H 表示小时。m 表示分钟。s 表示秒。
minimumDateTime最小时间日期。
maximumDateTime最大时间日期。
Qt::LocalTime显示本地时间。
Qt::UTC显示协调世界时(UTC)。
Qt::OffsetFromUTC显示相对于 UTC 的偏移量 (时差)。

  

  1. 创建 QDateTimeEdit 日期微调框。
    在这里插入图片描述

Dial

  使用 QDial 表示一个旋钮。

  

属性说明
value持有的数值。
minimum最小值。
maximum最大值。
singleStep按下方向键的时候改变的步长。
pageStep按下 pageUp/pageDown 的时候改变的步长。
sliderPosition界面上旋钮显示的初始位置。
tracking外观是否会跟踪数值变化。默认值为 true。一般不需要修改。
wrapping是否允许循环调整。即数值如果超过最大值,是否允许回到最小值。(调整过程能否 “套圈”)。
notchesVisible是否显示刻度线。
notchTarget刻度线之间的相对位置。数字越大,刻度线越稀疏。

  

信号说明
valueChanged (int)数值改变时触发。
rangeChanged (int, int)范围变化时触发。

  

  1. 创建一个旋钮 QDial 。
    在这里插入图片描述

  

Slider

  使用 QSlider 表示一个滑动条。

  

属性说明
value持有的数值。
minimum最小值。
maximum最大值。
singleStep按下方向键的时候改变的步长。
pageStep按下 pageUp/pageDown 的时候改变的步长。
sliderPosition滑动条显示的初始位置。
tracking外观是否会跟踪数值变化。默认值为 true。一般不需要修改。
orientation滑动条的方向是水平还是垂直。
invertedAppearance是否要翻转滑动条的方向。
tickPosition刻度的位置。
tickInterval刻度的密集程度。

  

信号说明
valueChanged (int)数值改变时触发。
rangeChanged (int, int)范围变化时触发。

  

  1. 创建一个滑动条 QSlider 。
    在这里插入图片描述

            

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

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

相关文章

【HAD】Half-Truth: A Partially Fake Audio Detection Dataset

文章目录 Half-Truth: A Partially Fake Audio Detection Dataset背景key points研究数据集设计评价指标实验基线:utterance-level分类(话语级)基线:segment-level分类(片段级)Half-Truth: A Partially Fake Audio Detection Dataset 会议/期刊:Interspeech 2021 CCF-C…

哈佛医学生一个月吃720个鸡蛋,结果发现......

你们听说过吃鸡蛋还能降低胆固醇的操作吗? 前段时间,哈佛医学院的学生尼克诺尔维茨(Nick Norwitz)就做了这样一个实验,得出的结果让大家震惊! 许多人认为狂吃鸡蛋不会有好处,因为这会摄入大量胆…

FFT过程中自动补零,补零部分FFT结果不为零

在 FFT(快速傅里叶变换) 中,补零(Zero Padding)是为了使信号的点数符合 2 的幂次方,以提高 FFT 的计算效率。然而,即使你对信号进行了补零,FFT 计算后在补零部分可能会得到复数结果不…

<项目代码>YOLOv8工具识别<目标检测>

YOLOv8是一种单阶段(one-stage)检测算法,它将目标检测问题转化为一个回归问题,能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法(如Faster R-CNN),YOLOv8具有更高的…

数字化营销助企业在生态平台实现内卷突围

在当今数字化时代,企业竞争激烈,内卷化严重。而数字化生态平台建设与数字化营销为企业带来了新机遇。 数字化生态平台意义重大。它能整合企业内外资源,提高运营效率。打破地域限制,拓展市场,吸引更多客户。还能为企业创…

TCP——Socket

应用进程只借助Socket API发和收但是不关心他是怎么进行传和收的 数据结构 图示Socket连接 捆绑属于隐式捆绑

如何快速解决谷歌网站页面收录难题?

在外贸网站的运营中,页面无法被谷歌收录是一个常见的困扰。即便你的内容再优秀,如果搜索引擎的爬虫无法抓取到你的页面,那一切努力都将白费。而GPC爬虫池服务可以帮助你快速解决网站页面的收录问题。它通过千万级的爬虫池资源,强力…

【信创】银河麒麟安装程序记录

银河麒麟安装程序记录 Step1 添加外网yum源Step2 安装软件安装MySQL(8.0.32)安装JDK安装jdk17安装Nginx(1.21.5)安装Redis(4.0.14)安装Emqx(4.4.19)安装RocketMQ(5.1.4&a…

基于STM32的多功能MP3播放器

基于STM32的多功能MP3播放器 基于STM32的多功能MP3播放器一、项目背景与意义二、系统设计与实现2.1 硬件设计2.2 软件设计2.3 系统调试 三、功能实现与展望四、结论五、附录 基于STM32的多功能MP3播放器 在数字化时代,多功能播放器已成为我们生活中不可或缺的一部分…

Maven骨灰级教程:从小白到高手的终极指南(一)

目录 1. Maven的概念 1.1 什么是Maven 1.2 什么是依赖管理 1.3 什么是项目构建 1.4 Maven的应用场景 1.5 为什么使用Maven 1.6 Maven模型 2.初识Maven 2.1 Maven安装 2.1.1 安装准备 2.1.2 Maven安装目录分析 2.1.3 Maven的环境变量 2.2 Maven的第一个项目 2.2.1…

学习threejs,THREE.ConvexGeometry凸包高级几何体

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.ConvexGeometry凸包高…

Http模块总体设计

在前面的文章中,我们已经实现了一个主从Reactor模型的服务器类,但是由于他只是一个服务器,不涉及任何业务以及协议的处理,那么为了方便用户使用,我们可以预先设置好协议的支持,只需要让用户进行业务处理就行…

【Qt】Windows下Qt连接DM数据库

环境信息:W11 Qt5.12及以上 dm8 QODBC达梦 Windows环境创建ODBC数据源 使用 ODBC 方法访问 DM 数据库服务器之前,必须先配置 ODBC 数据源 在控制面板Windows工具中显示ODBC数据源管理器 ODBC数据源管理器标签 用户 DSN:添加、删除或配置本…

jmeter中发送post请求遇到的问题

用jmeter发送post请求,把请求参数放在Body Data处,参数都写得正确,但没想到结果每次都报错,直接响应结果乱七八糟,改成用Parameters,反而不乱报错了。 上图 请求里如下 另外一些请求也是这样 这个响应结果也是错误的…

⌈ 传知代码 ⌋ 农作物病害分类(Web端实现)

💛前情提要💛 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间,对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…

国家超算互联网测评——用一分钱的显卡做大模型微调

大家好,我是刘明,明志科技创始人,华为昇思MindSpore布道师。 技术上主攻前端开发、鸿蒙开发和AI算法研究。 努力为大家带来持续的技术分享,如果你也喜欢我的文章,就点个关注吧 背景信息 算力、算法、数据,…

Vulhub Rickdiculously Easy 靶机详解

项目地址 https://download.vulnhub.com/rickdiculouslyeasy/RickdiculouslyEasy.zip实验过程 将下载好的靶机导入到VMware中,设置网络模式为NAT模式,然后开启靶机虚拟机 使用nmap进行主机发现,获取靶机IP地址 nmap 192.168.47.1-254根据对…

1971. 寻找图中是否存在路径

有一个具有 n 个顶点的 双向 图,其中每个顶点标记从 0 到 n - 1(包含 0 和 n - 1)。图中的边用一个二维整数数组 edges 表示,其中 edges[i] [ui, vi] 表示顶点 ui 和顶点 vi 之间的双向边。 每个顶点对由 最多一条 边连接&#x…

uniapp 常用的地区行业各种多选多选,支持回显,复制粘贴可使用

uniapp 常用的地区行业各种多选多选,支持回显 必须导入uni-popup 弹出层 该组件 1.目前项目开发中使用到这类似挺多的,记录一下,方便以后是使用 2.使用前提,目前不做无限级,只支持二维数组,模板里只循环了两…

在此处打开Powershell窗口出现“Set-Location : 找不到接受实际参数“xxx”的位置形式参数。”

在此处打开Powershell窗口出现“Set-Location : 找不到接受实际参数“xxx”的位置形式参数。” 0x00 缘起0x01 方法1. 打开注册表编辑器2. 修改注册项数据3. 验证效果 0x02 结论0x03 参考0x04 后记 0x00 缘起 使用带有空格的用户文件夹名称(如:My PC&a…