Window {
Window {
id: childWindow
}
}
このようなQMLがあり、ウィンドウが表示されているときにはchildWindow
アイコンがタスクバーに表示されません。私の環境はWindows 7です。 CPP設定では、childWindow
の親を0
に設定すると、両方のウィンドウをトップレベルにすることで十分です。タスクバーに子ウィンドウのアイコンを表示する方法
しかし、それをQMLでどうやって行うのですか?
Window {
Window {
id: childWindow
}
}
このようなQMLがあり、ウィンドウが表示されているときにはchildWindow
アイコンがタスクバーに表示されません。私の環境はWindows 7です。 CPP設定では、childWindow
の親を0
に設定すると、両方のウィンドウをトップレベルにすることで十分です。タスクバーに子ウィンドウのアイコンを表示する方法
しかし、それをQMLでどうやって行うのですか?
にそのような何かを追加することによって行うことができます。wnd1
は(メイン/ルートウィンドウ)閉じていることを
Item
{
Window
{
id: wnd1
width: 200
height: 200
title: "Window1"
visible: true
onClosing: wnd2.close();
}
Window
{
id: wnd2
width: 200
height: 200
title: "Window2"
visible: true
}
}
注意をもう1つは、メインウィンドウを閉じる際の正しい動作または期待される動作を保証するために、閉じたonClosing
ハンドルを取得します。
あなたは、このようなQMLでオブジェクトを作成する場合は、親が自動的に設定され、そしてあなただけparent
-propertyを使用してビジュアル親を変更することができます。
次のように前者は行うことができます。
property Window mySecondWindow: secondWindowComponent.createObject(null)
Component {
id: secondWindowComponent
Window {
...
}
}
mySecondWindow.destroy()
を呼び出し、これを破壊します。参照のみを削除すると、JS GCが最終的にそれを処理します。それが失敗しなければ。
後者はあなたがそのような何かを行うことができますmain.cpp
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));