我已经阅读了关于nullege的无数例子,以及之前有关SO的主题。我在尝试在PySide UI项目中设置QScrollArea
时感到非常困惑。这就是我想要实现的目标:
QWidget
或QFrame
充当页面上的容器。
QWidget/QFrame
包含8个Pixmapped标签。
只有2个Pixmapped标签可以适应'一次在屏幕的可见部分内。
使用QScrollArea
,使用水平滚动条可以看到QWidget/QFrame
的整个范围。
从理论上讲,这非常简单,但我无法弄清楚QScrollArea
与QWidget/QFrame
的关联方式,以及我是否还需要QLayout
。此时,存在水平滚动条,但滚动不可用。这就是我到目前为止所拥有的:
#Oscar Home Scroll Area - Scroll Area#
self.ScrollAreaOscarHome = QtGui.QScrollArea(self)
self.ScrollAreaOscarHome.setGeometry(QtCore.QRect(12, 180, 1000, 570))
self.ScrollAreaOscarHome.setVisible(True)
self.ScrollAreaOscarHome.setFrameShape(QtGui.QFrame.NoFrame)
self.ScrollAreaOscarHome.setObjectName("ScrollAreaOscarHome")
self.ScrollAreaOscarHome.setWidgetResizable(True)
self.ScrollAreaOscarHome.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
self.ScrollAreaOscarHome.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
#Oscar Home Container Widget - Widget#
self.WidgetOscarHomeContainer = QtGui.QWidget()
self.WidgetOscarHomeContainer.setGeometry(QtCore.QRect(12, 180, 2000, 570))
self.WidgetOscarHomeContainer.setObjectName("WidgetOscarHomeContainer")
self.ScrollAreaOscarHome.setWidget(self.WidgetOscarHomeContainer)
#Oscar Home Horizontal Layout - QHBoxLayout#
self.OscarHomeHorizontalLayout = QtGui.QHBoxLayout(self.WidgetOscarHomeContainer)
我已经包含了上面的QHBoxLayout
部分,因为之前我读过的示例使用的是Layout
,但我不确定它是如何适应Widget
的。{{I} 1}}和ScrollArea
。
我在这里走在正确的轨道上吗?我没有收到任何错误,ScrollArea显示为我喜欢,但ScrollArea
和Widget(比ScrollArea
宽得多)不是似乎完全没有联系。
非常感谢任何指导!