Qt 中,要獲取 QTreeView
節點完成編輯的信號,您可以使用 QTreeView
的 doubleClicked
信號以及重寫相應的編輯觸發函數。通常情況下,完成編輯后會觸發 closeEditor
信號。
以下是一個示例代碼,演示了如何實現這個功能:
// 連接信號與槽
connect(yourTreeView, &QTreeView::doubleClicked, this, &YourClass::onItemDoubleClicked);
connect(yourTreeView->itemDelegate(), &QAbstractItemDelegate::closeEditor, this, &YourClass::onCloseEditor);// 槽函數,處理雙擊事件
void YourClass::onItemDoubleClicked(const QModelIndex &index) {if (index.isValid()) {yourTreeView->edit(index);}
}// 槽函數,處理編輯完成事件
void YourClass::onCloseEditor(QWidget *editor, QAbstractItemDelegate::EndEditHint hint) {Q_UNUSED(hint);QModelIndex editedIndex = yourTreeView->currentIndex();// 在此處理編輯完成后的操作}
onItemDoubleClicked
槽函數處理雙擊事件,并啟動編輯。當編輯完成后,onCloseEditor
槽函數會被觸發,您可以在這里獲取編輯后的數據并執行相關操作。