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

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

文章目录

  • 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 。
    在这里插入图片描述

            

相关文章:

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

文章目录 Qt5. Qt显示类控件Line EditText EditCombo BoxSpin BoxQDateTimeEditDialSlider Qt 5. Qt显示类控件 Line Edit QLineEdit 用于表示单行输入框。可以输入一段文本,但是不能换行。 属性说明text输入框中的文本inputMask输入内容格式约束maxLength最大长度…...

单臂交换知识点

要求:pc1要与pc2 ping通 命令: LSW1命令解析: system-view: 这个命令用于进入交换机的全局配置模式。在这个模式下,用户可以配置设备的全局设置。 vlan batch 10 20: 创建VLAN 10和VLAN 20。VLAN(虚拟局域网&#x…...

CentOS7 上安装GitLab的经历

一、安装必要的基础环境 1.安装依赖包 [rootgitlab-server ~]#yum install curl policycoreutils openssh-server openssh-clients postfix wget git patch -y [rootgitlab-server ~]# systemctl start postfix 2.配置yum源(由于网络问题,国内用户请使用清华大学…...

用python-pptx轻松统一调整演示文档配色方案

哈喽,大家好,我是木头左! 安装与准备:python-pptx入门 确保你的Python环境中已经安装了python-pptx库。如果没有,可以通过pip进行快速安装: pip install python-pptx此外,对于PPT文档的操作,了解一些基本的PowerPoint概念是有帮助的,比如幻灯片母版(Slide Master)…...

MySQL-30.索引-介绍

一.索引 为什么需要索引?当我们没有建立索引时,要在一张数据量极其庞大的表中查询表里的某一个值,会非常的消耗时间。以一个6000000数据量的表为例,查询一条记录的时间耗时约为13s,这是因为要查询符合某个值的数据&am…...

6-2.Android 对话框之基础对话框问题清单(UI 线程问题、外部取消、冲突问题、dismiss 方法与 hide 方法)

对话框 对话框(Dialog)是一种常用的 UI 组件,它主要用于显示信息、接收用户操作反馈 对话框可以包含各种元素,但是主要还是以文本、按钮为主,其次是列表 其中,基础对话框是 Android 中最简单的对话框&…...

git配置以及如何删除git

你努力学习和充实自己,除了提升自身的价值,最实际的是当遇到有喜欢的人和事的时候,除了一片真心,还有拿得出手的东西 作用 记录开发的历史,每次记录就是一个版本,而且可以回到历史的某个版本可以实现多人合…...

深入理解new Function

基础语法 let func new Function([arg1,arg2,arg3,...argN],functionBody)函数是通过使用参数 arg1…argN 和给定的 functionBody 创建。 调用 Function 时可以使用或不使用 new,两者都会创建一个新的 Function 实例 举例1: 带有两个参数的函数 let sum new Fun…...

服务器训练神经网络必备工具Screen使用教程

使用服务器训练网络时,不敢关闭终端窗口?用screen~ 服务器训练神经网络必备工具Screen使用教程 使用服务器训练网络时,不敢关闭终端窗口?用screen~一、Screen常用命令1. 启动新会话2. 重新连接会话3. 列出所有会话4. 窗口管理5. 断…...

跨越数字鸿沟,FileLink文件摆渡系统——您的数据安全高效传输新选择

在这个信息爆炸的时代,数据的流通与共享已成为推动各行各业发展的关键力量。然而,随着数据量的激增,如何在保证数据安全的前提下,实现高效、便捷的文件传输,成为了众多企业和个人用户面临的重大挑战。正是在这样的背景…...

递归之吃桃问题

题目如下: XXX买了一堆桃子不知道个数,第一天吃了一半的桃子,还不过瘾,又多吃了一个。以后他每天吃剩下的桃子的一半还多一个,到 n 天只剩下一个桃子了。XXX想知道一开始买了多少桃子。 首先我们看到题目就应该想边界…...

CZX前端秘籍2

vue生命周期( 组件从创建到销毁的过程就是它的生命周期) 创建前 beforeCreat( 在这个阶段属性和方法都不能使用) 创建时 created( 这里时实例创建完成之后, 在这里完成了数据监测, 可以使用数…...

CAD图纸防泄密用什么加密软软件?2024年10款图纸加密软件排行榜

在当今数字化时代,企业对于CAD图纸的保护越来越重视,因为图纸往往包含着公司的核心技术和商业机密。选择合适的加密软件对于防止数据泄露、维护企业利益至关重要。以下是2024年10款备受推崇的CAD图纸加密软件排行榜,帮助您更好地保护您的设计…...

WebGL编程指南 - WebGL入门

初识绘图流程、缓冲区、着色器、attribute和uniform变量 先画一个蓝色的正方形 html代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content&…...

mysql--数据类型

目录 搞定所有数据类型 一、常见数据类型分类 二、数值类型 1、bit类型 2、float类型 ​编辑3、decimal类型 4、字符类型 &#xff08;1&#xff09;char &#xff08;2&#xff09;varchar &#xff08;3&#xff09;varchar和char有甚区别&#xff1f; &#xff0…...

代码随想录第40天|

#include <bits/stdc.h> using namespace std;vector<list<int>> graph; // 删除局部 graph&#xff0c;使用全局 graph vector<vector<int>> res; vector<int> path; int N, M;void dfs(int index) {if (index N) {res.push_back(path);…...

Turn-it:优化线材重构雕塑制造

&#x1f428;文章摘要abstract 电线雕塑在工业应用和日常生活中都很重要。 本文提出了一种新的制造策略&#xff0c;通过调整目标形状以适应电线弯曲机&#xff0c;然后由人工将其弯曲回目标形状。&#xff08;机器弯曲人工弯曲&#xff09; 该方法通过两阶段弯曲策略实现&a…...

微深节能 堆取料机动作综合检测系统 格雷母线

微深节能的堆取料机动作综合检测系统结合了格雷母线定位系统&#xff0c;是工业自动化领域的一项重要创新。该系统通过集成多种传感器和控制设备&#xff0c;实现对堆取料机的全面监控和精确控制&#xff0c;包括位置、速度、力度、振动以及工作状态等。格雷母线定位系统作为一…...

【JAVA面试题】什么是Springboot的自动配置以及注意事项

文章目录 强烈推荐核心概念&#xff1a;自动配置的关键特点&#xff1a;示例&#xff1a; 需要注意的点1.默认配置可能不适合所有场景2.Bean 冲突与覆盖3.应用启动慢的问题4.过度依赖自动配置5.安全性问题6.依赖冲突与版本兼容7.过多不必要的自动配置8.调试困难 专栏集锦 强烈推…...

华为鸿蒙开发笔记

记在前面 官方文档链接 因无法直接使用chatgpt进行编程(悲,2024/10),故记录笔记,方便查阅,基于arkts语言 DevEco 中文 deveco是默认有中文包的,所以在市场里面搜不错,而应该在已安装里面搜索,然后启用就行了 测试 对ts进行单独测试 打开entry/src/test/LocalUnit.test.…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例&#xff0c;模拟20个网页的爬取&#xff0c;每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程&#xff1a;允许程序同时执行多个任务&#xff0c;提高IO密集型任务&#xff08;如网络请求&#xff09;的效率…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...