2010-11-01 8 views
5

Estoy usando Qt Creator 2.0.1 (Qt 4.7). Necesito un widget que pueda contener varias casillas de verificación verticalmente. Las casillas de verificación se agregarán dinámicamente al widget luego de la interacción del usuario con otro elemento de la interfaz de usuario. El widget tendrá ancho y alto fijos, por lo que si hay demasiadas casillas de verificación, debería aparecer una barra de desplazamiento vertical.Agregando lista de casillas de verificación en un solo widget en Qt

Lo que quiero es imaginar un QListWidget, donde los elementos de la lista pueden ser casillas de verificación.

¿Qué widget me permitirá hacer eso?

Gracias.

Respuesta

0

Una alternativa a QListWidget es un QScrollArea con un widget dentro, que tiene un QVBoxLayout. A ese diseño, puede agregar QCheckboxes dinámicamente. Debe llamar a updateGeometry() después de agregar un nuevo widget, de lo contrario la UI podría no actualizarse si ya está visible.

11

Use QListWidget para el área.

QStringList itemLabels= getLabels(); 

QStringListIterator it(itemLabels); 
while (it.hasNext()) 
{ 
     QListWidgetItem *listItem = new QListWidgetItem(it.next(),listWidget); 
     listItem->setCheckState(Qt::Unchecked); 
     ui->listWidget->addItem(listItem); 
} 

esto hará que todos los elementos sean verificables automáticamente y cuando la lista aumente, habilitará el desplazamiento.

+0

Además, si construye QListWidgetItem con el widget de lista como su widget principal, no es necesario agregar el elemento a la lista. – asclepix

Cuestiones relacionadas