pyqt5: вернуть QObject из слота

Я пытаюсь предоставить метод QML в pyqt 5, и мне нужно, чтобы он возвращал пользовательский QObject. Кажется, я все равно не могу этого сделать. Фрагмент ниже примерно показывает, что я пытаюсь сделать. Я пытался изменить параметр результата на QObject, «QObject» и другие типы. Каждый из них либо дает мне другое сообщение об ошибке, либо, если ошибки нет, QML получает null вместо объекта. Я также пытался зарегистрировать Bar как тип, но все равно не помогло.

Каков правильный способ вернуть такой пользовательский объект? (Примечание: ранее это работало на C++.)

class Bar(QObject):
    # etc.

bar = Bar()

class Foo(QObject):
    @pyqtSlot(int, result=QObject)
    def foo(self, arg1):
        return bar

person Sam Bull    schedule 16.05.2014    source источник


Ответы (1)


person    schedule
comment
Откуда берется сип? Без каких-либо объяснений это не помогает. - person lexXxel; 18.01.2021