转载地址:http://blog.csdn.net/kanchuan1905/article/details/53762788
在Qt Quick的世界里,Window对象用于创建一个与操作系统相关的顶层窗口,包含了如Text, Rectangle, Image等元素。Window还有一个派生类,即大名鼎鼎的ApplicationWindow,也可以作为QML文档的根对象。上一篇文章,我们提到的使用QQuickView加载QML的方式,顶层窗口是由QQuickView创建的。
        要使用Window对象,需要使用下面这行代码来导入Window模块:
            import QtQuick.Window 2.2
        1)Window对象可以创建一个新的顶层窗口来作为Qt Quick的活动场景,它会自动设置好窗口的基本属性,如图标、标题、系统按钮。当然也可以撰写QML代码来设定窗口的属性。下面来谈谈这些属性。
        Window在桌面上的位置,由x, y属性决定,其大小由width,height属性决定。除此之外,你还可以使用minimumWidth ,  minimumHeight来限制窗口的最小尺寸,使用maximumWidth, maximumHeight来限制窗口的最大尺。作为受窗口管理系统控制的一个窗口,其显示状态有:正常、最小化、最大化、全屏、隐藏。PC操作系统的窗口管理系统多数都支持鼠标拖动改变窗口的大小和位置。
        Window对象的visibility属性用来设置这个窗口的显示状态,可以取下列值:
            Window. Windowed,窗口占屏幕的一部分,窗口管理系统支持同时显示多窗口时才有效。
         Window.Minimized,最小化到任务栏上的一个图标。
         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,可以用来设置内容元素的尺寸属性。  

QML学习之浅谈Window的更多相关文章

  1. TensorFlow 2.0 深度学习实战 —— 浅谈卷积神经网络 CNN

    前言 上一章为大家介绍过深度学习的基础和多层感知机 MLP 的应用,本章开始将深入讲解卷积神经网络的实用场景.卷积神经网络 CNN(Convolutional Neural Networks,Conv ...

  2. python学习(28) 浅谈可变对象的单例模式设计

    python开发,有时候需要设计单例模式保证操作的唯一性和安全性.理论上python语言底层实现和C/C++不同,python采取的是引用模式,当一个对象是可变对象,对其修改不会更改引用的指向,当一个 ...

  3. 关于AngularJS学习整理---浅谈$scope(作用域) 新手必备!

    作为初次接触 AngularJS的新手,想要深层理解里面的内容短时间还是不可能的,所以标题写了浅谈字样,以下内容是参考各位大神以及相关书籍整理加个人理解,出现错误的地方请大家指正. $scope(作用 ...

  4. 深度学习:浅谈RNN、LSTM+Kreas实现与应用

    主要针对RNN与LSTM的结构及其原理进行详细的介绍,了解什么是RNN,RNN的1对N.N对1的结构,什么是LSTM,以及LSTM中的三门(input.ouput.forget),后续将利用深度学习框 ...

  5. 浅谈window.attachEvent

    以前写 JavaScript 脚本时,事件都是采用object.event = handler;的方式初始化.这种方式对于 Internet Explorer.Mozilla/Firefox 和 Op ...

  6. Java学习笔记——浅谈数据结构与Java集合框架(第一篇、List)

    横看成岭侧成峰,远近高低各不同.不识庐山真面目,只缘身在此山中. --苏轼 这一块儿学的是云里雾里,咱们先从简单的入手.逐渐的拨开迷雾见太阳.本次先做List集合的三个实现类的学习笔记 List特点: ...

  7. 菜鸟学习计划浅谈之Linux系统

    人这一生都是在不断地学习,不断地进步中度过的,刚开始学习任何一门知识的时候,我们都习惯性的称自己为菜鸟,觉得自己对这方面的知识欠缺,水平很low,我也是如此.但我擅长总结,对于自己学习的新知识,总结学 ...

  8. 菜鸟学习计划浅谈之Linux系统 原

    人这一生都是在不断地学习,不断地进步中度过的,刚开始学习任何一门知识的时候,我们都习惯性的称自己为菜鸟,觉得自己对这方面的知识欠缺,水平很low,我也是如此.但我擅长总结,对于自己学习的新知识,总结学 ...

  9. [JS学习笔记]浅谈Javascript事件模型

    DOM0级事件模型 element.on[type] = function(){} 兼容性:全部支持   lay1 lay2 lay3 e.target:直接触发事件的元素[IE8及以下不支持tage ...

随机推荐

  1. css+jq写的小小的移动端按钮的动画改变(三个很闲变成一个叉号)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. iOS-多线程的底层实现

    (1)首先回答什么是线程 1个进程要想执行任务,必须得有线程.线程是进程的基本执行单元,一个进程(程序)的所有任务都在线程中执行 (2)什么是多线程 1个进程中可以开启多条线程,每条线程可以并行(同时 ...

  3. 如何用Project2010制作WBS

    如何用Project2010制作WBS: http://www.projectup.net/blog/index.php?option=com_content&view=article& ...

  4. 【BZOJ1495】[NOI2006]网络收费 暴力+DP

    [BZOJ1495][NOI2006]网络收费 Description 网络已经成为当今世界不可或缺的一部分.每天都有数以亿计的人使用网络进行学习.科研.娱乐等活动.然而,不可忽视的一点就是网络本身有 ...

  5. 【BZOJ2699】更新 动态规划

    [BZOJ2699]更新 Description        对于一个数列A[1..N],一种寻找最大值的方法是:依次枚举A[2]到A[N],如果A[i]比当前的A[1]值要大,那么就令A[1]=A ...

  6. 如何使用iOS 开发证书 和 Profile 文件

    如果你想在 iOS 设备(iPhone/iPad/iTouch)上调试, 需要有 iOS 开发证书和 Profile 文件. 在你拿到这两个文件之后,该如何使用呢? 证书使用说明: 1.  iOS 开 ...

  7. MyBatis笔记——EhCache二级缓存

    介绍 ehcache是一个分布式缓存框架. 我们系统为了提高系统并发,性能.一般对系统进行分布式部署(集群部署方式)  不使用分布缓存,缓存的数据在各各服务单独存储,不方便系统开发.所以要使用分布式缓 ...

  8. nginx的简单使用和使用nginx在windows上搭建tomcat集群

    nginx是一款轻量级的web服务器,常用的作用为服务器/反向代理服务器以及电子邮件(IMAP/POP3)代理服务器 1.为什么我们要使用Nginx? 反向代理: 反向代理(Reverse Proxy ...

  9. HDU1811 拓扑排序判环+并查集

    HDU Rank of Tetris 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1811 题意:中文问题就不解释题意了. 这道题其实就是一个拓扑排序判圈 ...

  10. Windows中压缩版的MySQL的安装、配置

    本次笔记是根据mysql-8.0.13-winx64版本编写: 1.将下载的压缩包解压到自己想放的目录 2.右键计算机 -> 属性 -> 高级系统设置 -> 环境变量 -> 系 ...