完整教程:QLineEdit 详解(C++)

QLineEdit 是 Qt 框架中用于单行文本输入的核心控件,广泛应用于表单输入、搜索框、命令行交互等场景。它提供了丰富的文本处理功能、输入验证机制和交互特性,是 Qt 界面开发中不可或缺的组件。本文将从基础用法、高级特性、信号与槽、输入验证、样式定制等方面全面解析 QLineEdit 的使用方法。

一、基础用法
  1. 创建与初始化
    在 C++ 中使用 QLineEdit 需包含头文件 <QLineEdit>,并通过构造函数创建实例。基本语法如下:

    #include <QLineEdit>
      // 构造函数:父对象指针可选,用于内存管理
      QLineEdit *lineEdit = new QLineEdit(parent);

    可通过构造函数直接设置初始文本:

    QLineEdit *lineEdit = new QLineEdit("初始文本", parent);
  2. 文本设置与获取

    • 设置文本:setText(const QString &text)
      lineEdit->setText("Hello Qt");
    • 获取文本:QString text() const
      QString input = lineEdit->text();
    • 追加文本:insert(const QString &text)(在光标位置插入)
      lineEdit->insert(" World"); // 原文本为"Hello"时,结果为"Hello World"
  3. 基本属性控制

    • 只读模式:setReadOnly(bool)
      lineEdit->setReadOnly(true); // 文本可选中但不可编辑
    • 清空文本:clear()
      lineEdit->clear();
    • 占位提示文本:setPlaceholderText(const QString &text)(未输入时显示灰色提示)
      lineEdit->setPlaceholderText("请输入用户名");
    • 最大长度限制:setMaxLength(int length)
      lineEdit->setMaxLength(20); // 最多输入20个字符
二、输入模式与显示格式

QLineEdit 支持多种输入模式,通过 setEchoMode(EchoMode mode) 控制文本显示方式,适用于密码输入等场景:

  • QLineEdit::Normal:默认模式,输入即显示(如普通文本)。
  • QLineEdit::Password:输入字符显示为占位符(如 ),实际文本可通过 text() 获取。
  • QLineEdit::PasswordEchoOnEdit:输入时显示明文,失去焦点后转为密码模式。
  • QLineEdit::NoEcho:不显示任何输入(如敏感信息)。

示例:

// 密码输入框
QLineEdit *passwordEdit = new QLineEdit(parent);
passwordEdit->setEchoMode(QLineEdit::Password);
passwordEdit->setPlaceholderText
posted @ 2025-12-12 09:21  clnchanpin  阅读(34)  评论(0)    收藏  举报