Qt 如何从QML中的显示中删除/删除屏幕/页面?
我有一个Qt 如何从QML中的显示中删除/删除屏幕/页面?,qt,qml,qt-quick,Qt,Qml,Qt Quick,我有一个加载程序,我使用它加载多个屏幕/页面 我有大约10个QML屏幕/页面,我在加载程序中逐个加载鼠标事件 在一些屏幕上,我需要使用QWidget::setMask()函数设置透明度,以使屏幕/页面的某些部分透明并在屏幕上打孔 我使用rootObject屏幕上的Loader上的QWidget::setMask()从CPP代码设置掩码 QWidget::setMask工作正常,但遮罩区域显示先前加载的屏幕/页面 因此,我有一个问题,Loader元素是否在加载Loader中的新屏幕/页面之前,正确
加载程序
,我使用它加载多个屏幕/页面
我有大约10个QML屏幕/页面,我在加载程序中逐个加载鼠标事件
在一些屏幕上,我需要使用QWidget::setMask()
函数设置透明度,以使屏幕/页面的某些部分透明并在屏幕上打孔
我使用rootObject
屏幕上的Loader
上的QWidget::setMask()
从CPP代码设置掩码
QWidget::setMask
工作正常,但遮罩区域显示先前加载的屏幕/页面
因此,我有一个问题,Loader
元素是否在加载Loader
中的新屏幕/页面之前,正确地从显示中删除/删除加载的组件,如文档中所述
还有两个函数名为Component.onestroyed
和Component.onDestruction
当我在加载器中加载新屏幕/页面时,将为加载的屏幕触发指令
我想在加载程序中加载新页面后,完全删除/销毁屏幕/页面。
我还尝试设置先前加载的屏幕的可见性和不透明度,但仍然能够在遮罩区域中看到先前加载的屏幕/页面
如果我设置了加载程序的source=“
和sourceComponent=undefined
,那么我也可以在加载程序中看到上一个加载的页面,它不会刷新屏幕。上一页已销毁,但未从显示中清除/删除
原因是什么?您是否尝试过使用
QWidget::clearMask()在接收信号<代码>组件时,C++中的函数在加载QML文件中的破坏< /代码>,或在接收<代码> OnSoCube Texs//Cult> <代码>加载程序< /C> > /P>中,澄清:您使用的是一个加载器,并将其源属性更改为10个屏幕之一?我有完全相同的问题。你解决了这个问题吗?