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

发布于:2025-05-12 ⋅ 阅读:(18) ⋅ 点赞:(0)

一、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、获取实际文本。
使用


网站公告

今日签到

点亮在社区的每一天
去签到