连接类型不适用于覆盆子

Connections type does not work on raspberry

我的机器上有以下代码:

Connections{
    target: gridmodel
    enabled: true
    function onDataFetch(status){
        console.log(status, "it is status")
        loaderrorlbl.visible = !status
    }
    Component.onCompleted:{
        console.log("Connection created")
    }
}

有了这个 进口:

import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Controls.Material 2.0
import QtQuick.Layouts 1.0

onDataFetch 是我 Python 端的一个信号:

dataFetch = Signal(bool)

该项目在我的机器上工作得很好,但是当我 运行 它在 raspberry/raspbian 中时,除了 Connection 中的 onDataFetch 之外,一切正常。

我在两台机器上都使用pyside2,QML导入是一样的,qmake – 我机器上的版本是:

QMake version 3.1
Using Qt version 5.15.2 in /usr/lib/x86_64-linux-gnu

在 raspbian 上:

QMake version 3.1
Using Qt version 5.11.3 in /usr/lib/arm-linux-gnuabihf

我在网上没有找到解决这个问题或类似问题的方法,有人知道这个问题吗?

将函数用作插槽是新 qml 语法的一部分,由于您使用的是旧版本,因此它不支持它。您必须将其更改为:

Connections {
    target: gridmodel
    onDataFetch: function(status){
        console.log(status, "it is status")
    }
}

注意:如果你想为 rpi 开发一个兼容的代码,那么你可以安装一个与你使用的版本相似的版本:python -m pip install PySide2==5.11.2