【问题标题】:Detect statically added QML children from c++从 C++ 中检测静态添加的 QML 子项
【发布时间】:2016-10-29 01:56:13
【问题描述】:

QML 代码:

MyItem {
    Item {
        id: exampleChild
    }
}

c++代码:

class MyItem : public QQuickItem {
    Q_OBJECT

private:
    void QObject::childEvent(QChildEvent* event) override {
        qDebug() << "This is never fired when exampleChild is added.";
    }
};

这是一个关于这个问题的旧讨论:http://comments.gmane.org/gmane.comp.lib.qt.qml/1677

如何检测这些静态声明项的添加?

【问题讨论】:

    标签: c++ qt qml qtquick2 qt5.6


    【解决方案1】:

    您可以覆盖QQuickItem::itemChange() 并处理QQuickItem::ItemChildAddedChange。不要忘记调用itemChange()的基类实现。

    【讨论】:

    • 是的,这行得通。我认为值得一提的是,添加的孩子必须基于QQuickItemQObject 的孩子仍然无法识别。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多