网站开发与数据库有关系吗,利用业务时间做的网站与公司有关吗,门户媒体是指什么,17网一起做网站广州本例设置为垂直左侧scroll主要思想是利用一个长度为0的mid_frame#xff0c;高度为待设置qwidget的高度#xff0c;用mid_frame的moveEvent事件驱动qwidget的move我项目的效果图#xff1a;代码及注释from PyQt5.Qt import *from sys import argv# 主窗口class Main(QMainWi…本例设置为垂直左侧scroll主要思想是利用一个长度为0的mid_frame高度为待设置qwidget的高度用mid_frame的moveEvent事件驱动qwidget的move我项目的效果图代码及注释from PyQt5.Qt import *from sys import argv# 主窗口class Main(QMainWindow):def __init__(self):super().__init__(None)self.setGeometry(500, 500, 500, 500)# 实例化self.main MainFrame(self)self.scroll ScrollFrame(self, self.main, 40)self.show()def resizeEvent(self, e):# resize改变scroll窗口的高度使其与自己相同self.scroll.resize(self.scroll.width(), self.height())#需要配备scroll的窗口class MainFrame(QFrame):def __init__(self, father):super().__init__(father)self.father fatherself.setGeometry(50, 50, 100, 1500)# 测试按钮for i in range(15):b QPushButton(str(i), self)b.setGeometry(0, i*100, 100, 100)# 自定义滚轮事件def wheelEvent(self, e):if e.angleDelta().y() 0:self.move(self.x(), self.y() 60)else:self.move(self.x(), self.y() - 60)# 改变scroll的值self.father.scroll.bar.setValue(abs(self.y()))def resizeEvent(self, e):# resize改变mid_frame的高度使其与自己相同self.father.scroll.mid_frame.setGeometry(0, 0, 0, self.height())# 承载scrollarea的窗口class ScrollFrame(QFrame):def __init__(self, father, parent, pos_x):super().__init__(father)self.parent_, self.father, self.pox_x parent, father, pos_xself.mid_frame MidFrame(self)self.mid_frame.setGeometry(0, 0, 0, self.parent_.height())self.scroll QScrollArea()# 实例化verticalbar以供改变scroll的值self.bar self.scroll.verticalScrollBar()# 绑定中间窗口self.scroll.setWidget(self.mid_frame)# 自动隐藏和出现self.scroll.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded)# 加入到承载framelayout QGridLayout(self)layout.addWidget(self.scroll, 0, 0)self.setLayout(layout)# 设置承载fram的size和scrollarea一样self.setGeometry(pos_x, 0, 20, self.father.height())def resizeEvent(self, e):# resize改变scroll的s高度使其与自己一样self.scroll.setGeometry(0, 0, 20, self.height())# 接受scroll事件的中间窗口class MidFrame(QFrame):def __init__(self, father):super().__init__(father)self.father fatherdef moveEvent(self, e):# move事件绑定实际滚动窗口的moveself.father.parent_.move(self.father.parent_.x(), e.pos().y())app QApplication(argv)main Main()app.exec_()本例效果以上就是本文的全部内容希望对大家的学习有所帮助也希望大家多多支持我们。时间 2019-09-22