Аргумент слота типа C ++ не поддерживается - PullRequest
1 голос
/ 24 марта 2012

Я пытаюсь подать сигнал и отправить два параметра, один из них - список Song объектов, а второй - QtGui.QTableView объект.

Я пытался сделать это:

self.emit(QtCore.SIGNAL("searchOutput(list, QtGui.QTableView)"), songsObjs, self.table)

Но я получаю следующую ошибку:

TypeError: C++ type 'list' is not supported as a slot argument type

Что я могу сделать?

1 Ответ

6 голосов
/ 24 марта 2012

Если вы посмотрите на ссылку , то там написано

Можно передать любой объект Python в качестве аргумента сигнала, указав PyQt_PyObject в качестве типа аргумента в сигнатуре.

и

Хотя это обычно используется для передачи объектов, таких как списки и словари, в качестве аргументов сигнала, оно может использоваться для любого типа Python.

Поэтому попробуйте вместо этого сделать:

self.emit(QtCore.SIGNAL("searchOutput(PyQt_PyObject, QtGui.QTableView)"), songsObjs, self.table)
...