qt - 如何从主页文本字段为第二页文本字段设置值
问题描述
我在 main.qml 和 second.qml 页面上有文本字段。当我为 main.page 文本字段设置值时,我想为 second.page 文本字段设置相同的值。我使用别名属性但没有得到预期的输出。
ApplicationWindow {
id: windowObject
visible: true
width: 640
height: 480
StackView {
id: stack
initialItem: view
Component {
id: view
MouseArea {
Text {
text: stack.depth
anchors.centerIn: parent
}
onClicked: stack.push(view)
}
}
}
TextField{
id: setvalue
text:"50" // set value from main page
}
Button{
id: clickme
text : "ClickMe"
x: 100
y:200
onClicked: {
console.debug("New Page")
stack.pop(StackView.Immediate)
stack.push (Qt.resolvedUrl("Secondpage.qml"))
} }}
第二页.qml:
Item {
id: name
property alias value : getvalue.text
TextField{
id: getvalue
text : "" // value from main page TextField
}
}
解决方案
实际上我没有找到你在哪里使用你的第二页。让我们假设它也应该在主屏幕上。然后你的代码应该看起来像这样:
Window {
id: windowObject
visible: true
width: 640
height: 480
TextField{
id: setvalue
text:"50" // set value from main page
}
Secondpage {
id: _secondPageItem
anchors.top: setvalue.bottom
value: setvalue.text
}
}
第二页.qml
Item { // Secondpage.qml
id: name
property alias value : getvalue.text
width: getvalue.width // by default item has geometry (0, 0)
height: getvalue.heigh
TextField{
id: getvalue
text : "" // value from main page TextField
}
}
推荐阅读
- r - 如何在 Ace 文本编辑器中添加新的语言模式?
- python - 如何在 python 的 GtkSourceView 中加载样式?
- flutter - google_maps_flutter Flutter 是否有可用的地图类型选择器?
- javascript - 如何从通过 foreach 填充的表中删除一行 - jquery
- angular - 等待Angular中的递归forkJoin
- python - 我怎么能在所有项目上循环这个 for 循环?
- python - TensorFlow saver.save() 无法始终如一地工作 - 导致核心转储和“在抛出 'std::length_error' 的实例后终止调用”
- java - 尽管组件扫描正确,但无法自动装配字段
- linux - 在 Ubuntu 上使用 Teams 同步问题
- c++11 - 实际函数调用计数与 EXPECT_CALL(mockImplClass, receive(_, _)) 不匹配