代码之家  ›  专栏  ›  技术社区  ›  Andrei R.

来自模块项的QQML组件

  •  2
  • Andrei R.  · 技术社区  · 7 年前

    我要创建的实例 QQmlComponent 从…起 QML 编写文本脚本,而不是从文件中编写,类似于:

    QQmlComponent comp(engine, "import QtQml 2.0; Item {}");
    

    这与:

    import QtQml 2.0
    
    Component {
        Item {}
    }
    

    如何做到这一点?

    1 回复  |  直到 7 年前
        1
  •  3
  •   eyllanesc Yonghwan Shin    7 年前

    您必须使用 void QQmlComponent::setData(const QByteArray &data, const QUrl &url) :

    QQmlComponent component(&engine);
    component.setData("import QtQuick 2.7\n; Item {}", QUrl());
    component.create();