Я пытаюсь создать границу для строк в QTableWidget
различными способами, но все решения не отвечают моим требованиям. Все, что я хочу, это нарисовать прямоугольник вокруг целого ряда . Я пробовал QStyledItemDelegate
class, но это не мой путь, потому что делегаты используются только для элемента [row, column], а не для целых строк или столбцов.
Вот неправильное решение:
/// @brief Рисуем границу вокруг строки.
class DrawBorderDelegate : public QStyledItemDelegate
{
public:
DrawBorderDelegate( QObject* parent = 0 ) : QStyledItemDelegate( parent ) {}
void paint( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const;
}; // DrawBorderDelegate
void DrawBorderDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const
{
QStyleOptionViewItem opt = option;
painter->drawRect( opt.rect );
QStyledItemDelegate::paint( painter, opt, index );
}
И где-то в коде:
tableWidget->setItemDelegateForRow( row, new DrawBorderDelegate( this ) );
Спасибо за помощь!