如题,小白一枚,求各位大佬多多指教。不知道是否需要重写函数,还是有自带的函数可以实现?
问题得到解决,多谢!!
我的做法是实现一个委托(delegate),然后把它设给你要只读的列
class ReadOnlyDelegate: public QItemDelegate
{
public:
ReadOnlyDelegate(QWidget *parent = NULL):QItemDelegate(parent)
{}
QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,
const QModelIndex &index) const override //final
{
Q_UNUSED(parent)
Q_UNUSED(option)
Q_UNUSED(index)
return NULL;
}
};
很简单,就是不返回任何editor。
然后
readOnlyDelegate = new ReadOnlyDelegate();
ui->tableView->setItemDelegateForColumn(2, readOnlyDelegate); //设置某列只读