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