如何将 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)