Qt|编辑框的使用总结
Qt 中有多少种编辑框类型呢?
QLineEdit、QTextEdit、QPlainTextEdit、QTextBrowser
这么多编辑框控件那我们该如何使用呢?以及它们之间有什么共同点吗?
1:通用设置
因为这四个控件都是编辑框类型,那么对于相同功能的控件肯定存在了一定的相似性,首先我们来讲解下这个通用功能吧!
1.1 文字显示方式
在 Qt 中设置文本的显示方式一般采用"setAlignment"函数进行设置,当然了,如果你要是想用 QSS 的方式也是可以的。
举例:
注意!!!!在使用这个功能的时候,千万要记住 QPlainEdit 是不支持的哦~
1.2 能否编辑
这个功能主要是否可读
举例:
注意!!!!
当文本较多时,采用只读方式滚动条是无法操作的哦~
QTextBrowser 本身就是只读功能,是不需要这个功能的~
1.3 不选中文本
设置了该功能之后不会让 edit 控件设置成选中状态
1.4:注意
无论是哪个编辑控件,获取编辑框的行数都是无效的,这个功能我已经试过了!
2:QLineEdit
QLineEdit 是一个单行文本编辑控件
2.1 风格
2.2 显示模式
QLineEdit 有四种文本显示方式:
Normal、Password、PasswordEchoOnEdit、NoEcho
需要说明的是:PasswordEchoOnEdit
当焦点在控件上时,显示输入的文字,当控件失去焦点时,文字变成了与 Password 显示效果一致。
2.3 提示文字
这个功能是用于展示 edit 上展示的提示文本内容
2.4 字符串掩码
使用 inputMast()方法可以是 Edit 控件只允许输入自定义的格式字符串
常用的四种设置方式:
年份设置:
掩码模式
时间模式
模式 4
2.5 添加图标
一般来说,图标我们都只会添加到 QPushButton 这种控件上,其实,在编辑框控件中也是同样适用的。
假设:图标在左侧展示
左侧:LeadingPosition
右侧:TrailingPosition
展示效果
2.6 添加按钮
展示效果
如果要是想要特定风格的按钮,只需要自定义设置就行,这里只是实现了简单的功能,提供思路哦~
2.7 占位符文本颜色设置
设置方式:
在这里需要注意的是:
使用上述方法可以修改占位符的颜色,占位符设置成黄色,文本的颜色也会更换成黄色,不再是 #333333。
在 QLineEdit 的源代码中占位符设置了 alpha 属性,所以,始终会看到占位符显示的颜色会更暗一些。
3:QTextEdit
QTextEdit 用于多行文本展示,也可以显示 HTML 格式文本
3.1 风格
与 QLineEdit 不同的是,QTextiEdit 设置只读模式下文本背景颜色不生效!
3.2 提示文本
与 QLineEdit 不同,QTextEdit 中没有可直接调用的接口设置。需要通过信号 textChanged 来实时监控输入,从而控制输入的
信号:
实际用法:
其中,TextEdit_MAX_SIZE 是限制的输入大小
3.3 多行颜色值
代码实现:
展示效果
3.4 添加图片
在这里添加图片的方式有三种
第一种:通过 URL 直接添加
第二种:使用 QTextImageFormat 添加
第三种:使用 QTextDocumentFragment 添加
4:QPlainTextEdit
纯文本编辑框
4.1 风格
5:QTextBrowser
该控件无法编辑只用于显示
1:没有是否编辑功能,因为本身就是只读属性
2:无法设置文本对齐方式,只能靠左显示
5.1 风格
5.2 文本自适应
5.3 最大显示行数
5.4 滚动条始终在低端显示
5.5 超链接
情况 1:访问本地文件
情况 2:访问网页
注意:在连接地址的开头需要加上 file:///协议,作用是访问本机的文件路径
用到的消息
该函数的实际应用
点击 QTextBrower 控件上的“显示文本”,直接访问到 001.mp4 视频。
此时,有一个问题出现,当关闭播放视频后,页面会有假死的状态,QTextBrower 控件中出现一些乱码。
解决这种问题的方法是:在访问本地路径后,直接清除本地信息。
总结
到这里,QT 中用于编辑文本的控件介绍就已经结束了,如果还需要其它的功能,我会继续跟进哟~
我是中国好公民 st,一名 C++开发程序媛~
版权声明: 本文为 InfoQ 作者【中国好公民st】的原创文章。
原文链接:【http://xie.infoq.cn/article/910b89b6e1b0800f41be2f66a】。文章转载请联系作者。
评论