在python中扩展Qml:命名信号参数

时间:2012-08-18 21:53:58

标签: qt pyqt qml pyside

根据Qt的文件:

  

注册类上的所有Qt信号在QML中作为特殊的“信号属性”可用,用户可以为其分配单个JavaScript表达式。 signal属性的名称是Qt信号名称的转换版本:“on”是前置的,信号名称的第一个字母是大写的。例如,上面示例中使用的信号具有以下C ++签名:

     

信号:        void partyStarted(const QTime& time);

     

信号参数可通过名称访问指定的脚本。无法访问未命名的参数,因此应注意在C ++类声明中命名所有信号参数。添加类型中列出的内在类型以及已注册的对象类型都被允许作为信号参数类型。使用其他类型不是错误,但无法从脚本访问参数值。

“因此应注意在C ++类声明中命名所有信号参数”=>我如何在python中做到这一点?

我在尝试将此自定义C ++扩展名http://qt-project.org/doc/note_revisions/44/221/view(WheelArea)转换为某些python / PySide或PyQt代码时需要这样做:

到目前为止,我差点儿好,但我无法想出如何翻译这部分(车轮事件信号):

signals:
    void verticalWheel(int delta);
    void horizontalWheel(int delta);

在python(命名信号参数)中从qml访问delta。

0 个答案:

没有答案