У меня есть a QTreeWidgetItem
с двумя столбцами данных, там какой-либо способ сделать только второй столбец доступным для редактирования? Когда я делаю следующее:
QTreeWidgetItem* item = new QTreeWidgetItem();
item->setFlags(item->flags() | Qt::ItemIsEditable);
все столбцы становятся доступными для редактирования.
Похоже, вам придется отказаться от использования QTreeWidget
и QTreeWidgetItem
и перейти к QTreeView
и QAbstractItemModel
. Классы "Widget" - это удобные классы, которые являются конкретными реализациями более абстрактных, но более гибких версий. QAbstractItemModel
имеет вызов flags(QModelIndex index)
, где вы должны вернуть соответствующее значение для вашего столбца.
Установить редактируемый дочерний элемент виджета-дерева (элементы дерева) в зависимости от строки и столбца.