私はLoader
を使用して、複数の画面/ページをロードしています。QMLの画面/ページを削除/削除するには?
私は約10個のQML画面/ページをマウスイベントで1つずつローダーにロードしています。
QWidget::setMask()
機能を使用して透明度を設定する必要がある画面の一部では、画面/ページの一部を透明にして画面をパンチする機能があります。
rootObject
のQWidget::setMask()
のLoader
の画面を使用してCPPコードからマスクを設定しています。
QWidget::setMask
は完全に機能していますが、マスクされた領域は以前に読み込まれた画面/ページを表示します。
Loader
要素は、文書http://doc.qt.nokia.com/4.7-snapshot/qml-loader.htmlに記載されているように、Loader
に新しい画面/ページをロードする前に、読み込まれたコンポーネントを適切に削除/削除しますか?
はまた、私はローダーonDestruction
イベントで新しい画面/ページをロードするとComponent.onDestroyed
とComponent.onDestruction
という名前の2つの機能があり、ロードされたスクリーンのために解雇されています。
ローダーで新しいページを読み込んだら、画面/ページをディスプレイから完全に削除/破棄したいと思います。 以前に読み込まれた画面の可視性と不透明度を設定しようとしましたが、それでもマスクされた領域に以前読み込まれた画面/ページが表示されています。
ローダーのsource = ""
とsourceComponent = undefined
を設定すると、以前にロードされたページがローダーに表示され、画面が更新されません。前のページは破棄されますが、ディスプレイから消去/削除されません。
どのような理由がありますか?
あなたは1つのローダーを使用していて、そのソースプロパティを10個の画面の1つに変更していますか? –
私はまったく同じ問題を抱えています。あなたはこれを解決することができましたか? – MokaT