Вы можете подумать, что использование скобок позволит вам получить сигнал с сигнатурой единственного аргумента, но это не то, что происходит. Сигналы могут быть объявлены с множественными перегрузками (как в "разных сигнатурах аргументов"), каждый из которых содержится в последовательности, такой как список или кортеж.
Итак, вы делаете точно так же как:
authResult = QtCore.pyqtSignal([list, list])
, что приведет к тому же значению:
authResult = QtCore.pyqtSignal(list, list)
, так как есть только одна подпись.
Затем вы получаете первый список только потому, что функция принимает только один аргумент. Если вы добавите второй аргумент, будет получен и второй список:
def handl(self, result, result2):
print(type(result))
print(result, result2)
print("Cc!!")
# which will print:
<class 'list'>
[600, 601, 602, 603, 604, 605, 606, 607, 608, 609] ['a', 'b', 'c']
Cc!!
Несколько иным решением может быть использование одного аргумента object
вместо:
authResult = QtCore.pyqtSignal(object)
С этим функция handl
будет работать с предыдущей версией с одним аргументом.