Qt QML:如何动态添加行
我有一个简单的qml文件,它创建了我的qml组件,如下所示。我需要在control_部分加载不同的控件组件 以下是我需要支持的不同控制案例Qt QML:如何动态添加行,qt,qml,Qt,Qml,我有一个简单的qml文件,它创建了我的qml组件,如下所示。我需要在control_部分加载不同的控件组件 以下是我需要支持的不同控制案例 一个按钮 水平布局的两个按钮(行) 两个文本框和一个垂直布局的按钮(行) 第一种情况下,只有一个按钮。然而,在第二种情况下,只有最后一个按钮显示。如何使行中的两个按钮都显示出来 注意:问题似乎在于按钮相互重叠 Frame.qml OtherButton.qml main.qml 我使用列表视图解决了这个问题。这使按钮显示正确 ListModel {
- 一个按钮
- 水平布局的两个按钮(行)
- 两个文本框和一个垂直布局的按钮(行)
我使用
列表视图解决了这个问题。这使按钮显示正确
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
}
你能发布运行的代码吗?IIRCRow
并不真正支持动态内容,它是一个静态结构。你要么需要一些支持它的东西,比如说列表模型,要么自己实现它。@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
}