У меня есть вопрос.
У меня есть два класса, A и B. A создает объект типа B, а также излучает сигналы, подобные этому:
QtCore.QObject.emit(QtCore.SIGNAL('mySignal'), "Hello World")
B может видеть методыв A как A передал 'self' в качестве аргумента конструктору при создании B, как описано здесь .
Теперь я хочу написать слот в B для этого сигнала, излучаемого в Aвот так:
self.connect(self._creator, QtCore.SIGNAL('mySignal'), mySlot)
Здесь я хотел бы отметить, что и A, и B наследуются от QtCore.QObject.Метод mySlot просто должен напечатать значение, которое он получает в качестве аргумента сигнала.
Когда я его запускаю, я получаю эту ошибку:
QObject.emit (SIGNAL (), ...): первый аргумент несвязанного метода должен иметь тип 'QObject'
В init () обоих классов я добавил это:
QtCore.QObject.__init__(self)
Без добавления этого я получаю ошибку:
RuntimeError: основной объект C / C ++ был удален
У меня нет опыта работы с Qt,Я не понимаю, что происходит не так.Пожалуйста, помогите.