zoukankan      html  css  js  c++  java
  • QML访问C++类内部

    0、前提

    C++类需要继承QObject,且有Q_OBJECT宏【所以QT自己的那么多类按道理上QML都是可以直接访问的,nb】

    1、QML访问C++中的非private槽函数

    可直接调用

     信号也是

    2、QML访问C++的非private函数

    在函数名前加:Q_INVOKABLE

    3、QML访问C++的属性

    添加Q_PROPERTY说明,这个值和自身的属性值可不相等,在QML职工使用b就行了

     

    使用的时候:

    udp.b=100会调用setA(100)

    udp.b会调用getA()

     这里有个问题:我理解a的值变化之后会自动触发NOTIFY中的信号,但是事实没有;如果没有特别用到这个NOTIFY,可直接使用get和set函数来访问a,这样还和C++的封装性风格保持一致

    注意:如果属性或者函数没有设置正确会提示错误

    TypeError: Property 'sendSlot' of object Myudp(0x72fdd8) is not a function

  • 相关阅读:
    AVL平衡二叉树
    算法集锦(二)
    算法集锦(一)
    选择问题 and 字谜游戏问题
    TF-IDF与余弦相似性的应用
    一致性哈希算法
    Cache缓存
    布隆过滤器
    信号
    设置用户ID和设置组ID
  • 原文地址:https://www.cnblogs.com/judes/p/11242922.html
Copyright © 2011-2022 走看看