【Qt】QLineEdit | QTextEdit

QLineEdit —— 单行输入框

QLineEdit 的属性

QLineEdit ——表示 单行输入框 可以输入一段文本 但是不能换行

text —— 输入框中的文本
(text属性 不仅仅可以通过代码来设置 用户在输入框中进行编辑 也会影响到 text 值的变化 即 直接操作界面上的文本 text属性会发生改变 )

inputMask ——输入内容格式约束

maxLength ——最大长度

frame —— 是否添加边框

echoMode —— 显示方式
QLineEdit::Normal : 这是默认值 文本框会显示输入的文本
QLineEdit::password : 这种模式下 输入的字符会被隐藏 通常用 星号 * 和 等号 = 代替
QLineEdit :: NoEcho : 这种模式下 文本框不会显示任何输入的字符

cursorPosition ——光标所在位置

alignment ——文字对齐方式 设置水平和垂直方向的对齐

dragEnabled ——是否允许拖拽

readOnly ——是否是只读的(不允许修改)

placeHolderText —— 当输入框内容为空的时候 显示什么样的提示信息

clearButtonEnabled ——是否会自动显示出清除按钮


核心信号

void cursorPositionChaged(int old int new)
当鼠标移动时发出信号 old 为先前的位置 new 为新的位置

void editingFinished()
当按返回或者回车键时 或者行编辑失去焦点 发出此信号

void returnPressed()
当返回或回车键按下时发出此信号
如果设置了验证器 必须要验证通过 才能触发

void selectionChanged()
当选中的文本改变时 发出此信号

void textChanged( const QString & text)
当QLineEdit中的文本改变时 发出此信号 text是新的文本 代码对文本的修改能够触发这个信号

void textEdited (const QString &text)
当QLineEdit中的文本改变时 发出此信号 text是新的文本 代码对文本的修改不能触发这个信号


QLineEdit的使用

通过 setPlaceholderText 函数 当输入框为空时 显示 请输入姓名


通过 setClearButtonEnabled 函数 当输入文本时 后面出现一个清除按钮 可以将显示的所有文本内容清除


通过 setEchoMode 函数 将输入的文本 全部替换成 圆点


通过 setInputMask 函数 对输入框的内容进行简单的校验


验证两次输入的密码一致

通过 setEchoMode 函数 将 输入框1和输入框2中 的文本 全部替换成 圆点


通过 textEdit 信号 来触发两个输入框的判定
输入框1对应的槽函数 与 输入框2对应的槽函数 内容相同
使用s1 和 s2 接收对应 输入框1 和 输入框2 中的文本
若s1 与 s2 都为空 则 显示 密码为空 若s1 与s2 文本相同 则显示 两次输入的密码一致
若 s1 与 s2 不同 则 显示 两次输入密码不一致


运行程序后 由于输入框中没有任何内容 所以 label 显示 密码为空
当输入框1中的内容 和 输入框2中的内容 相同时 label中显示 两次输入的密码一致
当输入框1中的内容 与 输入框2中的内容不一致时 label中显示 两次输入的密码不一致


QTextEdit —— 多行输入框

QTextEdit 的属性

QTextEdit 表示多行输入框 也是一个 富文本 和 markdown 编辑器
并且能在内容超出编辑框范围时自动提供滚动条


markdown ——输入框持有的内容 支持markdown格式 能够自动对 markdown 文本进行渲染成html

html ——输入框内持有的内容 可以支持大部分html 标签 包括 img 和 table 等

placeHolderText ——输入框为空时提示的内容

readOnly ——是否是只读的


undoRedEnable 是否开启 undo / redo 功能
按下 ctrl + z 触发 undo (撤销)
按下 ctrl + y 触发 redo (对撤销的还原)


autoFormating ——开启自动格式化

tabstopWdith ——按下缩进占多少空间

overwriterMode ——是否开启覆盖写模式

acceptRichText ——是否接收富文本内容


verticalScrollBarPolicy ——垂直方向滚动条的出现策略
Qt::ScrollBarAsNeeded: 根据内容自动决定是否需要滚动条 这是默认值
Qt::ScrollBarAlwaysOff : 总是关闭滚动条
Qt:: ScrollBarAlwayOn : 总是显示滚动条


horizontalScrollBarPolicy ——水平方向滚动条的出现策略
Qt::ScrollBarAsNeeded: 根据内容自动决定是否需要滚动条 这是默认值
Qt::ScrollBarAlwaysOff : 总是关闭滚动条
Qt:: ScrollBarAlwayOn : 总是显示滚动条


核心信号

textChanged()
文本内容改变时触发

selectionChanged()
选中范围改变时触发


cursorPositionChanged()
光标移动时触发


undoAvailable(bool)
可以进行undo 操作时触发


redoAvailable(bool)
可以进行redo操作时 触发


copyAvaiable(bool)
文本被选中/取消选中时触发


QTextEdit 的使用

textChanged 信号

选择 textChaned 信号 (文本内容被改变时触发) 转到槽函数

通过 toPlainText 函数 获取到多行输入框中的内容
将获取到的输入框内容 打印到 label标签中


多行输入框中 输入什么内容 label 就跟着显示什么内容


selectionChanged 信号

选择 selectionChanged 信号 (选中范围改变时触发) 转到槽函数


textCursor 函数 返回一个 QTextCursor 对象 描述了当前光标的移动情况
selectedText 函数 表示 当前光标选中的内容
打印出当前光标选中的内容


当光标选中 fg 时 就会打印出 fg


cursorPositionChaned 信号

选择 cursorPositionChaned 信号 (光标移动时触发) 转到槽函数


textCursor 函数 返回一个 QTextCursor 对象 描述了当前光标的移动情况
Position 函数 表示 当前光标的位置


在输入框中 依次 输入 a b c d 光标位置从1依次增加到4 此时光标处于4的后面


undoAvailable 信号

选择 undoAvailable 信号 (可以进行undo 操作时触发) 转到槽函数


使用 qDebug 打印 对应的bool值


当在输入框中输入 abcd 时 显示为 true 表示可以 使用 ctrl+ z 进行撤销操作


redoAvailable 信号

选择 redoAvailable 信号 ( 可以进行redo操作时 触发) 转到槽函数


使用 qDebug 打印 对应的bool值


当对输入的abcd 使用撤销操作时 此时输入框为空 则无法再继续使用撤销操作
但是可以使用 对撤销操作的还原 即 使用 ctrl+y 将 abcd 复原


copyAvaiable 信号

选择 copyAvaiable 信号 (文本被选中/取消选中时触发) 转到槽函数


使用 qDebug 打印 对应的bool值


将 abcd 文本 选中时 copy 操作为 true 就可以复制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风起、风落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值