Qt 单行文本控件 QLineEdit

2023-10-20 17:27:51 浏览数 (2)

QLineEdit 控件内容不是很多,如设置为密码显示模式、设置边距、设置匹配列表等等。没有什么特别特殊的功能,我们将所有代码先写进来,然后一点一点的说具体都起到了什么作用。

【代码如下】

代码语言:javascript复制
#include "cwidget.h"
#include <QLineEdit>
#include <QDebug>
#include <QCompleter>
#include <QStringList>

CWidget::CWidget(QWidget *parent) : QWidget(parent)
{
    // 一个最简单的 lineEdit
    QLineEdit* lineEdit = new QLineEdit(this);

    // 获取文本
    QString lineEditText = lineEdit->text();
    qDebug() << lineEditText;

    // 设置显示模式,常用于登录框
    lineEdit->setEchoMode(QLineEdit::Password); // 密码
    //lineEdit->setEchoMode(QLineEdit::NoEcho);   // 什么都不显示
    //lineEdit->setEchoMode(QLineEdit::Normal);   // 正常模式

    // 设置内边距
    lineEdit->setTextMargins(30, 10, 30, 10);

    // 设置输入提示
    QStringList strList;
    strList.append("abc");
    strList.append("bcd");
    strList.append("china");
    strList.append("cde");

    // 将列表应用于匹配规则
    QCompleter* completer = new QCompleter(strList);
    // 设置匹配模式为包含匹配,就是当我们输入一个字符时
    // 无论这个字符是否在首位置都显示匹配的字符串
    completer->setFilterMode(Qt::MatchContains);
    lineEdit->setCompleter(completer);
}

【获取 QLineEdit 文本】

代码语言:javascript复制
// 获取文本
QString lineEditText = lineEdit->text();
qDebug() << lineEditText;

这里通过 qDebug 调试打印了出来,可以通过 Qt 下方看到提示信息。

【设置显示模式】

代码语言:javascript复制
// 设置显示模式,常用于登录框
lineEdit->setEchoMode(QLineEdit::Password); // 密码
//lineEdit->setEchoMode(QLineEdit::NoEcho);   // 什么都不显示
//lineEdit->setEchoMode(QLineEdit::Normal);   // 正常模式

一般最常用的就是 Password 模式了,他可以让 QLineEdit 变为一个密码框输入控件。

【设置框内内边距】

代码语言:javascript复制
// 设置内边距
lineEdit->setTextMargins(30, 10, 30, 10);

【设置输入提示】

代码语言:javascript复制
// 设置输入提示
QStringList strList;
strList.append("abc");
strList.append("bcd");
strList.append("china");
strList.append("cde");

// 将列表应用于匹配规则
QCompleter* completer = new QCompleter(strList);
// 设置匹配模式为包含匹配,就是当我们输入一个字符时
// 无论这个字符是否在首位置都显示匹配的字符串
completer->setFilterMode(Qt::MatchContains);
lineEdit->setCompleter(completer);

0 人点赞