我正在尝试自学如何QStyledItemDelegate
正确使用课程。Qt 有一个很棒的例子,我在这里读到:Qt Spin Box Delegate Example。
但这是一个我似乎无法回答的问题。让我们看一下他们的示例屏幕截图。
我将如何SpinBoxDelegate
在他们的示例中编写以便我只能编辑部分数据,例如,只有第 2 列中的项目?
我正在尝试自学如何QStyledItemDelegate
正确使用课程。Qt 有一个很棒的例子,我在这里读到:Qt Spin Box Delegate Example。
但这是一个我似乎无法回答的问题。让我们看一下他们的示例屏幕截图。
我将如何SpinBoxDelegate
在他们的示例中编写以便我只能编辑部分数据,例如,只有第 2 列中的项目?
我假设您已经在重新实现QAbstractItemDelegate::createEditor()
指示表中的某个索引不应该是可编辑的最简单方法是NULL
从此函数返回,例如:
QWidget *QAbstractItemDelegate::createEditor( QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index )
{
if( index.column() == 0 )
return NULL;
return new QSpinBox( parent );
}
您可以通过在模型中填充其他信息并使用QModelIndex::data()