Параметр в PyQt connect - PullRequest
       20

Параметр в PyQt connect

0 голосов
/ 25 мая 2018

Приведенные мною примеры преобразования сигналов / слотов PyQt4 в PyQt5 довольно просты, например, подключение кнопки для изменения метки.Но как преобразовать следующее утверждение:

self.connect(self.tableWidget,
    SIGNAL("itemChanged(QTableWidgetItem*)"),
    self.tableItemChanged)

Меня сбивает с толку параметр itemChanged.Я попробовал, по аналогии с примерами:

self.tableWidget.itemChanged(
    QTableWidgetItem*).connect(self.tableItemChanged)

Спасибо!

1 Ответ

0 голосов
/ 25 мая 2018

Когда вы устанавливаете новый синтаксис соединение, нет необходимости указывать тип аргумента, который посылает сигнал, если только в одном классе нет сигналов с одинаковым именем, но в вашем случае это не так.Таким образом, решением будет следующее:

self.tableWidget.itemChanged.connect(self.tableItemChanged)

Типичным примером исключения является QComboBox: активированный сигнал может отправлять строку активированного элемента или индекс активированного элемента, поэтомутам указывается тип данных, которые нам нужны.

combobox.activated[str].connect(self.handle_string)
combobox.activated[int].connect(self.handle_int)
...