我在Qt5.12中使用QVariantMap处理Signal()时遇到了问题。
我的示例在QT 5.15和Python 3.8中运行良好,但它需要与QT 5.12和Python 3.7兼容。
这个信号似乎是从Python正确发出的,但是我的log函数没有被调用。
这些版本之间在QVariantMap处理方面有什么变化吗?
我附上了重要的线路和一个完整的样本链接。
class WeatherWrapper(QObject):
dataChanged = Signal()
@Property("QVariantMap", notify=dataChanged)
def data(self) -> dict:
return self._data self.dataChanged.emit()Connections {
target: weather
function onDataChanged() {
console.log("recevied dataChanged signal")
}
}发布于 2020-11-01 22:33:46
这不是QVariantMap的问题。出于某种原因,Qt决定更改Connections对象的语法。在5.12中,你需要这样做:
Connections {
target: weather
onDataChanged: {
console.log("received dataChanged signal")
}
}如果你在5.15上这样做,你将得到恼人的运行时警告,该语法已被弃用,但它仍然可以工作。
https://stackoverflow.com/questions/64631653
复制相似问题