PyQt(Python+Qt)学习随笔:QScrollArea为什么不起作用未出现滚动条?

老猿在进行Scroll Area部件测试时,在下面的窗体中放置了一个Scroll Area部件,在部件上放了一个超长的文本标签,该标签文本的长度范围已经超出了Scroll Area部件的右边框,如图:

在这里插入图片描述
但是在运行时,界面却是如下:
在这里插入图片描述

并没有出现滚动条。老猿做了各种测试,甚至发现将ui文件生成的如下代码:
在这里插入图片描述
将上面代码中标黄色语句的改成:self.scrollArea.setWidget(self.label)
发现能正常处理,滚动条会出现。但Designer到代码的这个处理步骤是标准步骤,且老猿查了资料使用scrollAreaWidgetContents这种方式确实是标准处理方法。那肯定是有属性设置不对,但QScrollArea的属性就那么几个,老猿想到布局上,将窗口布局打开,同时将Scroll Area部件及label部件的大小策略进行了调整,还是不行。最后才发现Scroll Area部件跟窗口一样,本身也有布局,需要将其布局打开才行。通过鼠标右键单击Scroll Area部件,选择Lay out,弹出布局设置。如图:
在这里插入图片描述
设置Scroll Area部件的布局后,再生成代码运行,运行截图如下:
在这里插入图片描述
问题成功解决。

老猿Python,跟老猿学Python!

原文地址:https://www.cnblogs.com/LaoYuanPython/p/12570470.html