我有一个Loader使用我正在加载多个屏幕/页面.
我有大约10个QML屏幕/页面,我在鼠标事件中逐个加载到加载程序中.
在某些屏幕上,我需要使用QWidget::setMask()功能设置透明度,使屏幕/页面的某些部分变得透明,并在屏幕上打孔.
我使用CPP代码做设定屏蔽QWidget::setMask()的rootObject,这是Loader屏幕.
QWidget::setMask 工作正常,但屏蔽区域显示以前加载的屏幕/页面.
所以我有一个问题,如在文档http://doc.qt.nokia.com/4.7-snapshot/qml-中提到的那样,Loader元素在加载新屏幕/页面之前是否正确地从显示中删除/删除了已加载的组件.loader.html.Loader
还有两个名为Component.onDestroyedand的函数Component.onDestruction
当我在Loader onDestruction事件中加载新的屏幕/页面时,被加载的屏幕被触发.
我想在加载器中加载新页面后,从显示中完全删除/销毁屏幕/页面.我还尝试设置以前加载的屏幕的可见性和不透明度,但我仍然可以在蒙版区域中看到以前加载的屏幕/页面.
如果我设置了加载器source = "",sourceComponent = undefined然后我也可以在Loader中看到之前加载的页面,它不会刷新屏幕.上一页被销毁,但未从显示中清除/删除.
应该是什么原因?
您是否尝试过在加载的 qml 文件中接收信号或接收信号时使用QWidget::clearMask()C++ 中的函数?Component.onDestructiononSourceChangedLoader
| 归档时间: |
|
| 查看次数: |
1781 次 |
| 最近记录: |