Tengo QLabel y QLineEdit dentro de un QWidget. Cuando tengo el widget dentro de un QScrollArea, la edición de línea no se expande para ocupar el ancho excesivo de la ventana. Cuando el widget no está dentro del área de desplazamiento, sí se expande.Cómo hacer que QLineEdit se expanda dentro de QScrollArea
He intentado establecer la política de tamaño de la línea de edición y el widget, para expandir horizontalmente, pero no ocupa el espacio sobrante. Sospecho que el sizeHint() del widget se compacta cuando está dentro de un área de desplazamiento. ¿Alguna idea de cómo hacer que esto funcione?
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)
¡Perfecto! ¡Gracias! – Graeme