Виджеты и макеты QScrollArea - PySide/PyQt
Я читал бесконечные примеры на nullege, а также предыдущие вопросы по этой теме на SO. Я полностью сбит с толку, пытаясь настроить QScrollArea
в моем проекте PySide UI. Вот чего я пытаюсь достичь:
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
и ScrollArea
,
Я на правильном пути здесь? Я не получаю никаких ошибок, и ScrollArea отображается так, как мне хотелось бы, но ScrollArea
и виджет (который гораздо шире, чем ScrollArea
Кажется, не связаны вообще.
Любое руководство будет с благодарностью!