为什么我不能添加或删除 QListWidgetItem?

Why can't I add or remove a QListWidgetItem?

我的 ui 有两个 ListWidget,我想将一个 QListWidgetItemavailableMeasurementsListWidget 移到 selectedMeasurementListWidget

但这对我不起作用。没有添加到 selectedMeasurementListWidget 中,并且该项目不会从 availableMeasurementsListWidget 中删除。为什么?

只有工作人员才能显示 qDebug() << item->text();

的文本
void ChartSettingsWindow::on_availableMeasurementsListWidget_doubleClicked(const QModelIndex &index)
{
    Q_UNUSED(index);
    QListWidgetItem *item = ui->availableMeasurementsListWidget->currentItem();
    qDebug() << item->text();
   ui->selectedMeasurementListWidget->addItem(item);
    ui->availableMeasurementsListWidget->removeItemWidget(item);
}

请注意 QListWidget:: removeItemWidget 不会从 QListWidget 中删除 QListWidgetItem:它只是...

Removes the widget set on the given item.

To remove an item (row) from the list entirely, either delete the item or use takeItem().

所以你可能想要类似...

auto *available = ui->availableMeasurementsListWidget;
auto *selected  = ui->selectedMeasurementListWidget;
auto *item      = available->currentItem();
selected->addItem(available->takeItem(available->indexFromItem(item).row()));