我有一個Loader
使用我加載多個屏幕/頁面。如何從QML中的顯示中刪除/刪除屏幕/頁面?
我有大約10個QML屏幕/頁面,我在加載程序中一個接一個地在鼠標事件中加載。
在一些屏幕上,我需要使用QWidget::setMask()
函數設置透明度,以使屏幕/頁面的某些部分變得透明,並打孔屏幕。
我正在使用QWidget::setMask()
在rootObject
,這是Loader
屏幕從CPP代碼設置掩碼。
QWidget::setMask
正常工作,但屏蔽區域顯示以前加載的屏幕/頁面。
所以我的問題,是Loader
元素正確刪除/在Loader
加載新的屏幕/頁,在文件http://doc.qt.nokia.com/4.7-snapshot/qml-loader.html之前提到的去除顯示加載的組件。
也有兩個名爲Component.onDestroyed
和Component.onDestruction
當我在裝載機onDestruction
事件加載新的屏幕/頁面會因此被炒魷魚的加載屏幕功能。
一旦我們在加載程序中加載新頁面,我想徹底刪除/銷燬屏幕/頁面。 我也嘗試設置以前加載的屏幕的可見性和不透明度,但仍然能夠看到掩蓋區域中以前加載的屏幕/頁面。
如果我設置了加載程序的source = ""
和sourceComponent = undefined
那麼我也可以在Loader中看到之前加載的頁面,它不刷新屏幕。上一頁被破壞,但不會從顯示屏上清除/刪除。
應該是什麼原因?
只是爲了闡明:你正在使用一個單一的Loader,並將其源屬性更改爲你的10個屏幕之一? –
我有完全相同的問題。你有沒有設法解決這個問題? – MokaT