前言
想做一个弹窗去公告一些消息,但是普通的QLabel如果文本太长就会超出框框的范围,想要实现在固定范围内显示,可以滚动查看的效果,网上查了查参考了一些代码,想要通过QT Designer直接实现,过程如下
制作UI
- ScrollArea
在画布上放一个ScrollArea,调整到想要的大小和位置
- 调整scrollAreaWidgetContents
scrollAreaWidgetContents是ScrollArea的子物体,是一个widget,所有的滚动内容物都应该放在这个中间层上,其最大宽高就是最终能够滚动查看的范围,在设置完最大最小宽高后,就出现滚动条了
- 禁用水平滚动条
这里我们只想要垂直方向的滚动条,在ScrollArea的熟悉里把horizontalScrollBarPolick禁用掉就好了
- 文本
直接拖拽一个QLabel组件到scrollAreaWidgetContents上,先设置好宽度和滚动区域相同
- 添加文本
给text内添加文本,可以看到上述的效果,并不是我们期望的,显示不全,而且
- 设置自动换行和锚点
设置锚点文本靠左上,设置QLabel的WordWrap属性,超宽了会直接自动换行,很方便,但是因为QLabel的高不够,所以文本依然显示不全
- 调整文本的高度
这里调整文本的高度,直到完全能够显示位置,但发现滚动区域太长了
- 调整scrollAreaWidgetContents高度
根据文本高度调整滚动区域的高度
推送
- Github
https://github.com/KingSun5
结语
若是觉得博主的文章写的不错,不妨关注一下博主,点赞一下博文,另博主能力有限,若文中有出现什么错误的地方,欢迎各位评论指摘。
本文属于原创文章,转载请著名作者出处并置顶!!