1. Есть простая модель, основанная на QAbstractListModel. Есть делегат, с переопределённым paint
void partiesModelDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
QStyleOptionButton checkBoxOption;
checkBoxOption.rect = option.rect;
checkBoxOption.state = QStyle::State_Active | QStyle::State_Enabled;
checkBoxOption.text = index.data(Qt::DisplayRole).toString();
QApplication::style()->drawControl(QStyle::CE_CheckBox, &checkBoxOption, painter);
}
В View'е вполне себе рисуется checkBox, но выбрать его (поставить галочку) нельзя. Вопрос, как это сделать и как потом этот сигнал перехватить?
2. Есть таблица, хочу для неё переопределить QHeaderView, так чтобы 3-я колонка занимала всё свободное пространство, а остальные сжимались до минимума. Делаю так
transactionsModelHeader::transactionsModelHeader(Qt::Orientation orientation, QWidget *parent) :
QHeaderView(orientation, parent)
{
setResizeMode(QHeaderView::ResizeToContents);
setResizeMode(logicalIndexAt(2), QHeaderView::Stretch);
}
Сжимаются все.