PyQt5 pyqtSignal: 自定义信号传入的参数方法
在PyQt5当中,用户是可以自定义信号与槽函数的。这里想讲的是如何在pyqtSignal
中传入任何的参数。
一般来说,我们会在pyqtSignal()
中传入不同的参数,以便完成不同类之间的参数传递。
情况1:
# 这是一个不接受任何参数的signal
var1 = pyqtSignal()
情况2:
# 只接受传入的参数为int class
var2 = pyqtSignal(int)
# 只接受传入的参数为str class
var3 = pyqtSignal(str)
那么,如果要传入其他类型的参数呢?比如说想要传入一个np.array()
,这时有两个选择(这只是我自己的方法):
- 找出该参数的
type()
,并将其放入pyqtSignal()
当中; - 在
pyqtSignal()
当中,输入object
,如pyqtSignal(object)
,这样定义的话,该函数就可以接受任何类型的参数了。
参考链接:
StackOverflow: PyQt_PyObject equivalent when using new-style signals/slots?
Pyqt5 signals_slots官方文档