问题描述
我有一个包含两列数据的QTreeWidgetItem
,有什么方法可以使仅第二列可编辑吗?当我执行以下操作时:
I have a QTreeWidgetItem
with two columns of data, is there any way to make only the second column editable? When I do the following:
QTreeWidgetItem* item = new QTreeWidgetItem();
item->setFlags(item->flags() | Qt::ItemIsEditable);
所有列都可编辑.
推荐答案
看起来您将不得不放弃使用QTreeWidget
和QTreeWidgetItem
并使用QTreeView
和QAbstractItemModel
. 窗口小部件"类是便捷类,它们是更抽象但更灵活的版本的具体实现. QAbstractItemModel
调用flags(QModelIndex index)
,您将在其中为列返回适当的值.
Looks like you will have to forgo using QTreeWidget
and QTreeWidgetItem
and go with QTreeView
and QAbstractItemModel
. The "Widget" classes are convenience classes that are concrete implementations of the more abstract but more flexible versions. QAbstractItemModel
has a call flags(QModelIndex index)
where you would return the appropriate value for your column.
这篇关于使QTreeWidgetItem的仅一列可编辑的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!