c – QML – 如何将变量从一个qml文件发送/传递到其他qml文件
发布时间:2020-12-16 09:51:22 所属栏目:百科 来源:网络整理
导读:如何在qml文件之间发送变量或信号? http://i.stack.imgur.com/MChCG.png 主窗口 – 创建一个组件Item2.qml MainWindow – 创建一个组件item1.qml item1.qml – 创建一个组件Item3.qml Item3.qml – 更改/发送变量或信号到ItemII.qml(在主窗口中创建) – 如
|
如何在qml文件之间发送变量或信号?
http://i.stack.imgur.com/MChCG.png >主窗口 – >创建一个组件Item2.qml 有人可以写一个小例子吗? 解决方法
示例代码:
Item1.qml //Item 1
import QtQuick 2.1
Rectangle {
width: 200
height: 100
color:"red"
Text{
anchors.centerIn: parent
font.pixelSize: 16
text:"Item1"
width:parent.width
horizontalAlignment: Text.AlignRight
color:"white"
}
}
Item2.qml //Item 2
import QtQuick 2.1
Rectangle {
width: 100
height: 100
color:"blue"
Text{
anchors.centerIn: parent
font.pixelSize: 16
text:"Item2"
color:"white"
}
}
Item3.qml //Item 3
import QtQuick 2.1
Rectangle {
id:item3
width: item3Area.pressed?90:100
height: item3Area.pressed?90:100
color:"green"
signal superAwesomeSignal(string txt)
Text{
anchors.centerIn: parent
font.pixelSize: 16
text:"Item3"
color:"white"
}
MouseArea{
id:item3Area
anchors.fill: parent
onClicked:item3.superAwesomeSignal("Hello,from Item 3 ")
}
}
Main.qml //Main.qml
import QtQuick 2.0
Rectangle {
width: 360
height: 360
Item1{
anchors.top: parent.top
anchors.left: parent.left
Item3{
id:item3
anchors.top: parent.top
onSuperAwesomeSignal: item2.item3SignalReceived(txt)
}
}
Item2{
id:item2
anchors.bottom: parent.bottom
signal item3SignalReceived(string txt)
onItem3SignalReceived:console.debug(txt)
}
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
