gpt4 book ai didi

c++ - QML - 如何将变量从一个 qml 文件发送/传递到另一个 qml 文件

转载 作者:太空狗 更新时间:2023-10-29 20:13:14 30 4
gpt4 key购买 nike

如何在 qml 文件之间发送变量或信号?

http://i.stack.imgur.com/MChCG.png

  1. Mainwindow -> 创建组件Item2.qml
  2. MainWindow -> 创建组件 item1.qml
  3. item1.qml -> 创建组件Item3.qml
  4. Item3.qml -> 更改/发送变量或信号到 ItemII.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 ")
}
}

主.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)
}
}

关于c++ - QML - 如何将变量从一个 qml 文件发送/传递到另一个 qml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22632588/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com