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
槽函数会被触发,您可以在这里获取编辑后的数据并执行相关操作。