如何在QML中动态添加组件?

约翰

我试图在按下按钮时动态创建一个组件,然后将其添加到当前父对象。我不确定我在做什么错,

我有这个简单的布局:

import QtQuick 2.0
import Ubuntu.Components 0.1
import "components"
import "componentCreation.js" as MyScript

/*!
    \brief MainView with a Label and Button elements.
*/

MainView {
    // objectName for functional testing purposes (autopilot-qt5)
    objectName: "mainView"

    // Note! applicationName needs to match the "name" field of the click manifest
    applicationName: "com.ubuntu.developer..SpritePractice"

    /*
     This property enables the application to change orientation
     when the device is rotated. The default is false.
    */
    //automaticOrientation: true

    width: units.gu(100)
    height: units.gu(75)

    Page {
        title: i18n.tr("Simple")

        Column {
            spacing: units.gu(1)
            anchors {
                margins: units.gu(2)
                fill: parent
            }

            Button
            {
                text: i18n.tr("Hello World!!");
                onClicked:
                {
                    var component;
                    var sprite;
                    component = Qt.createComponent("Sprite.qml");
                    sprite = component.createObject(parent, {"x": 100, "y": 100});
                }
            }
        }
    }
}

这是我要添加的“ sprite”:

import QtQuick 2.0

Rectangle { width: 80; height: 50; color: "red" }

如何将要创建的组件添加到当前父组件?

解决方法:

我使用以下答案,并使用Ubuntu文档:

库纳尔

您需要在此处提供ID,而不是父级。

sprite = component.createObject(parent, {"x": 100, "y": 100});

尝试跟随,

Page {
        ...

        Column {
            id: container                
            ...
            Button
            {
                text: i18n.tr("Hello World!!");
                onClicked:
                {
                    var component;
                    var sprite;
                    component = Qt.createComponent("Sprite.qml");
                    sprite = component.createObject(container, {"x": 100, "y": 100});
                }
            }
        }
    }

我还创建了一个示例代码,其功能相同,请看看

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在createMaterialTopTabNavigator上方添加组件?

来自分类Dev

如何在reactjs中附加组件

来自分类Dev

动态在ContainerView中添加组件时遇到问题

来自分类Dev

如何在Angular.Dart中以编程方式添加组件?

来自分类Dev

如何在Vue JS的内容可编辑div中添加组件

来自分类Dev

如何在VBox中从上到下添加组件?

来自分类Dev

如何在 spaCy 管道中的标记器之前添加组件?

来自分类Dev

React.js:如何在点击时添加组件?

来自分类Dev

如何在渲染页面后添加组件

来自分类Dev

如何在滚动视图中动态添加组图像视图

来自分类Dev

使用cdk / ComponentPortal动态添加组件

来自分类Dev

Angular 1.5 动态添加组件

来自分类Dev

如何使用cleartool命令在流中添加组件?

来自分类Dev

反应,在组件中添加组件

来自分类Dev

如何在Vue.js中添加动态组件/部分

来自分类Dev

如何在动态创建的React组件中添加动画

来自分类Dev

如何使用“ Faces.includeCompositeComponent”动态添加组件?Websphere 8和ICEFaces 3

来自分类Dev

如何以编程/动态方式向ap:dataTable方面添加组件

来自分类Dev

如何动态分配图像src而无需在反应中导入或添加组件

来自分类Dev

如何使用“ Faces.includeCompositeComponent”动态添加组件?Websphere 8和ICEFaces 3

来自分类Dev

在vue.js中动态添加组件无法正常工作

来自分类Dev

Laravel如何在路由功能中添加组前缀参数

来自分类Dev

无法在 Android Studio 中添加组件

来自分类Dev

Java JPanel,向其和JScrollPane动态添加组件

来自分类Dev

React – 如何在另一个已安装的组件中渲染附加组件?

来自分类Dev

Unity添加组件

来自分类Dev

如何在QML中创建动态委托?

来自分类Dev

如何通过使用innerHTML添加组件来呈现组件?

来自分类Dev

在Firefox附加组件中,如何在将事件侦听器添加到整个浏览器窗口时解决错误“未定义窗口”?

Related 相关文章

  1. 1

    如何在createMaterialTopTabNavigator上方添加组件?

  2. 2

    如何在reactjs中附加组件

  3. 3

    动态在ContainerView中添加组件时遇到问题

  4. 4

    如何在Angular.Dart中以编程方式添加组件?

  5. 5

    如何在Vue JS的内容可编辑div中添加组件

  6. 6

    如何在VBox中从上到下添加组件?

  7. 7

    如何在 spaCy 管道中的标记器之前添加组件?

  8. 8

    React.js:如何在点击时添加组件?

  9. 9

    如何在渲染页面后添加组件

  10. 10

    如何在滚动视图中动态添加组图像视图

  11. 11

    使用cdk / ComponentPortal动态添加组件

  12. 12

    Angular 1.5 动态添加组件

  13. 13

    如何使用cleartool命令在流中添加组件?

  14. 14

    反应,在组件中添加组件

  15. 15

    如何在Vue.js中添加动态组件/部分

  16. 16

    如何在动态创建的React组件中添加动画

  17. 17

    如何使用“ Faces.includeCompositeComponent”动态添加组件?Websphere 8和ICEFaces 3

  18. 18

    如何以编程/动态方式向ap:dataTable方面添加组件

  19. 19

    如何动态分配图像src而无需在反应中导入或添加组件

  20. 20

    如何使用“ Faces.includeCompositeComponent”动态添加组件?Websphere 8和ICEFaces 3

  21. 21

    在vue.js中动态添加组件无法正常工作

  22. 22

    Laravel如何在路由功能中添加组前缀参数

  23. 23

    无法在 Android Studio 中添加组件

  24. 24

    Java JPanel,向其和JScrollPane动态添加组件

  25. 25

    React – 如何在另一个已安装的组件中渲染附加组件?

  26. 26

    Unity添加组件

  27. 27

    如何在QML中创建动态委托?

  28. 28

    如何通过使用innerHTML添加组件来呈现组件?

  29. 29

    在Firefox附加组件中,如何在将事件侦听器添加到整个浏览器窗口时解决错误“未定义窗口”?

热门标签

归档