QT原生控件-QLineEdit的使用及样式

前言


本文主要介绍的是使用代码生成的情况下对控件的介绍,包括拥有的功能及能修改的样式,也会说明在qtdesiner拖拽控件生成和使用代码生成控件的区别(如果有的话,遇到了的会说),此版本不属于最终版本,以后遇到什么新奇的点会继续更新!本文基于QT官方的文档进行的编写,QT版本为qt 5.14.0,编写环境为Windows11。不得不说官方文档真是个好东西,有时候有些不会的上去一看就能有灵感解决了,可惜没有中文版本的。

一、QLineEdit初步介绍

QLineEdit是QT开发中最常用的控件之一,单行文本输入控件。一般应用于用户简单文本输入的一些常见场景,和QTextEdit的接口样式都差不多,但是QTextEdit适用于多行文本输入。

二、基本功能

1.创建

QLineEdit* edit = new QLineEdit("支持默认文本");

2.文本内容操作

1)text()
获取编辑框中的实际文本

QString text() const

2)clear()
清空文本内容

void clear()

3.编辑控制

1)setReadOnly()
设置是否为只读模式

void setReadOnly(bool)

2)isReadOnly()
只读模式检测

bool isReadOnly() const

3)setMaxLength()
设置最大输入长度

void setMaxLength(int)

4)maxLength()
查询最大输入长度

int maxLength() const

5)setClearButtonEnabled()
设置清除按钮是否可见

void setClearButtonEnabled(bool enable)

在这里插入图片描述

4.光标操作

1)cursorPosition()
获取当前光标位置

int cursorPosition() const

2)setCursorPosition()
设置当前光标位置

void setCursorPosition(int)

3)home()
移动光标到行首

void home(bool mark) 

5)end()
移动光标到行尾

void end(bool mark)

6)setCursorMoveStyle()
设置光标移动风格

void setCursorMoveStyle(Qt::CursorMoveStyle style)
/*
Qt::LogicalMoveStyle:在从左到右的文本块内,按左箭头键时减少光标位置,按右箭头键时增加光标位置。如果文本块是从右到左的,则应用相反的行为。
Qt::VisualMoveStyle:按下左箭头键将始终使光标向左移动,无论文本的书写方向如何。 按右箭头键将始终使光标向右移动。
*/

7)光标移动操作(前移/后移)

void cursorBackward(bool mark, int steps = 1)
void cursorForward(bool mark, int steps = 1)
void cursorWordBackward(bool mark)
void cursorWordForward(bool mark)

5.文本选择

1)setSelection()
设置文本选中区域

void setSelection(int start, int length)

2)hasSelectedText()
判断是否有选中的文本

bool hasSelectedText() const

3)selectedText()
获取选中的文本内容

QString selectedText() const

4)获取选中区域的起始位置和长度

int selectionStart() const
int selectionEnd() const
int selectionLength() const

5)deselect()
取消文本选择

void deselect()

6.内容插入与删除

5)insert()
在光标处插入文本

void insert(const QString &newText)

5)backspace()
删除光标前的一个字符(相当于Backspace)

void backspace()

5)del()
删除光标后的一个字符(相当于Delete)

void del()

7.显示设置

1)setEchoMode()
设置回显模式

void setEchoMode(QLineEdit::EchoMode)
/*
QLineEdit::Normal    // 正常显示
QLineEdit::NoEcho    // 不显示输入字符
QLineEdit::Password  // 显示密码字符(默认•)
QLineEdit::PasswordEchoOnEdit // 只在编辑时显示正常字符
*/

1)setPlaceholderText()
占位符设置

void setPlaceholderText(const QString &)

在这里插入图片描述

8.扩展中。。。

三、信号

1)textChanged
文本改变时触发(包括程序设置)

void textChanged(const QString &text)

2)textEdited
用户编辑文本时触发

void textEdited(const QString &text)

3)returnPressed
用户按下回车键

void returnPressed()

4)editingFinished
编辑完成(失去焦点)

void editingFinished()

4)cursorPositionChanged
光标位置改变触发

void cursorPositionChanged(int oldPos, int newPos)

4)selectionChanged
选中区域改变触发

void selectionChanged()

4)inputRejected
无效输入时触发,例如最大输入长度限制为2,但输入超过2时触发

void inputRejected()

四、QLineEdit样式

选择器

1):read-only
只读状态

QLineEdit:read-only 
{
    background-color: #f8f8f8;
}

2):disabled
禁用状态

QLineEdit:disabled 
{
    color: #999;
    background-color: #f5f5f5;
}

3):hover
鼠标悬停

QLineEdit:hover
{
    border-color: #888;
}

4):focus
获得焦点时的样式

QLineEdit:focus 
{
    border: 1px solid #4d94ff;
    box-shadow: 0 0 4px rgba(77, 148, 255, 0.3);
}

本次分享就到这里了,如果有什么错误的话请指正,或者有什么疑问的,也可以在评论区一起探讨!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值