Qt的控件--QLineEdit

本文详细介绍了Qt库中QLineEdit控件的各种属性,包括inputMask、maxLength、frame、echoMode等,以及相关接口函数的使用。inputMask允许设置输入数据格式,如IP地址或MAC地址;maxLength限制输入的最大长度;frame控制边框显示;echoMode设定回显模式,如普通、隐藏或密码模式。此外,还涵盖了光标位置、对齐方式、拖放功能、只读模式、占位符文本等功能及其对应的接口函数。同时,文章提及了信号和槽函数,如textChanged和editingFinished,用于响应文本变化和编辑完成事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

属性

在这里插入图片描述
Properties:

acceptableInput : const bool
alignment : Qt::Alignment
clearButtonEnabled : bool
cursorMoveStyle : Qt::CursorMoveStyle
cursorPosition : int
displayText : const QString
dragEnabled : bool
echoMode : EchoMode
frame : bool
hasSelectedText : const bool
inputMask : QString
maxLength : int
modified : bool
placeholderText : QString
readOnly : bool
redoAvailable : const bool
selectedText : const QString
text : QString
undoAvailable : const bool

inputMask:

输入的时候对输入的数据进行限制的。
如设置一下格式:

MaskNotes
000.000.000.000;IP address; blanks are _.
HH:HH:HH:HH:HH:HH;MAC address
0000-00-00ISO Date; blanks are space
>AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#License number; blanks are - and all (alphabetic) characters are converted to uppercase.

inputMask接口函数

QString inputMask() const:获取inputMask
void setInputMask(const QString &inputMask):设置inputMasks

test:

是显示输入框中的内容。

test接口函数

QString text() const:获取输入框中的文本
void setText(const QString &):设置显示的文本

信号
void textChanged(const QString &text):修改输入框的内容,发送信号

maxLength

设置输入框输入数据的长度。最大长度 32767.

maxLength接口函数

int maxLength() const:获取最大长度
void setMaxLength(int):设置最大输入的长度

frame

是设置输入框是否有线。

frame的接口函数

bool hasFrame() const:是否有线
void setFrame(bool):设置是否有线

echoModel

设置回显的模式,就是输入数据之后,数据的显示格式是怎样的。

EchoModel:

enum QLineEdit::EchoMode

ConstantValueDescription
QLineEdit::Normal0正常的显示模式
QLineEdit::NoEcho1输入不显示
QLineEdit::Password2输入显示黑圆圈
QLineEdit::PasswordEchoOnEdit3输入显示输入的内容,失去光标,显示内容变为黑圆圈

echoModel接口函数

QLineEdit::EchoMode echoMode() const:获取模式,是QLineEdit的枚举的类型
void setEchoMode(QLineEdit::EchoMode):设置回显的模式,参数是QLineEdit的EchoModel的枚举的类型。

cursorPosition

保存的是当前的编辑框的光标的位置。

cursorPosition接口函数

int cursorPosition() const:获取光标所在的位置
void setCursorPosition(int):设置光标的位置

alignment

保存的是对齐的方式,可以水平对齐和垂直对齐。

alignment接口函数

Qt::Alignment alignment() const:获取对齐方式
void setAlignment(Qt::Alignment flag):设置对齐的方式

dragEnabled

设置是否是可以进行拖动的。

dragEnabled接口函数

bool dragEnabled() const:获取是否可以拖动
void setDragEnabled(bool b):设置是否可以拖动

readOnly

设置是否为只可读模式,可读模式是用户不能够进行输入。

readOnly接口函数

bool isReadOnly() const:获取是否是只可读模式
void setReadOnly(bool):设置为是否是只可读模式

palceholderText

就是在用户没有输入的时候显示一个比较浅的提示信息,用户输入数据之后,就不再显示。

PalceholderRText接口函数

QString placeholderText() const:获取提示的内容
void setPlaceholderText(const QString &):设置提示的内容

cursorMoveStyle

光标移动的样式。

cursorMoveStyle接口函数

Qt::CursorMoveStyle cursorMoveStyle() const:获取光标移动的样式
void setCursorMoveStyle(Qt::CursorMoveStyle style):设置光标移动的样式

clearButtonEnbled

当输入框的内容不为空的时候是否显示清空所有输入的按钮。

clearButtonEnbled接口函数

bool isClearButtonEnabled() const:获取是否显示清空按钮
void setClearButtonEnabled(bool enable):设置是否有清空按钮

acceptableInput

此属性保存输入是否满足 inputMask 和验证器。

acceptableInput接口函数

bool hasAcceptableInput() const:判断输入是否满足intputMask和验证器

displayText

保存的是显示界面上的信息。

dispalyText接口函数

QString displayText() const:获取界面上输入框显示的内容。

selectedText

保存的是选择的文本。

selectedText接口函数

QString selectedText() const获取选择的文本

hasSelectedText

保存的是是否选择了文本。

hasSelectedText 接口函数

bool hasSelectedText() const:获取是否选择了文本。

modified

保存的是用户是否修改了编辑框的内容。修改之后会边成true,可以通过setModified()重新设置是否修改了。

modefied接口函数

bool isModified() const:判断内容是否修改了
void setModified(bool):重新设置是否修改

redoAvailable

重做,一旦用户对行编辑中的文本执行了一个或多个撤消操作,重做就变得可用。默认情况下,此属性为 false。
bool isRedoAvailable() const

undoAvailable

撤销,此属性保存撤消是否可用。一旦用户修改了行编辑中的文本,撤消就可用了。默认情况下,此属性为 false。
bool isUndoAvailable() const

公共的槽函数Public Slots

SlotsDescription
void clear()清空编辑框的内容
void copy() const拷贝
void cut()剪切
void paste()插入
void redo()重做
void selectAll()选择所有
void setText(const QString &)设置文本
void undo()撤销

信号Signals

SignalsDescription
void cursorPositionChanged(int oldPos, int newPos)光标移动会发送此信号
void editingFinished()编辑时候按下enter键,或者失去光标,确定输入完成了。
void inputRejected()输入错误的时候,或者按下的键是不满足inputMask或者验证器的,粘贴的时候超过了最大的长度。
void returnPressed()当按下 Return 或 Enter 键时会发出此信号。
void selectionChanged()选择的文本发生的改变
void textChanged(const QString &text)修改了文本框中的内容
void textEdited(const QString &text)每当编辑文本时都会发出此信号。 text 参数是新文本。与 textChanged() 不同,当以编程方式更改文本时,例如通过调用 setText(),不会发出此信号。
### QLineEdit 控件概述 `QLineEdit` 是 Qt 中用于单行文本输入的基础控件。该控件允许用户输入和编辑文本,并提供了多种方式来控制和验证用户的输入。 #### 创建 `QLineEdit` 创建一个简单的 `QLineEdit` 实例非常直观: ```cpp QLineEdit *lineEdit = new QLineEdit(parent); ``` 其中,`parent` 参数指定了父窗口部件。 #### 设置占位符文本 可以设置提示文字,在没有输入时显示给用户作为指导: ```cpp lineEdit->setPlaceholderText("请输入内容"); ``` #### 输入掩码 为了简化某些特定格式的数据输入(如电话号码、IP 地址),可以通过设定输入掩码实现自动填充部分字符并限定输入范围。对于 IP 地址的输入限制为例[^2]: ```cpp QString ipMask = "000.000.000.000"; this->line_ip->setInputMask(ipMask); ``` 此操作会使得每次输入都遵循指定模式,超出规定长度的部分无法录入。 #### 数据验证 ##### 正则表达式验证 针对更复杂的输入规则,则需借助于正则表达式的强大功能来进行精确匹配。例如,当需要确保用户输入的是有效的电子邮件地址时,可采用如下方法构建验证逻辑[^1]: ```cpp // 定义邮件格式的正则表达式 QRegularExpression emailPattern("[a-zA-Z0-9-]+@[a-zA-Z0-9-_]+\\.[a-zA-Z]+"); // 构建验证器对象并与目标控件关联 auto validator = new QRegularExpressionValidator(emailPattern, lineEdit_Email); lineEdit_Email->setValidator(validator); ``` 需要注意的是,在不同版本之间存在差异——Qt 6.0 及以上推荐使用 `QRegularExpressionValidator` 替代旧版中的 `QRegExpValidator` 来完成这项工作。 #### 响应事件 通过信号槽机制监听文本变化或其他交互动作的发生。比如每当文本发生改变时触发某个处理函数: ```cpp connect(lineEdit_SignalSlotExample, &QLineEdit::textChanged, [=](const QString& text){ qDebug() << "当前文本:" << text; }); ``` 上述代码片段展示了如何连接到 `textChanged()` 信号以便实时获取最新状态更新的信息流。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值