3
QML内では、Qt.createQmlObject
を呼び出して、コンポーネントを(ファイルからロードするのではなく)動的に作成できます。例:C++でのQt.createQmlObjectに相当する
Qt.createQmlObject('import QtQuick 1.0; Rectangle {color: "red"; width: 20; height: 20}', parent, "dynamicPath");
C++コードから同じことを行う方法はありますか?必ずしもQMLを解析する必要はありません—私は、たとえば、C++のQMLドキュメントにRectangle
またはTextField
を動的に作成して添付する方法を探しています。
完璧、ありがとうございます!そして、いいえ、Qt Quick 1に載っていません - 私はいくつかの古い文書のサンプルスニペットをコピーしました。 – spinda
'QUrl(" dynamicPath ")はどこかに書かれていますか?それともちょうどあなたが与えた名前ですか? –
[docs](http://doc.qt.io/qt-5/qqmlcomponent.html#setData)から:「_url_が提供されている場合は、コンポーネント名を設定し、アイテムの基本パスを提供するために使用されますこのコンポーネントによって解決されました。通常、人は空のURLを渡します。エラーが発生した場合は、空でないものを渡すだけで、エラーの原因を明確にすることができます。 – jpnurmi