Ich habe ein QLabel und ein QLineEdit in einem QWidget. Wenn ich das Widget in einer QScrollArea habe, wird die Linienbearbeitung nicht erweitert, um die überschüssige Breite des Fensters zu belegen. Wenn sich das Widget nicht im Bildlaufbereich befindet, wird es erweitert.Wie man QLineEdit in QScrollArea erweitern kann
Ich habe versucht, die Größenrichtlinie der Zeile bearbeiten und das Widget, horizontal zu erweitern, aber es belegt nicht den überschüssigen Speicherplatz. Ich vermute, dass das sizeHint() des Widgets in einem Bildlaufbereich komprimiert ist. Irgendwelche Ideen, wie das funktioniert?
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)
Perfekt! Vielen Dank! – Graeme