1

我已经阅读了无数关于 nullege 的示例,以及之前关于 SO 的这个主题的问题。QScrollArea我对尝试在我的 PySide UI 项目中设置一个完全感到困惑。这是我想要实现的目标:

A QWidgetorQFrame充当页面上的容器。包含 8个QWidget/QFrame像素映射标签。一次只有 2 个像素映射标签可以“适合”屏幕的可见部分。使用A以便使用水平滚动条可以看到QScrollArea整个范围。QWidget/QFrame

从理论上讲,这真的很简单,但我就是不知道如何与QScrollArea链接QWidget/QFrame,以及我是否也需要 a 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,但我不确定它如何适合WidgetScrollArea

我在正确的轨道上吗?我没有收到任何错误,并且 ScrollArea 正在按我的意愿显示,但是ScrollAreaand Widget(比 Widget 宽得多ScrollArea)似乎根本没有链接。

任何指导将不胜感激!

4

0 回答 0