首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PySide 2 "QVariantMap“信号QT5.15 -> QT5.12

PySide 2 "QVariantMap“信号QT5.15 -> QT5.12
EN

Stack Overflow用户
提问于 2020-11-01 20:02:52
回答 1查看 91关注 0票数 1

我在Qt5.12中使用QVariantMap处理Signal()时遇到了问题。

我的示例在QT 5.15和Python 3.8中运行良好,但它需要与QT 5.12和Python 3.7兼容。

这个信号似乎是从Python正确发出的,但是我的log函数没有被调用。

这些版本之间在QVariantMap处理方面有什么变化吗?

我附上了重要的线路和一个完整的样本链接。

代码语言:javascript
复制
class WeatherWrapper(QObject):

dataChanged = Signal()

@Property("QVariantMap", notify=dataChanged)
    def data(self) -> dict:
        return self._data
代码语言:javascript
复制
  self.dataChanged.emit()
代码语言:javascript
复制
Connections {
        target: weather
        function onDataChanged() {
        console.log("recevied dataChanged signal")
        }

        }

完整示例:https://github.com/lutzh86/qmlweathertest/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-01 22:33:46

这不是QVariantMap的问题。出于某种原因,Qt决定更改Connections对象的语法。在5.12中,你需要这样做:

代码语言:javascript
复制
Connections {
    target: weather
    onDataChanged: {
        console.log("received dataChanged signal")
    }
}

如果你在5.15上这样做,你将得到恼人的运行时警告,该语法已被弃用,但它仍然可以工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64631653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档