Unable to edit item in QTreeView on double click
-
wrote on 1 Jun 2023, 07:07 last edited by
I have a treeview in my application. I have set the
Qt::ItemIsEditable
flag for the item. However, when I double click an item in the treeview, I'm not able to edit them. I tried to debug the flags for the item that I double clicked, and I gotQt::ItemIsEditable
as output.This is my code where I add a new row:
int CustomTreeviewClass::AddRow(QList<QStandardItem *> &itemlist, QStringList strlist, QStandardItemModel *itemModel) { QStandardItem *item; for(int i=0;i<strlist.length(); i++) { item = new QStandardItem(strlist.at(i)); item->setFlags(Qt::ItemIsEnabled | Qt::ItemIsUserCheckable | Qt::ItemIsSelectable | Qt::ItemIsEditable); itemlist.append(item); } itemModel->appendRow(itemlist); itemlist.clear(); return itemModel->rowCount()-1; }
I have subclassed my
CustomTreeviewClass
fromQTreeView
. -
@ScleaverZer0ne
What makes you think "double click" will invoke editing on aQTreeView
item? See expandsOnDoubleClick and itemsExpandable.Start by selecting the item and pressing F2, per https://doc.qt.io/qt-6/qtreeview.html#key-bindings. Does that work? Then figure how to change double click over to editing if that is what you want (e.g. see editTriggers I think).
wrote on 1 Jun 2023, 07:57 last edited by@JonB I had not set edit triggers on my treeview, that's why I was not able to edit the cells on double click. Setting edit triggers solved that issue. Thanks.
-
I have a treeview in my application. I have set the
Qt::ItemIsEditable
flag for the item. However, when I double click an item in the treeview, I'm not able to edit them. I tried to debug the flags for the item that I double clicked, and I gotQt::ItemIsEditable
as output.This is my code where I add a new row:
int CustomTreeviewClass::AddRow(QList<QStandardItem *> &itemlist, QStringList strlist, QStandardItemModel *itemModel) { QStandardItem *item; for(int i=0;i<strlist.length(); i++) { item = new QStandardItem(strlist.at(i)); item->setFlags(Qt::ItemIsEnabled | Qt::ItemIsUserCheckable | Qt::ItemIsSelectable | Qt::ItemIsEditable); itemlist.append(item); } itemModel->appendRow(itemlist); itemlist.clear(); return itemModel->rowCount()-1; }
I have subclassed my
CustomTreeviewClass
fromQTreeView
.wrote on 1 Jun 2023, 07:33 last edited by@ScleaverZer0ne
What makes you think "double click" will invoke editing on aQTreeView
item? See expandsOnDoubleClick and itemsExpandable.Start by selecting the item and pressing F2, per https://doc.qt.io/qt-6/qtreeview.html#key-bindings. Does that work? Then figure how to change double click over to editing if that is what you want (e.g. see editTriggers I think).
-
@ScleaverZer0ne
What makes you think "double click" will invoke editing on aQTreeView
item? See expandsOnDoubleClick and itemsExpandable.Start by selecting the item and pressing F2, per https://doc.qt.io/qt-6/qtreeview.html#key-bindings. Does that work? Then figure how to change double click over to editing if that is what you want (e.g. see editTriggers I think).
wrote on 1 Jun 2023, 07:57 last edited by@JonB I had not set edit triggers on my treeview, that's why I was not able to edit the cells on double click. Setting edit triggers solved that issue. Thanks.
-
1/3