解决在Item控件下,加载Window控件,不能显示问题

qml中,解决在Item控件下,加载Window控件,不能显示问题

如以下程序:

Item {
	Window{
		visible:true
	}
}

Window对象并不会被加载出来。和网上找了很多资料,有的说是Qt的bug。之后找见一种如下的方法:

Item {
	Window{
 	Component.onCompleted: {
		visible = true
		}
	}
}

以上程序可以进行正常加载。
问题又来了,这样显示的话,window对象只会被加载一次,将Window关闭之后,不会再次被加载。所以我又开始试验的新的方法。

 Component{
	id:component
	Window{	//为一个Window控件
		visible: true
	}
}

Loader{
	id:loader
}

Loader 可以使用 sourceComponent 来装载一个Component 对象。当 Loader 的 sourceComponent 属性发生变化时,它之前加载的 Component 会自动销毁,新对象会被加载。将 sourceComponent 设置为 undefined ,将会销毁当前加载的对象,相关的资源也会被释放,而 Loader 对象则变成一个空对象。

所以在加载一个Window对象,可以进行如下操作:
loader.sourceComponent = component
当关闭这个Window对象的话
loader.sourceComponent = undefined

这样就可以多次进行Window对象的加载了。

欢迎大家的批评指正!!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值