我有一个用Python创建的QQuickItem
类:
class MyPage(QQuickItem):
def __init__(self, parent=None) -> None:
super().__init__(parent)
error_encountered = Signal(str)
@QtCore.Slot(QUrl, result=None)
def load_report(self, file_path: QUrl) -> None:
print(f"Called with: {file_path}")
self.error_encountered.emit("Uh oh!")
上述类别注册为:
qmlRegisterType(MyPage, "MyPage", 1, 0, "MyPage")
我的QML看起来像:
MyPage {
signal errorEncountered(string text)
Component.onCompleted: error_encountered.connect(errorEncountered)
onErrorEncountered: console.log(text)
}
但是,我得到以下错误:
qrc:/qml/main.qml:93: ReferenceError: error_encountered is not defined
信号被声明为类的属性,也就是说,它们不应该在类的任何方法中创建。解决办法是:
相关问题 更多 >
编程相关推荐