Чтобы изменить саму границу, вам, вероятно, потребуется создать пользовательский делегат, который будет выполнять следующие действия:
class MyDelegate : public QItemDelegate {
public:
MyDelegate( QObject *parent ) : QItemDelegate( parent ) { }
void paint( QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index ) const {
QItemDelegate::paint( painter, option, index );
if( /* some condition */ ) {
painter->setPen( Qt::red );
painter->drawRect( option.rect );
}
}
}
Затем вы можете позвонить:
myTableWidget->setItemDelegate( new MyDelegate(this) );
Вы можетеиспользуйте QTableWidgetItem::setData()
и функции QModelIndex::data()
для передачи необходимой информации туда и обратно между вашей таблицей и делегатом
См. документацию qt для QItemDelegate