Подпись приемников PySide2Python

Программы на Python
Ответить
Anonymous
 Подпись приемников PySide2

Сообщение Anonymous »

У меня возникла странная проблема с методом QObject().receivers.

Код: Выделить всё

import sys

from PySide2.QtWidgets import QApplication, QMessageBox, QWidget
from PySide2.QtCore import Slot, Signal, SIGNAL

if __name__ == "__main__":
app = QApplication(sys.argv)

widget = QWidget()
signal = Signal()

print(widget.receivers(signal))

sys.exit(app.exec_())
Он работает под PyQt5, но не работает под PySide2 со следующей ошибкой:

Код: Выделить всё

TypeError: 'PySide2.QtCore.QObject.receivers' called with wrong argument types:
PySide2.QtCore.QObject.receivers(Signal)
Supported signatures:
PySide2.QtCore.QObject.receivers(bytes)
Есть странный обходной путь:

Код: Выделить всё

print(widget.receivers(SIGNAL("signal()")))
Но я не понимаю, как это работает, и его вряд ли можно обслуживать.
Может быть, у кого-то есть опыт использования приемников в PySide2?
Я использую последнюю версию pip.

Подробнее здесь: https://stackoverflow.com/questions/695 ... -signature
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»