Я использую делегат для отображения QPixmap из QAbstractTableModel в QTableView, например:
void LabelDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
QPixmap pixmap = index.data(Qt::DisplayRole).value<QPixmap>();
QRect rect = option.rect;
rect.adjust(rect.width()/3, 0, -rect.width()/3, 0);
painter->drawPixmap(rect, pixmap, pixmap.rect());
}
Однако я хочу убедиться, что ячейка достаточно велика для отображения всей карты QPixmap.,Я попытался использовать функцию sizeHint:
QSize LabelDelegate::sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const
{
std::cout << "sizeHint()" << std::endl;
unsigned int sideLength = 300;
return QSize(sideLength, sideLength);
}
, но, похоже, размер ячейки не изменился.Как заставить размер ячейки соответствовать размеру QPixmap?
Спасибо,
Дэвид