QStyledItemDelegate
クラスの正しい使い方を自分で学ぼうとしています。Qtには、私がここで読んだ素晴らしい例があります:Qt Spin BoxDelegateExample。
しかし、ここに私が答えられないように思われる質問があります。彼らのスクリーンショットの例を見てみましょう。
SpinBoxDelegate
データの一部、たとえば列2の項目のみを編集できるように、どのように例を記述しますか?
QStyledItemDelegate
クラスの正しい使い方を自分で学ぼうとしています。Qtには、私がここで読んだ素晴らしい例があります:Qt Spin BoxDelegateExample。
しかし、ここに私が答えられないように思われる質問があります。彼らのスクリーンショットの例を見てみましょう。
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()