一、描述

Window 对象为 Qt Quick 场景创建一个顶级窗口。

Window 可以在 Item 内或在另一个 Window 内声明,在这种情况下,内部窗口将自动变为外部窗口的“瞬态”:即,默认情况下,大多数平台将显示它以外部窗口为中心。

import QtQuick 2.14
import QtQuick.Window 2.14Window {width: 640height: 480visible: truetitle: qsTr("Hello World")Window {width: 150height: 150visible: truetitle: qsTr("Hello World")}
}

二、属性成员

1、maximumHeight : int

maximumWidth : int

minimumHeight : int

minimumWidth : int

窗口的最大、最小尺寸。这是对窗口管理器的提示,以限定窗口的大小范围。

2、height : int

width : int

x : int

y : int

定义窗口的位置和大小。(x,y) 位置是相对于屏幕。

3、active : bool

窗口的活动状态。

4、activeFocusItem : Item

当前具有活动焦点的项目,如果没有具有活动焦点的项目,则为 null。

5、color : color

窗口的背景颜色。

6、[read-only]contentItem : Item

场景的不可见根项。

7、contentOrientation : Qt::ScreenOrientation

内容方向,这是对窗口管理器的提示。默认值为 Qt::PrimaryOrientation。

窗口和内容方向之间的差异决定了内容旋转的幅度。

enum Qt::ScreenOrientation:此枚举类型指定屏幕可能具有的各种方向。

  • Qt::PrimaryOrientation:显示器的主要方向。
  • Qt::LandscapeOrientation:横向,显示宽度大于显示高度。
  • Qt::PortraitOrientation:纵向,显示高度大于显示宽度,相对于横向顺时针旋转90度。
  • Qt::InvertedLandscapeOrientation:反向横向,相对于横向旋转 180 度。
  • Qt::InvertedPortraitOrientation:反向纵向,相对于纵向旋转 180 度。

8、[default] data : list<Object>

data 属性允许在一个窗口中自由混合可视子项、资源和其他窗口。

如果将 Item 分配给 data 列表,它将成为 Window 的 contentItem 的子项,因此它出现在窗口内。项目的父项将是窗口的 contentItem,它是该窗口内项目所有权树的根。

通常不需要引用此属性,因为它是 Window 的默认属性,所有子项都会自动分配给该属性。

9、flags : Qt::WindowFlags

窗口标志。窗口标志控制窗口在窗口系统中的外观,是对话框、弹出窗口还是常规窗口,以及是否应该有标题栏等。

10、modality : Qt::WindowModality

窗口的模态。模态窗口阻止其他窗口接收输入事件。

enum Qt::WindowModality:

  • Qt::NonModal:窗口不是模态的,不会阻塞其他窗口的输入。
  • Qt::WindowModal:该窗口对于单个窗口层次结构是模态的,并阻止输入到其父窗口、所有祖父窗口以及其父窗口和祖父窗口的所有兄弟窗口。
  • Qt::ApplicationModal:窗口对应用程序是模态的,并阻止对所有窗口的输入。

11、opacity : real

不透明度。如果窗口系统支持窗口不透明度,这可用于淡入淡出窗口,或使其半透明。

1.0 或更高的值被视为完全不透明,而 0.0 或更低的值被视为完全透明。 中间的值代表两个极端之间不同的半透明度水平。默认值为 1.0。

12、palette : Palette

此属性保存当前为窗口设置的调色板。

默认调色板取决于系统环境。QGuiApplication 维护一个系统/主题调色板,作为所有应用程序窗口的默认设置。在加载任何 QML 之前,可以通过将自定义调色板传递给 QGuiApplication::setPalette() 来设置窗口的默认调色板。

ApplicationWindow 将显式调色板属性传播到子控件。如果更改窗口调色板上的特定属性,该属性将传播到窗口中的所有子控件,覆盖该属性的任何系统默认值。

13、screen : variant

与窗口关联的屏幕。

如果在显示窗口之前指定,将导致该窗口显示在该屏幕上,除非已设置明确的窗口位置。该值必须是 Qt.application.screens 数组中的一个元素。

注意:为确保在创建底层本机窗口时该窗口与所需的屏幕相关联,请确保尽早设置此属性,并且不会推迟其值的设置。 这在没有窗口系统的嵌入式平台上尤为重要,因为每个屏幕一次只允许一个窗口。 如果新屏幕与旧屏幕属于同一虚拟桌面,则在创建窗口后设置屏幕不会移动窗口。

14、title : string

窗口的标题。根据窗口系统和窗口标志,窗口标题可能出现在窗口装饰的标题区域中。

15、transientParent : QWindow

此窗口是临时弹出的窗口。

这是对窗口管理器的提示:该窗口是代表临时父级的对话框或弹出窗口。这通常意味着瞬态窗口在最初显示时将以其瞬态父窗口为中心,最小化父窗口也会最小化瞬态窗口。

通常,如果在 Item 内或另一个 Window 内声明 Window,则会自动推断出这种关系。在这种情况下,如果将此窗口的 visible 属性声明为 true,则在显示瞬态父窗口之前它实际上不会显示。然而,如果设置了这个属性,那么 Qt Quick 将不再等待直到 transientParent 窗口出现才显示这个窗口。

如果希望能够独立于声明它的父项或窗口显示瞬态窗口,可以通过将瞬态父项设置为空来删除该关系:

import QtQuick.Window 2.13Window {Window {transientParent: nullvisible: true}
}

为了使窗口在默认情况下居中在其临时父级之上,取决于窗口管理器,可能还需要使用合适的 Qt::WindowType(例如 Qt::Dialog)设置 flags 属性。

16、visibility : QWindow::Visibility

窗口的屏幕工作状态。

设置为 QWindow::AutomaticVisibility 意味着给窗口一个默认的可见状态,根据平台可能是 QWindow::FullScreen 或 QWindow::Windowed。 但是,在读取可见性属性时,将始终获得实际状态,而不是 QWindow::AutomaticVisibility。

enum QWindow::Visibility:这个枚举描述了窗口占据或应该占据屏幕的哪个部分。

  • QWindow::Windowed:窗口占据屏幕的一部分,但不一定是整个屏幕。这种状态只会出现在支持同时显示多个窗口的窗口系统上。在这种状态下,如果 WindowFlags 允许并且窗口系统支持,则用户可以手动移动和调整窗口大小。
  • QWindow::Minimized:根据窗口系统处理最小化窗口的方式,窗口缩小为任务栏、停靠栏、任务列表或桌面上的条目或图标。
  • QWindow::Maximized:窗口占据一整屏,标题栏依然可见。在大多数窗口系统上,这是通过单击工具栏上的最大化按钮实现的状态。
  • QWindow::FullScreen:窗口占据一整屏,不可调整大小,也没有标题栏。在某些不支持同时显示多个窗口的平台上,当窗口未隐藏时,这可能是通常的可见性。
  • QWindow::AutomaticVisibility:给窗口一个默认的可见状态,根据平台可能是全屏或窗口化。
  • QWindow::Hidden:窗口在任何情况下都不可见。

17、visible : bool

窗口是否在屏幕上可见。设置为 false 与将 visibility 设置为 QWindow::Hidden 相同。

三、附加属性

1、Window.height : int

Window.width : int

窗口的大小。

2、Window.active : bool

窗口是否处于活动状态。

import QtQuick 2.4
import QtQuick.Window 2.2Text {text: Window.active ? "active" : "inactive"
}

3、Window.activeFocusItem : Item

此附加属性保存当前具有活动焦点的项目,如果没有具有活动焦点的项目,则为 null。

4、Window.contentItem : Item

此附加属性保存场景的不可见根项目,如果项目不在窗口中,则为 null。

5、Window.visibility : QWindow::Visibility

此附加属性保存窗口当前是否在窗口系统中显示为正常、最小化、最大化、全屏或隐藏。如果该项目未显示在任何窗口中,则该值将为 QWindow::Hidden。

6、Window.window : Window

此附加属性包含项目的窗口。

四、信号成员

1、afterAnimating()

该信号在请求渲染线程执行场景图同步之前在 GUI 线程上发出。

2、closing(CloseEvent close)

当用户尝试关闭窗口时会发出此信号。

该信号包括关闭参数。close.accepted 属性默认为 true,即允许窗口关闭。

3、sceneGraphError(SceneGraphError error, QString message)

当场景图初始化期间发生错误时,会发出此信号。

可以实现 onSceneGraphError(error, message) 以自定义方式处理错误,例如图形上下文创建失败。如果没有处理程序连接到此信号,Quick 将打印消息,或显示消息框,并终止应用程序。

五、成员函数

1、alert(int msec)

导致以毫秒为单位显示警报。 如果 msec 为 0(默认值),则警报将无限期显示,直到窗口再次变为活动状态。

在警报状态下,该窗口指示它需要注意,例如通过闪烁或弹跳任务栏条目。

2、close()

关闭窗口。

当调用此方法时,或者当用户尝试通过其标题栏按钮关闭窗口时,将发出 closing() 信号。如果没有处理程序,或者处理程序没有撤销关闭权限,窗口将随后关闭。如果 QGuiApplication::quitOnLastWindowClosed 属性为true,并且没有其他窗口打开,应用程序将退出。

3、hide()

隐藏窗口。相当于将 visible 设置为 false 或将 visibility 设置为 QWindow::Hidden。

4、lower()

请求将窗口降低以显示在其他窗口下方。

5、raise()

请求将窗口升高以显示在其他窗口之上。

6、requestActivate()

请求激活窗口,即接收键盘焦点。

7、show()

显示窗口。这相当于调用 showFullScreen()、showMaximized() 或 showNormal(),具体取决于平台对窗口类型和标志的默认行为。

showFullScreen()

将窗口显示为全屏。相当于将 visibility 设置为 QWindow::FullScreen。

showMaximized()

将窗口显示为最大化。相当于将 visibility 设置为 QWindow::Maximized。

showMinimized()

将窗口显示为最小化。相当于将 visibility 设置为 QWindow::Minimized。

showNormal()

正常显示窗口,即既不最大化、最小化也不全屏。相当于将 visibility 设置为 QWindow::Windowed。

QML类型:Window相关推荐

  1. 从 C++ 定义 QML 类型

    使用 C++ 代码扩展 QML 时,可以使用 QML 类型系统注册 C++ 类,使 C++类能够用作 QML 代码中的数据类型.虽然任何 QObject 派生类的属性.方法和信号都可以从 QML 访问 ...

  2. QML类型:ListView

    一.描述 ListView 继承自 Flickable,用作显示来自内置 QML 类型(如 ListModel 和 XmlListModel)或从 QAbstractItemModel 或 QAbst ...

  3. Qt 从C ++定义QML类型(二)

    前言 在上一篇文章中介绍了如何注册一个C++的可实例化的对象类型供 QML 中使用,那么今天继续之前的文章介绍. 正文 注册不可实例化类型 有时候QObject派生类可能需要在QML类型系统中注册,但 ...

  4. Qt 从C ++定义QML类型(一)

    概述 前面几篇文章介绍了如何在 QML 中调用 C++ 属性,那么这里集中总结一下如何在 C++中定义 QML 类型,其实在之前的示例中已经有用到过的. 当用C ++代码扩展QML时,可以向QML类型 ...

  5. 从C ++定义QML类型

    从C ++定义QML类型 从C ++定义QML类型 向QML类型系统注册C ++类型 注册可实例化对象类型 注册非实例类型 用单例类型注册单例对象 类型修订和版本 注册扩展对象 定义特定于QML的类型 ...

  6. ObjectModel QML类型

    ObjectModel QML类型 ObjectModel QML类型 特性 附属物业 方法 详细说明 Property Documentation Attached Property Documen ...

  7. ListModel QML类型

    ListModel QML类型 ListModel QML类型 特性 方法 详细说明 用法示例 修改列表模型 将线程列表模型与WorkerScript一起使用 Property Documentati ...

  8. ListElement QML类型

    ListElement QML类型 ListElement QML类型 详细说明 引用角色 用法示例 ListElement QML类型 在ListModel中定义一个数据项. Import Stat ...

  9. DelegateModelGroup QML类型

    DelegateModelGroup QML类型 DelegateModelGroup QML类型 特性 讯号 方法 详细说明 Property Documentation 计数:整数 include ...

  10. DelegateModel QML类型

    DelegateModel QML类型 DelegateModel QML类型 Properties Attached Properties Methods 详细说明 Property Documen ...

最新文章

  1. 简单介绍Vue之vue.$set()方法源码案例
  2. educoder python入门之基础语法答案-Educoder Python入门之经典函数实例
  3. python秒数变日期_将pandas日期列转换为已用秒数
  4. Windows10 Kafka Docker 集群搭建
  5. 桌面虚拟化之本地模式(离线模式)大比拼
  6. jQuery 学习-样式篇(四):jQuery 设置和删除元素的属性
  7. mysql 字段加减_Mysql数据清洗—Null值的处理技巧
  8. 74. PHP 计数器
  9. Linux基础学习-NFS网络文件系统实时文件共享
  10. 2019华为机试题 消息扩散
  11. 2019Windows7 虚拟机安装系统图文教程
  12. 安装mysql忘了初始密码咋办_mysql安装忘记初始密码怎么办
  13. android 7.0下载地址,android 7.0 Downloadprovider 下载流程
  14. C++ 九阴真经之单例模式
  15. Mac 自动代理切换
  16. 什么使格瓦拉风行至今
  17. 第六周:整数转罗马数字
  18. Android系统介绍与框架
  19. 《白帽子讲Web安全》浏览器安全
  20. 【千里之行,始于足下】大数据高频面试题——Hadoop篇(一)

热门文章

  1. iOS UDID与UUID
  2. 安卓开发学习5-6:布局管理器:布局管理器嵌套
  3. 普通代码签名证书和EV代码签名证书的区别
  4. Inter Speech19
  5. 谷歌浏览器怎么更新升级 谷歌浏览器手动更新方法
  6. 问:全局变量是否可以定义在被多个.c文件包含的头文件.h中?
  7. 命令行修改微信小程序开发AppId
  8. python3刷火车票_Python3实现抢火车票功能(上)
  9. H5--drag拖拽事件
  10. 【读书笔记】曾国藩的正面与侧面(二)