pyqt5加滚动条
这个问题真的困扰我好久。自己用pyqt画的一张图,但是由于画得太大GUI显示不出来,需要加一个滚动条辅助观看。在我查阅了众多大佬的博客之后,解决了这个问题。记录一下自己的解决过程。
首先,我的图长这样:
由于有点涉及其他不方便透露东西,我只能先马赛克一下
要加滚动条,首先要弄明白滚动条的组成:
网上有很多大佬做的demo是QButton和QLabel加滚动条,但是我的需求是要把我画图的界面QWeight加滚动条,所以我们直接换一下,如下图。
虽然看起来有点怪怪的,但事实确实是这样。
在需要的class里面加入下面代码(加在init函数里面):
w = QWidget()
self.setCentralWidget(w)
self.topFiller = Three()
self.topFiller.setMinimumSize(400, 500) # 设置滚动条的尺寸
self.scroll = QScrollArea()
self.scroll.setWidget(self.topFiller)
self.vbox = QVBoxLayout()
self.vbox.addWidget(self.scroll)
w.setLayout(self.vbox)
self.statusBar().showMessage("demo")#底部信息栏
关系图:
这个Three()是我自己写的一个继承了Qweight的class,用的时候记得替换它。
那就记录到这里吧!