从同一选项卡窗格中的不同 qml 选项卡访问属性
Posted
技术标签:
【中文标题】从同一选项卡窗格中的不同 qml 选项卡访问属性【英文标题】:Access properties from different qml tabs within same tabbedpane 【发布时间】:2014-05-29 23:11:26 【问题描述】:我的 main.qml 包含一个选项卡窗格,其中有两个选项卡:tab1 和 tab2。 我希望能够将文本从一个选项卡更改为另一个选项卡。
如果我对导航窗格做同样的事情,它可以工作,但显然不能用标签。有什么办法可以在他们之间共享信息吗?我已经在 C++ 中尝试过使用信号,但它也不起作用(我猜它不知道实例?)。
欢迎提出任何建议。
main.qml:
TabbedPane
Tab
Tab1
Tab
Tab2
attachedObjects: [
Tab1
id: tab1
,
Tab2
id: tab2
]
Tab1.qml:
Page
property alias labeltab1: labeltab1
Container
Label
id: labeltab1
text: "label tab1"
Button
id: buttontab1
text: "tab1"
onClicked:
tab2.labeltab2.text = "This is coming from tab1"
Tab2.qml:
Page
property alias labeltab2: labeltab2
Container
Label
id: labeltab2
text: "Label tab2"
Button
id: buttontab2
text: "tab2"
onClicked:
tab1.labeltab1.text = "This is coming from tab2"
【问题讨论】:
【参考方案1】:我想使用标签实际上更简单,我找到了自己的解决方案。
我注意到,momentics 无法检测到“thepane”是可链接的,并且在从其中一个选项卡中键入它时不会提示其名称。此外,带有冒号的属性将自动绑定其后的值,如: text: thepane.mystring
单击按钮时,它会更改 mystring 的值,从而更改两个标签文本。
main.qml
TabbedPane
id: thepane
property string mystring
Tab
Tab1
Tab
Tab2
Tab1.qml
Page
Container
Label
id: labeltab1
text: thepane.mystring
Button
id: buttontab1
text: "tab1"
onClicked:
thepane.mystring = "This is coming form tab1"
Tab2.qml
Page
Container
Label
id: labeltab2
text: thepane.mystring
Button
id: buttontab2
text: "tab2"
onClicked:
thepane.mystring = "This is coming from tab2"
【讨论】:
【参考方案2】:感谢您的想法。 我更改了代码。现在对我来说更好了,也许对其他人来说更好:)
main.qml
TabbedPane
id: main_Pane
property string action_1
property string action_2
Tab
Tab1
Tab
Tab2
Tab1.qml
Page
Container
Label
text: main_Pane.action_1
Button
text: "Button 1"
onClicked:
main_Pane.action_2 = "This is action form Tab1"
Tab2.qml
Page
Container
Label
text: main_Pane.action_2
Button
text: "Button 2"
onClicked:
main_Pane.action_1 = "This is action from Tab2"
【讨论】:
以上是关于从同一选项卡窗格中的不同 qml 选项卡访问属性的主要内容,如果未能解决你的问题,请参考以下文章
SPFX Webpart 属性窗格在 MS Teams 个人选项卡中不可见