5

(モデルベース)がQTableViewあり、特定のセル、たとえば行0、列1の編集機能を無効にしたい。

これどうやってするの?この行の他のセルを編集できるようにしたいことに注意してください。

4

1 に答える 1

6

カスタム テーブル モデルを使用している場合は、メソッドを実装して、編集したくないセルにフラグが設定されていない一連Qt::ItemFlags QAbstractItemModel::flags ( const QModelIndex & index ) constのフラグを返すことができます。から継承されているとしQt::ItemIsEditableます:MyTableModelQAbstractTableModel

Qt::ItemFlags MyTableModel::flags ( const QModelIndex & index ) const {
    Qt::ItemFlags flags = Qt::NoItemFlags;

    if (index.row() == 0 && index.column() == 1) {
       return flags;
    }
    return flags | Qt::ItemIsEditable;
}
于 2012-09-21T06:56:37.940 に答える