你需要把在垂直佈局的窗口小部件,然後在底部添加一個可膨脹的隔:
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_())