Pregunta

Tengo que QListWidgets, una lista de origen, una lista de destino y un botón. Cada vez que se hace clic en el botón, quiero que los elementos seleccionados de la lista de origen se eliminen e se inserten en la lista de Destiny. lo intenté source_list.removeWidgetItem(aSelectedItem) Pero eso ni siquiera hace nada. :( ¿Qué estoy haciendo mal? ¿Necesito actualizar la lista después de alguna manera?

¿Fue útil?

Solución

takeItem Tomará el elemento de Source_List y le dará un puntero que puede usar para agregarlo a su lista de destino. Algo como:

source_list = new QListWidget();
dest_list = new QListWidget();
new QListWidgetItem(tr("Oak"), source_list);
new QListWidgetItem(tr("Birch"), source_list);
connect(source_list, SIGNAL(clicked(QModelIndex)), this, SLOT(swapEntry(QModelIndex)));


void MyWidget::swapEntry(QModelIndex index)
{
    dest_list->insertItem(dest_list->count(), source_list->takeItem(index.row()));
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top