Domanda

Devo QListWidgets, una lista delle sorgenti, una lista destino e un pulsante. Ogni volta che il pulsante viene premuto, voglio che l'elemento selezionato (s) dalla lista sorgente per essere rimosso e inserito nella lista destino. Ho cercato di source_list.removeWidgetItem(aSelectedItem), ma che non ha nemmeno fare una cosa. :( Che cosa sto facendo di sbagliato? Ho bisogno di aggiornare l'elenco in seguito in qualche modo?

È stato utile?

Soluzione

takeItem avrà l'elemento dalla source_list e darvi un puntatore ad esso è possibile utilizzare per aggiungere alla vostra lista di destinazione. Qualcosa di simile:

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()));
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top