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

Qt 窗口部件(2)输入部件详解

文章目录

    • 一、Input Widgets定义
    • 二、QLineEdit
      • 1.定义
      • 2.常用属性
        • 2.1 echoMode 类型
      • 3.常用信号
      • 4.输入验证与格式化
        • 4.1 正则表达式验证
        • 4.2 整数 / 浮点数验证
        • 4.3 自定义输入掩码
    • 三、QSpinBox
      • 1.定义
      • 2.常用属性
      • 3.常用信号
    • 四、QDoubleSpinBox
      • 1.定义
      • 2.与QSpinBox区别
    • 五、QComboBox
      • 1. 两种模式
      • 2.常用属性
      • 3.常用信号

一、Input Widgets定义

Input Widgets 是 Qt 中用于用户输入的组件,例如:

  • QLineEdit(单行文本输入)
  • QTextEdit(多行富文本编辑)
  • QSpinBox/QDoubleSpinBox(数值输入框)
  • QComboBox(下拉选择框)
  • QSlider/QDial(滑块和旋钮)
  • QCheckBox/QRadioButton(复选框和单选按钮)

二、QLineEdit

1.定义

QLineEdit 主要用于接收用户的单行文本输入,具备文本显示、编辑、验证和格式化等功能。

2.常用属性

  • text() 获取/设置文本内容
  • placeholderText 占位文本(输入框提示)
  • maxLength 最大输入长度
  • echoMode 文本显示模式
  • readOnly 只读模式
  • alignment 文本对齐方式
2.1 echoMode 类型
  • QLineEdit::Normal(默认模式,正常显示输入的文本);
  • QLineEdit::Password(显示密码掩码,如圆点●,实际文本被隐藏,常用于密码输入场景);
  • QLineEdit::NoEcho(完全不显示任何内容,但实际文本被存储,这种模式较少使用);
  • QLineEdit::PasswordEchoOnEdit(编辑时显示实际文本,短暂延迟后变为密码掩码,在一定程度上兼顾了用户输入的便利性和密码的安全性)。

3.常用信号

  • textChanged(text) 文本内容改变时
  • textEdited(text) 用户手动编辑文本时
  • returnPressed() 用户按下回车键时
  • editingFinished() 编辑完成时(失去焦点或按回车)
  • selectionChanged() 选中文本发生变化时

4.输入验证与格式化

4.1 正则表达式验证

使用QRegExpValidator限制输入格式,例如只允许输入数字和字母

4.2 整数 / 浮点数验证

使用QIntValidator或QDoubleValidator

4.3 自定义输入掩码

使用setInputMask()限制输入格式

QLineEdit *phoneEdit = new QLineEdit(&window);
phoneEdit->setInputMask("999 9999 9999;_");

1、格式说明:占位符9表示只能输入数字,分号;后的_表示未输入位置的占位符(若不指定占位符,默认使用空格)。

2、获取实际文本。
使用

相关文章:

  • Canvas基础篇:虚线操作setLineDash和lineDashOffset详解
  • 前端性能指标及优化策略——从加载、渲染和交互阶段分别解读详解并以Webpack+Vue项目为例进行解读
  • 空战数据链基础术语解析:从概念到实战应用的入门指南
  • 联合类型的逻辑或关系与类型保护
  • 分享一个可以用GPT打标的傻瓜式SD图片打标工具——辣椒炒肉图片打标助手
  • 第26节:卷积神经网络(CNN)-数据增强技术(PyTorch)
  • 网络安全设备配置与管理-实验5-p150虚拟防火墙配置
  • Agent杂货铺
  • Linux-Ubuntu安装Stable Diffusion Forge
  • qt 布局管理
  • Java开发经验——阿里巴巴编码规范经验总结2
  • [强化学习的数学原理—赵世钰老师]学习笔记01-基本概念
  • 【C++】AVL树实现
  • Python工具链UV整合环境管理
  • Day22 Kaggle泰坦尼克号训练实战
  • Kubernetes排错(十五):节点NotReady故障排查处理
  • uniapp-商城-53-后台 商家信息(更新修改和深浅copy)
  • 大模型项目:普通蓝牙音响接入DeepSeek,解锁语音交互新玩法
  • 【iOS】SDWebImage源码学习
  • 八股文-js篇
  • 广东省中医院脾胃病科大科主任张北平病逝,年仅52岁
  • 演员黄晓明、金世佳进入上海戏剧学院2025年博士研究生复试名单
  • 加强战略矿产出口全链条管控工作部署会召开
  • 美国“贸易战”前线的本土受害者:安静的洛杉矶港和准备关门的小公司
  • “80后”李灿已任重庆市南川区领导,此前获公示拟提名为副区长人选
  • 祝贺!苏翊鸣成功解锁“2160”