QTableWidget меняет цвет границы и курсор мыши на определенную ячейку при возникновении события

Как я могу изменить цвет границы QTableWidget и курсор мыши на определенную ячейку (QTableWidgetItem), а не на всю таблицу?

Похоже, мне нужно использовать QStyledItemDelegate, но я не знаю, как применить таблицу стилей. Я хочу изменить границу определенной ячейки при возникновении определенного события (например, при нажатии определенной кнопки), но это слишком сложно.

      self.tblWgt = QTableWidget()
self.tblWgt.setStyleSheet('''
QTableView:item {
    border: 1px solid red;
}
''') # change whole cell style
self.tblWgt.setCursor(QCursor(Qt.CursorShape.PointingHandCursor)) # change whole cell mouse cursor

item = QTableWidgetItem()
item.setStyleSheet() # does not exist

class Delegate(QStyledItemDelegate):
  def paint(self, painter, option, index):
    super().paint(painter, option, index)
    option.widget.style().setStyleSheet()  <<< # does not exist

self.tblWgt.setItemDelegateForColumn(2, Delegate())


def BorderChange(self):
  item.setStyleSheet() # does not exist
  # How to change a specific cell border using a delegate? I want to use stylesheet

self.btn1 = QPushButton(self)
self.btn1.setText("Border change button")
self.btn1.clicked.connect(self.BorderChange)

0 ответов

Другие вопросы по тегам