我对QML有一些疑问。我有一个TableView,当我点击列标题时,我需要打开一个新窗口,其中包含该列下的所有元素,每个元素左侧都有一个按钮。
单击该按钮应将消息发送回TableView以进行更新
我的问题是:
答案 0 :(得分:1)
您可以在QML中的多个窗口之间进行通信,就像在任何其他两个Items
之间进行通信一样,通过id
引用它们或将它们分配给您以后用于的属性参考他们。
一个问题:
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.0
Item {
ApplicationWindow
{
id: appWindow
width: 500
height: 800
visible: true
ListModel {
id: lm
Component.onCompleted: {
for (var i = 0; i < 42; i++) append( { message: 'Hellow World ' + i })
}
}
ListView {
id: lv
width: 300
height: 800
model: lm
delegate: Button {
text: model.message
onClicked: secondWindow.text = text
}
}
}
ApplicationWindow
{
id: secondWindow
width: 500
height: 800
x: appWindow.x + 500
y: appWindow.y
visible: true
property alias text: label.text
Text {
id: label
anchors.centerIn: parent
}
}
}