我已经将QTreeView
子类化,并在按下某些键时覆盖keyPresseEvent()
来执行操作。当然,我不想在编辑项目时这样做。如何检查编辑是否正在进行?
答案 0 :(得分:2)
您可以使用这些功能。如果调用edit
但尚未调用closeEditor
或editorDestroyed
,则表示处于编辑模式。
bool QAbstractItemView::edit ( const QModelIndex & index, EditTrigger trigger, QEvent * event ) [virtual protected]
void QAbstractItemView::closeEditor ( QWidget * editor, QAbstractItemDelegate::EndEditHint hint ) [virtual protected slot]
void QAbstractItemView::editorDestroyed ( QObject * editor ) [virtual protected slot]
答案 1 :(得分:1)
您可以检查视图的内部状态以查看它是否处于编辑状态
if (my_treeview->state() != QAbstractItemView::EditingState)
{
/* do some stuff */
}