轉載地址:http://blog.csdn.net/kanchuan1905/article/details/53762788工具
在Qt Quick的世界裏,Window對象用於建立一個與操做系統相關的頂層窗口,包含了如Text, Rectangle, Image等元素。Window還有一個派生類,即大名鼎鼎的ApplicationWindow,也能夠做爲QML文檔的根對象。上一篇文章,咱們提到的使用QQuickView加載QML的方式,頂層窗口是由QQuickView建立的。佈局
要使用Window對象,須要使用下面這行代碼來導入Window模塊:ui
import QtQuick.Window 2.2操作系統
1)Window對象能夠建立一個新的頂層窗口來做爲Qt Quick的活動場景,它會自動設置好窗口的基本屬性,如圖標、標題、系統按鈕。固然也能夠撰寫QML代碼來設定窗口的屬性。下面來談談這些屬性。.net
Window在桌面上的位置,由x, y屬性決定,其大小由width,height屬性決定。除此以外,你還能夠使用minimumWidth , minimumHeight來限制窗口的最小尺寸,使用maximumWidth, maximumHeight來限制窗口的最大尺。做爲受窗口管理系統控制的一個窗口,其顯示狀態有:正常、最小化、最大化、全屏、隱藏。PC操做系統的窗口管理系統多數都支持鼠標拖動改變窗口的大小和位置。對象
Window對象的visibility屬性用來設置這個窗口的顯示狀態,能夠取下列值:blog
Window. Windowed,窗口占屏幕的一部分,窗口管理系統支持同時顯示多窗口時纔有效。事件
Window.Minimized,最小化到任務欄上的一個圖標。ci
Window.Maximized,最大化,佔用任務欄以外的全部屏幕空間,標題欄依然顯示。文檔
Window.FullScreen,全屏顯示,佔用整個屏幕,標題欄隱藏。
Window.AutomaticVisibility,給Window一個默認的顯示狀態,它的實際值與平臺實 現有關。
Window.Hidden, 隱藏,窗口不可見,與visible屬性的效果同樣。
窗口的隱藏、顯示由布爾類型的visible屬性控制,設置其爲true則顯示窗口,爲false隱藏窗口。
color屬性用來設置窗口的背景顏色,能夠用「blue",「#RRGGBB ", Qt.rgba()等形式爲其賦值;
opacity屬性用來設置窗口透明度,取值範圍是0一1.0;
title屬性用來設置窗口的標題,字符串類型;
activeFocusItem屬性類型是Item,保存窗口中擁有活動焦點的Item,可能爲null。
contentOrientation屬性用來設置窗口的內容佈局方向,能夠取下列值:
Qt.PrimaryOrientation,使用顯示設備的首選方向。
Qt.LandscapeOrientation,橫屏。
Qt.PortraitOrientation,豎屏。
Qt.InvertedLandscapeOrientation,相對於橫屏模式,旋轉了180°。
Qt.InvertedPortraitOrientation,相對於豎屏模式,旋轉了180°。
一個Qt Quick應用可能會有多個窗口,窗口之間的關係由modality(模態)屬性決定,一個模態的窗口會阻止其餘窗口獲取輸入事件。modality能夠取下列值:
a) Qt.NonModal,非模態。
b) Qt. WindowModal ,窗口級別的模態,設置此屬性的窗口只針對某一個窗口是模態的,如子窗口相對父窗口是模態的,相對同一應用中的其餘非父窗口則沒有模態效果。
c) Qt.ApplicationModal,應用級別的模態,設置此屬性的窗口會阻止同一應用的其餘窗口獲取輸入事件。
Window的flags屬性就是用來設置窗口標誌位的,取值與Qt C++同樣,不過要經過Qt.Widget, Qt.Popup這種形式來使用。
Window的data屬性爲默認屬性,類型是list<Object>。
2)ApplicationWindow是Window的派生類,使用它須要使用下面的語句來引入Controls模塊:
import QtQuick .Controls 1.2
ApplicationWindow有點兒像QMainWindow,有menuBar, toolBar, statusBar屬性,分別用來設置菜單、工具欄、狀態欄,還有contentltem,能夠用來設置內容元素的尺寸屬性。