Удалить текущий выбранный элемент из QTreeWidget

Я работаю с приложением Qt GUI, и у меня есть QTreeWidget со значениями. Я добавил каждое значение к дереву следующим образом:

QTreeWidgetItem *node = new QTreeWidgetItem();
node->setText(0, m_stringList[i];
node->setFlags(Qt::ItemIsSelectable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemisDragEnabled);
ui->sourceTreeWidget->addTopLevelItem(node);

Сейчас я пытаюсь реализовать кнопку удаления, позволяющую пользователю выбрать один или несколько элементов дерева, щелкнув их, а затем нажав кнопку удаления.

Кнопочная часть проста.

Часть, в которой мне нужна помощь, - это выяснить, как получить строковое / текстовое значение текущего выбранного элемента (ов) дерева.

У кого-нибудь есть советы или подсказки?


person Cody Pritchard    schedule 11.08.2015    source источник


Ответы (1)


В чем конкретно ваша проблема? Вы создаете SLOT для кнопки и получаете список выбранных элементов с помощью

QList<QTreeWidgetItem*> sel_items = ui->sourceTreeWidget->selectedItems();
for(int i=0; i<sel_items.size(); i++){
    ...
}

, как указано в документации для QTreeWidget. Затем вы можете просмотреть список и удалить их напрямую или просто получить the string/text value, как вы просили.

person Bowdzone    schedule 12.08.2015