Я пытаюсь предоставить метод 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