qml 多級視窗visible現象

2022-08-02 11:54:16 字數 960 閱讀 1024

多級視窗可以通過動態元件進行實現,也可以通過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.9

import qtquick.window 2.2

import qtquick.controls 1.3

window

test1

}connections

}component.oncompleted:

}}

test1.qml

import qtquick 2.0

import qtquick.window 2.2

import qtquick.controls 1.3

window

}function open()

function close()

}

testcomp.qml

import qtquick 2.0

import 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...