gpt4 book ai didi

python - QMainWindow 滚动时遇到问题

转载 作者:太空宇宙 更新时间:2023-11-03 19:33:24 25 4
gpt4 key购买 nike

一个最小的例子:

class MainWindow(QtGui.QMainWindow):
def __init__(self, parent = None):
QtGui.QMainWindow.__init__(self, parent)

winWidth = 683
winHeight = 784

screen = QtGui.QDesktopWidget().availableGeometry()
screenCenterX = (screen.width() - winWidth) / 2
screenCenterY = (screen.height() - winHeight) / 2
self.setGeometry(screenCenterX, screenCenterY, winWidth, winHeight)

layout = QtGui.QVBoxLayout()

layout.addWidget(FormA())

mainWidget = QtGui.QWidget()
mainWidget.setLayout(layout)

self.setCentralWidget(mainWidget)

FormA 是一个带有 VBoxLayout 的 QFrame,可以扩展到任意数量的条目。

在上面发布的代码中,如果表单中的条目无法容纳在窗口中,则窗口本身会增长。我希望窗口可以滚动。我也尝试过以下...

替换

    mainWidget = QtGui.QWidget()
mainWidget.setLayout(layout)

self.setCentralWidget(mainWidget)

    mainWidget = QtGui.QScrollArea()
mainWidget.setLayout(layout)

self.setCentralWidget(mainWidget)

如果表单和条目无法容纳在窗口中,则会导致它们缩小。

替换为

            mainWidget = QtGui.QWidget()
mainWidget.setLayout(layout)
scrollWidget = QtGui.QScrollArea()
scrollWidget.setWidget(mainWidget)

self.setCentralWidget(scrollWidget)

导致主窗口小部件(由表单组成)在窗口的左上角被挤压,在其右侧和底部留下大的空白区域,并且仍然不可滚动。

我无法对窗口的大小设置限制,因为我希望它可以调整大小。

如何使该窗口可滚动?

最佳答案

通过...完成

mainWidget = QtGui.QWidget()
mainWidget.setLayout(layout)

scrollWidget = QtGui.QScrollArea()
scrollWidget.setWidget(mainWidget)
scrollWidget.setWidgetResizable(True) # <---------------

self.setCentralWidget(scrollWidget)

关于python - QMainWindow 滚动时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4690979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com