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);