Come si modifica il comportamento di un QListWidget
in modo che ridimensioni l'altezza anziché scegliere un'altezza (apparentemente arbitraria) e l'aggiunta di barre di scorrimento? Visualizza gli screenshot:QListWidget che ridimensiona invece di pergamene
I QListView
's deve riempire lo stesso spazio in orizzontale in quanto possono (creando il maggior numero di 'colonne', se si vuole.) Poi si avvolgono e fanno tante righe se necessario per misura tutti gli articoli. Questi calcoli dovrebbero essere regolati man mano che la finestra viene ridimensionata. Funziona tutto bene.
Tuttavia, quello che voglio che accada è che invece di l'altezza rimanere lo stesso, il QListView
dovrebbe crescere o restringersi in verticale e mai bisogno eventuali barre di scorrimento. Lo scrolling, se necessario, verrà gestito sul genitore QWidget
che ospita tutte le etichette e gli elenchi. Sembra che una volta stabilita l'altezza dello QListWidget
(non si sa da dove provenga il suo valore predefinito), non cambia mai. In alcuni casi è troppo grande (vedi la seconda lista "Test" sopra) e troppo piccola in altri (vedi la prima lista di "mappe vuote" sopra).
Il layout sopra non è sorprendente: due QLabel
e due QListWidget
's in una QVBoxLayout.
Qui ci sono le proprietà che ho impostati sulle QListWidget
' s:
setMovement(QListView::Static);
setResizeMode(QListView::Adjust);
setViewMode(QListView::IconMode);
setIconSize(QSize(128, 128));
(ho già provato a installare le politiche barra di scorrimento orizzontale e verticale, ma che appena gira le barre di scorrimento fuori, ritaglio il contenuto non. quello che voglio.)
OK, questo è molto, molto vicino. Funziona benissimo finché il QScrollBox non è nella foto. Non appena aggiungo questo, il QVBoxLayout diventa più magro possibile e il più a lungo possibile. (Restituisce sizeHint di QSize (197, 942).Ho provato ogni combinazione di QWidget :: setSizePolicy e QLayout :: setSizeConstraint a cui posso pensare, e nulla sta cambiando questo comportamento. Qual'è il segreto? –
'QScrollArea :: setWidgetResizable()' FOR. IL. VINCI !!! Grazie mille per il tuo aiuto ... Ho perso 2 giorni facendo giu 'il sentiero del coniglio di 'QListWidget'. –