Есть ли способ, которым я могу скрыть границу выбранной ячейки (или сделать цвет рамки как белый) в qtablewidget.. По умолчанию границу с пунктирной линией показывают.. Может u помогать мне...
Похоже, что эта пунктирная граница вокруг выбранной ячейки вы пытаетесь скрыть прямоугольник фокусировки. Любая данная ячейка может иметь фокус и не выбирать одновременно и наоборот. Если вы хотите, чтобы эта граница не окрашена, используйте делегат элемента. Там вы можете удалить стиль STATE_HASFOCUS из состояния элемента перед его покраской. Пожалуйста, смотрите пример ниже о том, как это сделать, это C ++, дайте мне знать, если у вас есть проблемы, преобразовав его в Python
// custom item delegate class
class NoFocusDelegate : public QStyledItemDelegate
{
protected:
void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const;
};
void NoFocusDelegate::paint(QPainter* painter, const QStyleOptionViewItem & option, const QModelIndex &index) const
{
QStyleOptionViewItem itemOption(option);
if (itemOption.state & QStyle::State_HasFocus)
itemOption.state = itemOption.state ^ QStyle::State_HasFocus;
QStyledItemDelegate::paint(painter, itemOption, index);
}
...
// set the item delegate to your table widget
ui->tableView->setItemDelegate(new NoFocusDelegate());
Надеюсь, что это поможет, считает