¿Cómo se cambia el comportamiento de un QListWidget
de modo que cambia el tamaño de su altura en lugar de elegir una altura (aparentemente arbitraria) y la adición de barras de desplazamiento? Ver imágen:QListWidget maneja el tamaño en lugar de rollos
Los QListView
's deben llenar tanto espacio horizontal, ya que pueden (la creación de la mayor cantidad de 'columnas', si se quiere.) A continuación, se envuelven y hacen tantas filas como sea necesario adaptarse a todos los elementos. Estos cálculos deben ajustarse a medida que se cambia el tamaño de la ventana. Esta todo trabajando bien.
Sin embargo, lo que yo quiero a pasar es que en vez de la altura se mantiene igual, el QListView
debe ampliarse o reducirse en forma vertical y no necesita ninguna barras de desplazamiento. El desplazamiento, si es necesario, se manejará en el padre QWidget
que alberga todas las etiquetas y listas. Parece que una vez que se establece la altura del QListWidget
(no estoy seguro de dónde viene su valor predeterminado), nunca cambia. Es demasiado grande en algunos casos (véase la segunda lista de "prueba" más arriba) y demasiado pequeños en otros (véase el primer "mapas en blanco" lista anterior.)
La disposición anterior es nada sorprendente: dos QLabel
's y dos QListWidget
's en un QVBoxLayout.
Estas son las propiedades que ha configurado en el QListWidget
' s:
setMovement(QListView::Static);
setResizeMode(QListView::Adjust);
setViewMode(QListView::IconMode);
setIconSize(QSize(128, 128));
(ya he intentado establecer las políticas de la barra de desplazamiento horizontal y vertical, sino que simplemente hace girar las barras de desplazamiento fuera, recorte el contenido no. lo que quiero.)
OK, esto está muy, muy cerca. Funciona muy bien siempre que QScrollBox no esté en la imagen. Tan pronto como agregue eso, QVBoxLayout se pone lo más delgado posible y mientras pueda. (Está regresando sizeHint of QSize (197, 942).He probado todas las combinaciones de QWidget :: setSizePolicy y QLayout :: setSizeConstraint que puedo pensar, y nada está cambiando ese comportamiento. ¿Cuál es el secreto? –
'QScrollArea :: setWidgetResizable()' FOR. EL. ¡GAN! Muchas gracias por su ayuda ... Perdí 2 días haciendo esa pista de conejo 'QListWidget'. –