问题描述
我有一个QTableWidget
,其中装有几个QTableWidgetItem
对象。我正在尝试向mousepressEvent
对象添加一个QTableWidget
侦听器。
我当前的代码很简单:
class TaskCell(QTableWidgetItem):
def __init__(self,text,parent):
super().__init__(text)
self.parent = parent
def mousepressEvent(self,event):
print("Mouse clicked on cell with parent" + self.parent.id)
在我看来,这似乎很简单,但不幸的是没有用。我不能在mousepressEvent
对象中添加QTableWidgetItem
吗?谢谢。
解决方法
QTableWidgetItem不是视觉元素,而是信息容器,因此它没有类似于mousePressEvent的方法。要做的是重写QTableWidget的mousePressEvent方法并获取TaskCells:
type SplitWithDefault<
TComplete,TDefault extends Partial<TComplete>,TSplit extends { default: TDefault,[key: string]: Partial<TComplete> }
> = { default: TDefault }
& { [P in keyof Omit<TSplit,'default'>]: (TSplit[P] & TDefault) extends TComplete ? TSplit[P] : never };