PySide 2 "QVariantMap" 信号 QT5.15 -> QT5.12
PySide 2 "QVariantMap" Signal QT5.15 -> QT5.12
我在使用 QVariantMap 的 QT 5.12 中处理 Signal() 时遇到问题。
我的示例在 QT 5.15 和 Python 3.8 中运行良好,但它需要
与 QT 5.12 和 Python 3.7.
兼容
信号似乎是从 Python 发出的,但我的日志功能
未被调用。
这些版本与 QVariantMap 处理之间是否有任何变化?
我附上了重要的线条和 link 来完成示例。
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")
}
}
这不是 QVariantMap 的问题。 Qt 出于某种原因决定更改 Connections
对象的语法。在5.12中,你需要这样做:
Connections {
target: weather
onDataChanged: {
console.log("received dataChanged signal")
}
}
如果您在 5.15 上这样做,您将收到恼人的运行时警告,提示该语法已被弃用,但它仍然有效。
我在使用 QVariantMap 的 QT 5.12 中处理 Signal() 时遇到问题。
我的示例在 QT 5.15 和 Python 3.8 中运行良好,但它需要 与 QT 5.12 和 Python 3.7.
兼容信号似乎是从 Python 发出的,但我的日志功能 未被调用。
这些版本与 QVariantMap 处理之间是否有任何变化?
我附上了重要的线条和 link 来完成示例。
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")
}
}
这不是 QVariantMap 的问题。 Qt 出于某种原因决定更改 Connections
对象的语法。在5.12中,你需要这样做:
Connections {
target: weather
onDataChanged: {
console.log("received dataChanged signal")
}
}
如果您在 5.15 上这样做,您将收到恼人的运行时警告,提示该语法已被弃用,但它仍然有效。