QWidget 内に QLabel と QLineEdit があります。QScrollArea 内にウィジェットがある場合、行の編集が拡張されず、ウィンドウの余分な幅を占有しません。ウィジェットがスクロール領域内にない場合、ウィジェットは拡張されます。
ライン編集とウィジェットのサイズポリシーを横に拡大するように設定してみましたが、余分なスペースを占有しません。スクロール領域内でウィジェットの sizeHint() が圧縮されていると思われます。これを機能させる方法はありますか?
class MainWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self, None)
self.setWindowTitle('Test Window')
self.resize(500, 250)
scrollArea = QtGui.QScrollArea()
scrollWidget = QtGui.QWidget()
scrollWidget.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Maximum)
layout = QtGui.QGridLayout(scrollWidget)
label = QtGui.QLabel("Name:")
layout.addWidget(label, 0, 0)
lineEdit = QtGui.QLineEdit("Value")
lineEdit.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Maximum)
layout.addWidget(lineEdit, 0, 1)
scrollWidget.setLayout(layout)
scrollArea.setWidget(scrollWidget)
self.setCentralWidget(scrollArea)