[Qt]如何用好QScrollArea

来源:互联网 发布:古风网络歌曲 编辑:程序博客网 时间:2024/06/07 05:06

原创文章,欢迎转载。转载请注明:转载自 祥的博客

原文链接:http://blog.csdn.net/humanking7/article/details/78559692


问题提出

有些时候,我们界面能展示的区域被限定的很小,但是需要展现的控件、内容却很多,在限定大小的区域中无法全部显示。这个时候就需要滚动条了。在Qt中有一个很好的类 QScrollArea

如下图所示,左边是界面被压缩限制时,显示的情况。右边是完全展示出的界面情况。

pic1

使用方法

本文直接用 Qt Designer 去设计ui文件,当然也可以直接在代码中写。

Step1.拖入QScrollArea

Widget box中找到QScrollArea控件,拖入窗体。

pic2

Step2.改变widget控件布局

其目的,就是让scrollArea随着窗体变化而变化。

pic3

Step3.设置scrollAreaWidgetContents大小

现在的窗体即时缩小到最小的情况,也不会出现滚动条,如下图所示。
pic4

这是因为我们没有设置scrollAreaWidgetContents这个控件的最小值。

  • 正常情况下将scrollAreaWidgetContents中的内容展示完全大小,如geometry所示为[201 x 174]
  • 将它的minimumSize设置为[200 x 170]

这样当界面的面积小于[200 x 170]时,界面就会出现滚动条。
pic5

pic6

原创粉丝点击