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

qt QLineEdit详解

一、概述

QLineEdit 是 Qt 框架中用于创建单行文本输入框的类。它非常适合用于接收用户输入,例如用户名、密码或其他简单的文本信息。它提供了许多有用的编辑功能,支持多种输入模式和文本限制,并支持撤销、重做、剪切、粘贴以及拖放等功能。

二、重要方法

  • QLineEdit(QWidget *parent = nullptr):创建一个 QLineEdit 对象,可以指定父对象。
  • setText(const QString &text):设置输入框中的文本。
  • text() const:返回当前输入框中的文本。
  • clear():清空输入框中的文本。
  • setPlaceholderText(const QString &text):设置占位符文本,提示用户输入内容。
  • setCursorPosition(int position):设置光标在文本中的位置。
  • selectAll():选择输入框中的所有文本。
  • setSelection(int start, int length):选择指定范围的文本。
  • setMaxLength(int length):设置输入框中允许的最大字符长度。
  • setEchoMode(QLineEdit::EchoMode mode):设置回显模式,例如用于密码输入时隐藏文本。
  • setReadOnly(bool readOnly):设置输入框为只读模式。
  • setEnabled(bool enabled):启用或禁用输入框。
  • textChanged(const QString &text):当文本发生变化时发出信号。
  • setInputMask(const QString &inputMask):设置输入掩码。
  • setValidator(const QValidator *v):设置输入验证器。
  • returnPressed():当用户按下回车键时发出信号。
  • editingFinished():当编辑完成(如输入框失去焦点)时发出信号。
  • textChanged(const QString &text):当文本内容改变时发射。
  • textEdited(const QString &text):当用户编辑文本内容时发射。
  • cursorPositionChanged(int, int):当光标位置发生变化时发出此信号,参数为光标改变前后的位置。
  • selectionChanged():当选区发生变化时发出此信号,例如用户选择或取消选择文本时。
#include <QApplication>  
#include <QLineEdit>  
#include <QWidget>  
#include <QFormLayout>  
#include <QVBoxLayout>  
#include <QPushButton>  
#include <QDebug>  class LoginWidget : public QWidget {  Q_OBJECT  public:  LoginWidget(QWidget *parent = nullptr) : QWidget(parent) {  QVBoxLayout *layout = new QVBoxLayout(this);  QFormLayout *formLayout = new QFormLayout();  QLineEdit *usernameEdit = new QLineEdit(this);  QLineEdit *passwordEdit = new QLineEdit(this);  passwordEdit->setEchoMode(QLineEdit::Password);  formLayout->addRow("用户名:", usernameEdit);  formLayout->addRow("密码:", passwordEdit);  layout->addLayout(formLayout);  QPushButton *loginButton = new QPushButton("登录", this);  layout->addWidget(loginButton);  connect(loginButton, &QPushButton::clicked, this, &LoginWidget::onLoginClicked);  }  private slots:  void onLoginClicked() {  // 在这里处理登录逻辑  QLineEdit *usernameEdit = findChild<QLineEdit*>("usernameEdit");  QLineEdit *passwordEdit = findChild<QLineEdit*>("passwordEdit");  qDebug() << "用户名:" << usernameEdit->text();  qDebug() << "密码:" << passwordEdit->text();  }  
};  int main(int argc, char *argv[]) {  QApplication app(argc, argv);  LoginWidget widget;  widget.show();  return app.exec();  
}  

觉得有帮助的话,打赏一下呗。。

           

http://www.lryc.cn/news/469539.html

相关文章:

  • DevEco Studio的使用 习题答案<HarmonyOS第一课>
  • 鸿蒙网络编程系列36-固定包头可变包体解决TCP粘包问题
  • 【华为路由】OSPF多区域配置
  • 【C++初阶】一文讲通C++内存管理
  • Vue学习笔记(九、简易计算器)
  • Maven 不同环境灵活构建
  • 第三十篇:TCP连接断开过程,从底层说明白,TCP系列五
  • 代码随想录算法训练营第七天| 哈希表理论基础 454.四数相加II 383.赎金信 15.三数之和 18.四数之和
  • 搜维尔科技:Manus新品发布Metagloves Pro专业版,专为高精度需求的客户打造,尤其是人形机器人产业与人机工效研究使用
  • Spring Boot实现的动态化酒店住宿管理系统
  • 数字IC后端实现Innovus |给各种IP子模块添加port buffer和antenna diode万能脚本
  • 反向代理服务器---NGINX
  • unity3d————场景管理类SceneManager
  • 鹅厂面试官:Transformer 为何需要位置编码?
  • MySQL数据库学习指南
  • 算法刷题-小猫爬山
  • Maven项目管理工具-初始+环境配置
  • 【JavaEE初阶】网络编程TCP协议实现回显服务器以及如何处理多个客户端的响应
  • Android 中的串口开发
  • TensorRt OP
  • 构建负责任的人工智能:数据伦理与隐私保护
  • 微信小程序live-pusher和video同时使用,video播放声音时时大时小
  • MySQL 分库分表实战
  • MySQL—CRUD—进阶—(二) (ಥ_ಥ)
  • 时序分解 | TTNRBO-VMD改进牛顿-拉夫逊算法优化变分模态分解
  • 2024“源鲁杯“高校网络安全技能大赛-Misc-WP
  • CSS行块标签的显示方式
  • Go 语言中的 for range 循环教程
  • 青训营 X 豆包MarsCode 技术训练营--小M的比赛胜场计算
  • 海王3纯源码