我如何获取QML中cpp发出的信号形式的参数

时间:2019-03-07 08:29:36

标签: c++ qml

我在.cpp文件中触发了一个信号,该信号的参数是整数数组。现在,我可以在QML中成功接收到此信号,但是我不知道如何获取参数。 我的代码就是这样:

// .h
signals:
    void  mysignal(int a[]);
//.cpp
    int a[]={1,2,3,4,5};
    emit mysignal(a);
// QML
    Connections:{
        target:XXX
        onMysignal:
            // i don't know how to get the parameters here! Anyone can give me tips?
    }

1 个答案:

答案 0 :(得分:1)

QML中没有等效的数组,非常相似的是使用std::vectorQVector之类的容器:

//.h
signals:
    void  mysignal(const std::vector<int> & a);
//.cpp
    std::vector<int> v = {1,2,3,4,5};
    emit mysignal(v);
//QML
Connections{
    target: XXX
    onMysignal: console.log(a)
}