导航和寻址 QMLComponent
我正在开发一个桌面应用程序,该应用程序使用带有大量 QML 组件的 QML GUI。 这些是层次结构的一部分:
main -> toolbar -> searchbar -> editfield
我
main -> resultlist -> header -> button1
找不到在button1的信号处理程序中访问editfield的文本内容的方法。是否可以在 QML 或 Javascript 中做到这一点?
我知道我可以使用 objectName 属性访问 C++ 部分中的元素。
I am working on a desktop application the uses a QML GUI with a lot of QML Components.
These are parts of the hierarchy:
main -> toolbar -> searchbar -> editfield
and
main -> resultlist -> header -> button1
I could not find a way to access the text contents of editfield in a signal handler for button1. Is it possible to do that in QML or Javascript?
I know I can access the element in the C++ part by using the objectName property.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
由于 QML 使用动态作用域(→ Doc ),子元素可以访问所有祖先的属性
如果它们位于不同的文件中也没关系。
因此,您可以向 main 添加一个
editFieldText
属性并绑定editfield 的
text
属性。然后您可以访问editFieldText
来自各地:
Due to QML uses dynamic scoping (→ Doc), child elements can access the properties of all ancestors
and it doesn't matter if they are in different files.
So you could add an
editFieldText
property to main and bind thetext
property of editfield to it. Then you can accesseditFieldText
from everywhere:
您可以使用别名属性将 editfield.text 作为 main 的属性。该属性应该可以从button1 访问。
You can use alias properties to have the editfield.text as a property of main. This property should be accessible from button1.