2011-10-20 13 views
5

Tengo una Loader con la que estoy cargando las pantallas/páginas múltiples.¿Cómo borrar/eliminar pantalla/página de la pantalla en QML?

que tienen alrededor de 10 QML pantalla/páginas que estoy de carga en el cargador de uno a uno en los eventos del ratón.

En algunas de las pantallas necesito establecer la transparencia usando la función QWidget::setMask() para hacer que una parte de la pantalla/página se vuelva transparente y perforar la pantalla.

Estoy haciendo conjunto máscara de código CPP usando QWidget::setMask() en el rootObject, que es Loader pantalla.

QWidget::setMask está funcionando perfectamente, pero la zona enmascarada displays cargado previamente pantalla/página.

así que tengo la pregunta: ¿Es Loader elemento elimina adecuadamente/elimina el componente de carga desde la pantalla antes de cargar la nueva pantalla/página en el Loader, como se menciona en los documentos http://doc.qt.nokia.com/4.7-snapshot/qml-loader.html.

También hay dos función llamada Component.onDestroyed y Component.onDestruction

Cuando cargo nueva pantalla/página en caso de cargador onDestruction está siendo despedido de la pantalla Loaded.

que desea eliminar por completo/destruir la pantalla/página de la pantalla una vez que cargamos nueva página en el cargador. También traté de establecer la visibilidad y la opacidad de la pantalla previamente cargada, pero aún así puedo ver la pantalla/página Cargada previamente en el área enmascarada.

Si configuro el cargador source = "" y sourceComponent = undefined, entonces también puedo ver la página cargada previamente en Loader, no está refrescando la pantalla. La página anterior se destruye pero no se borra/elimina de la pantalla.

¿Cuál debe ser la razón?

+0

Solo para aclarar: que está utilizando un único cargador y cambie su fuente-propiedad a una de sus 10 pantallas? –

+0

Tengo exactamente el mismo problema. ¿Has logrado resolver esto? – MokaT

Respuesta

0

¿Ha intentado utilizar QWidget::clearMask() función en C++ cuando se recibe la señal Component.onDestruction en el archivo QML cargada o cuando se recibe onSourceChanged en Loader?