多級視窗可以通過動態元件進行實現,也可以通過loader載入。
然而,在此要注意視窗顯示、隱藏的順序;
1、當視窗層級為主視窗 - 子視窗a --- 子視窗b;
這種模式, a是b的父視窗,那麼在進行顯示時,必須先顯示a,在顯示b, 同時,在隱藏時,要先隱藏b,在隱藏a,如果先隱藏了a,再隱藏b,就會出現主視窗自動最小化到
狀態列的現象:
如果將主視窗傳入a內,在動態建立b,同時指定b的父視窗為主視窗,那麼在子視窗a關閉,而b隱藏的狀態時,會出現b突然又顯示出來了,而a正常關閉;
正確的做法是將a,b作為同級視窗,同時以主視窗作為父視窗,通過訊號進行控制兩個視窗的相關顯示、隱藏關係;
main.qml
import qtquick 2.9import qtquick.window 2.2
import qtquick.controls 1.3
window
test1
}connections
}component.oncompleted:
}}
test1.qml
import qtquick 2.0import qtquick.window 2.2
import qtquick.controls 1.3
window
}function open()
function close()
}
testcomp.qml
import qtquick 2.0import qtquick.window 2.2
import qtquick.controls 1.3
window
button}}
function open()
function close()
}
QML彈出多級選單
qml中的彈出多級選單,可以用於右鍵彈出,也可以在menubar中新增,用法是一樣的。本文以右鍵彈出多級選單為例,例項演示如何使用qml中的多級選單,以及自定義選單的樣式。我們要呼叫的rightpopupmenu元件,在使用時,參照main.qml中的用法 import qtquick 2.5 im...
qml滑鼠拖動 qml實現視窗拖動
在去掉視窗標題欄後視窗會失去滑鼠拖動效果,所以需要自己新增拖動效果。實現 id mainwindow visible true width 900 height 600 title qstr hello world flags qt.window qt.framelesswindowhint 去標題...
QML設定視窗背景
剛開始接觸qml 先上圖了 上 import qtquick 2.4 import qtquick.controls 1.3 import qtquick.window 2.2 import qtquick.dialogs 1.2 title qstr hello world width 640 h...