关于整体python signal和slot我略懂了一些,我知道自定义的signal需要在类init之前先定义signal的参数,然后再emit一下,再创建slot接收一下。
但是对于已有的(predefined)signal.connect的里的参数我觉得不好理解,例如下面的是GUI课程46中的简易代码。
class OrderMonitor(BaseMonitor):
def __init__(self, main_engine: MainEngine, event_engine: EventEngine) -> None:
……
self.itemDoubleClicked.connect(self.cancel_order)
def cancel_order(self, cell: MonitorCell) -> None:
我的问题就是为啥itemDoubleClicked这个signal connect的cancel_order里的参数会是一个MonitorCell呢?请问哪里规定了这个参数是啥的?
算了,我找到答案了。官网documentation里写着
PySide2.QtWidgets.QTableWidget.itemDoubleClicked(item)
Parameters:
item – PySide2.QtWidgets.QTableWidgetItem