本文介绍了使QTreeWidgetItem的仅一列可编辑的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含两列数据的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);

所有列都可编辑.

推荐答案

看起来您将不得不放弃使用QTreeWidgetQTreeWidgetItem并使用QTreeViewQAbstractItemModel. 窗口小部件"类是便捷类,它们是更抽象但更灵活的版本的具体实现. 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的仅一列可编辑的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-10 14:10