QT 实现QWidget的滚动条(滚屏效果)

    最近在做一个页面,页面的长度不是固定的,也不能确定高度是多少,如果高度超过窗口的高度就要有滚动条出现,实现滚屏的效果,就像我们平时在浏览器中浏览绝大多数网页一样,都可以下来滚动条来实现滚屏。

    那么QT重能不能实现滚屏的效果呢,答案是肯定的。不过上网搜一下,有很多种方法,比如自己新建滚动条,然后连接上信号槽,当滚动条的位置发生变化时,就设置显示界面的位置来达到滚屏的效果。这样比较麻烦也比较容易出错。

    仔细在Qt Designer  中,我们会发现QScrollArea这个控件,其实这就是qt已经实现好的带有滚动条的控件。

QT 实现QWidget的滚动条(滚屏效果)_第1张图片

那么怎么使用呢?

    1.在Qt designer中,拖出来一个Scroll Area 控件。然后scroll area 就会默认新建一个叫做scrollAreaWidgetContents的QWidget控件,这个QWidget控件就是要显示内容的控件。


QT 实现QWidget的滚动条(滚屏效果)_第2张图片


    我们只需要在scrollAreaWidgetContents上按照要求添加控件就可以了!

(当然,我们也可以将QWidget  控件提升为我们自定义的另外的类。效果一样的!)

搞定!

你可能感兴趣的:(QT)