C++ (Qt)
connect(closeDocumentAct, &QAction::triggered, this, &MainForm::closeDocument);
странная конструкция учитывая что void MainForm::closeDocument(int index)
, а у сигнала triggered такое описание: void QAction::triggered(bool checked = false)
Я бы делал так:
C++ (Qt)
void MainForm::closeDocument() {
// Проверка на наличие текущего элемента и того что он на верхнем уровне
QTreeWidgetItem* item = treeWidget->currentItem();
int index = treeWidget->indexOfTopLevelItem(item);
if (!item || index == -1) {
return;
}
delete treeWidget->takeTopLevelItem(index);
}
Писал в браузере, поэтому мог ошибиться
Кст, те проверки можно было спокойно перенести в слот создания меню и например, если условия не подходят то просто не показывать (блокировать) указанное действие