11Апр/110
QTableWidget. Запрет редактирования столбцов.
Проще всего делается через делегат.
class NonEditTableColumnDelegate : public QItemDelegate
{
Q_OBJECT
public:
NonEditTableColumnDelegate(QObject * parent = 0) : QItemDelegate(parent) {}
virtual QWidget * createEditor ( QWidget *, const QStyleOptionViewItem &,
const QModelIndex &) const
{
return 0;
}
};
Использование:
aTable = new QTableWidget(this); aTable->setColumnCount(3); //запрещаем редактирование первого столбца aTable->setItemDelegateForColumn(0, new NonEditTableColumnDelegate()); //запрещаем редактирование второго столбца aTable->setItemDelegateForColumn(1, new NonEditTableColumnDelegate()); //итого из трех столбцов редактироваться будет только последний