gpt4 book ai didi

python - 如何使用 pyQT 复制此 tkinter 滚动行为?

转载 作者:太空宇宙 更新时间:2023-11-03 16:56:08 29 4
gpt4 key购买 nike

我想做的是获得一个彼此堆叠的 n 个元素的 ScrollView ,当它们不够大以保证事件滚动条时,它们被推到顶部。 (到目前为止,我已经设法使用 pyQT 获得类似的行为,但元素会扩展以适合窗口,这是我不想要的。以下是我尝试复制的一些图像:

当有一个元素(包括按钮两个)时,被推到顶部

One element

当元素较多时,仍然全部推到顶部

Multiple elements

当元素堆栈太高而无法在屏幕上显示时,滚动条将变为事件状态

Many elements

有谁知道我如何在 pyQT 中做到这一点?如果需要,我可以提供更多信息。谢谢

最佳答案

您需要将小部件放置在垂直布局中,然后在底部添加可扩展的垫片:

from PyQt4 import QtCore, QtGui

class Window(QtGui.QScrollArea):
def __init__(self):
super(Window, self).__init__()
self.setWidgetResizable(True)
widget = QtGui.QWidget(self)
layout = QtGui.QVBoxLayout(widget)
for text in 'One Two Three Four Five Six Seven'.split():
button = QtGui.QPushButton(text)
layout.addWidget(button)
layout.addStretch()
self.setWidget(widget)

if __name__ == '__main__':

import sys
app = QtGui.QApplication(sys.argv)
window = Window()
window.setGeometry(500, 300, 300, 200)
window.show()
sys.exit(app.exec_())

关于python - 如何使用 pyQT 复制此 tkinter 滚动行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35413874/

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