转载地址: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. 剑指 offer set 25 求 1+2+...+n

    题目 要求不能使用乘除法, for, while, if else, switch, case 等关键字 思路 1. 循环已经命令禁止, 禁用 if, 意味着递归也不能使用. 但即便如此, 我们仍然要 ...

  2. Java知识点梳理——装箱和拆箱

    1.前言:Java是典型的面向对象编程语言,但其中有8种基本数据类型不支持面向对象编程,基本数据类型不具备对象的特性,没有属性和方法:Java为此8种基本数据类型设计了对应的类(包装类),使之相互转换 ...

  3. 实现 IteratorAggregate接口

    <?php class MyIterator implements Iterator{ private $var = array(); public function __construct($ ...

  4. wap开发体会<转载>

    前二天因工作需要,上头要求做一个wap版的网站,到网上学习了一天,弄了个beta版出来(http://wap.luckty.com 功能很一般),整理几点经验如下: 1.wap网站用的是wml标识,非 ...

  5. windows安装oracle11g第二部

    Oracle 11g数据库安装及配置 安装Oracle数据库: 1)压缩包解压,双击运行win64_11gR2_database\database\setup.exe 2)输入电子邮件,点击“下一步” ...

  6. C程序编译过程浅析(转)

    前几天看了<程序员的自我修养——链接.装载与库>中的第二章“编译和链接”,主要根据其中的内容简单总结一下C程序编译的过程吧. 我现在一般都是用gcc,所以自然以GCC编译hellworld ...

  7. [报错]Unable to simultaneously satisfy constraints

    项目中自定义Cell,控件使用autoLayout来设置约束,发现运行页面表现正常,但是控制台报如下错误: Unable to simultaneously satisfy constraints. ...

  8. TCP和UDP的区别?

    答:TCP提供面向连接的.可靠的数据流传输,而UDP提供的是非面向连接的.不可靠的数据流传输.TCP传输单位称为TCP报文段,UDP传输单位称为用户数据报.TCP注重数据安全性,UDP数据传输快,因为 ...

  9. json中load和loads区别

    相同点 dump 和 dumps 都实现了序列化 load 和 loads 都实现反序列化 变量从内存中变成可存储或传输的过程称之为序列化序列化是将对象状态转化为可保存或可传输格式的过程. 变量内容从 ...

  10. (转)Unity3d的3种截图方法

    下面是我总结的.在u3d中的,三种截屏方法: 1.使用Application类下的CaptureScreenshot方法. void CaptureScreen() { Application.Cap ...