Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt QML:如何动态添加行_Qt_Qml - Fatal编程技术网

Qt QML:如何动态添加行

Qt QML:如何动态添加行,qt,qml,Qt,Qml,我有一个简单的qml文件,它创建了我的qml组件,如下所示。我需要在control_部分加载不同的控件组件 以下是我需要支持的不同控制案例 一个按钮 水平布局的两个按钮(行) 两个文本框和一个垂直布局的按钮(行) 第一种情况下,只有一个按钮。然而,在第二种情况下,只有最后一个按钮显示。如何使行中的两个按钮都显示出来 注意:问题似乎在于按钮相互重叠 Frame.qml OtherButton.qml main.qml 我使用列表视图解决了这个问题。这使按钮显示正确 ListModel {

我有一个简单的qml文件,它创建了我的qml组件,如下所示。我需要在control_部分加载不同的控件组件

以下是我需要支持的不同控制案例

  • 一个按钮
  • 水平布局的两个按钮(行)
  • 两个文本框和一个垂直布局的按钮(行)
第一种情况下,只有一个按钮。然而,在第二种情况下,只有最后一个按钮显示。如何使行中的两个按钮都显示出来

注意:问题似乎在于按钮相互重叠

Frame.qml

OtherButton.qml

main.qml


我使用
列表视图解决了这个问题。这使按钮显示正确

ListModel {
    id: listModel
    ListElement {text: "A"; next: "first.qml"}
    ListElement {text: "B"; next: "second.qml"}
}

Component {
    id: listDelegate
    Item {
       OtherButton  {}
    }
}

ListView {
    model : listModel
    delegate: listDelegate
}

你能发布运行的代码吗?IIRC
Row
并不真正支持动态内容,它是一个静态结构。你要么需要一些支持它的东西,比如说列表模型,要么自己实现它。@ddriver我刚刚开始探索ListModel选项。
Item { ..; Button {...};}
Frame {
    components: Row {
        OtherButton {}
        OtherButton {}
    }
}
ListModel {
    id: listModel
    ListElement {text: "A"; next: "first.qml"}
    ListElement {text: "B"; next: "second.qml"}
}

Component {
    id: listDelegate
    Item {
       OtherButton  {}
    }
}

ListView {
    model : listModel
    delegate: listDelegate
}