qml有AB两个页面,两者没什么关系,如何实现A修改B页面的值
答案:1 悬赏:80 手机版
解决时间 2021-02-05 23:31
- 提问者网友:最爱你的唇
- 2021-02-05 05:51
qml有AB两个页面,两者没什么关系,如何实现A修改B页面的值
最佳答案
- 五星知识达人网友:煞尾
- 2021-02-05 06:01
如果要在A中调用B 那么 在A中这样写
B{ color:"red" }
前提是B中的根节点必须有color属性 若没有color 那么需要在B的根节点定义属性color 如:
property color color: "green" 或 property string color: "green"
如果正如 楼主所说 ab没有关系,实现a修改b的值,那么需要找a与b的关系.
可能情况有N种 (这个要看楼主用的什么结构来显示页面了,总之必须找到B实例化的Item)
比如你用了一个栈(stackView) 那么A和B的关系需要通过StackView的get(int index, bool dontLoad)或者find( function, bool onlySearchLoadedItems)方法 找到B页,找到之后可以 修改B页面根节点的属性color(不是根节点的话,定义属性在根节点),如:
stackview.get(0).color = "green"
其余的可能还有 Listview pathView等...追问干脆直接问你,纯qml能不能实现换肤效果啊,例如,我把button写成了一个组件,我在换肤页面能不能通过修改这个组件达到修改所有button的效果追答...这个问题刚刚写完追问都是我问的。。。
B{ color:"red" }
前提是B中的根节点必须有color属性 若没有color 那么需要在B的根节点定义属性color 如:
property color color: "green" 或 property string color: "green"
如果正如 楼主所说 ab没有关系,实现a修改b的值,那么需要找a与b的关系.
可能情况有N种 (这个要看楼主用的什么结构来显示页面了,总之必须找到B实例化的Item)
比如你用了一个栈(stackView) 那么A和B的关系需要通过StackView的get(int index, bool dontLoad)或者find( function, bool onlySearchLoadedItems)方法 找到B页,找到之后可以 修改B页面根节点的属性color(不是根节点的话,定义属性在根节点),如:
stackview.get(0).color = "green"
其余的可能还有 Listview pathView等...追问干脆直接问你,纯qml能不能实现换肤效果啊,例如,我把button写成了一个组件,我在换肤页面能不能通过修改这个组件达到修改所有button的效果追答...这个问题刚刚写完追问都是我问的。。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯