将项目从一个QListWidget移动到另一个
我有两个列表,一个是源列表,另一个是目标列表,还有一个按钮。每当我点击这个按钮时,我想把源列表中选中的项目移除,并放到目标列表里。我试过用 source_list.removeWidgetItem(aSelectedItem)
,但是这个方法根本没有效果。:( 我哪里出错了呢?我是不是需要在之后更新一下列表?
1 个回答
5
takeItem
这个函数会从源列表中取出一个项目,并给你一个指针,你可以用这个指针把它添加到你的目标列表里。就像这样:
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()));
}