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();  
}  
觉得有帮助的话,打赏一下呗。。
 
           
