每窗口多个视图系统 UI 示例

学习如何使用多个 WindowItems 渲染 WindowObject

简介

本示例向您展示如何将相同的 WindowObject 分配给多个 WindowItems,从而在屏幕上多次渲染相同的表面。该示例还说明了主窗口的优缺点。

先决条件:您已经熟悉在 动画窗口系统 UI 示例 中介绍的概念和主题。

屏幕左上角的按钮显示一个图标,一个齿轮,用于本示例中唯一的内置应用程序。此图标上叠加了您点击它时执行的动作。当应用程序未运行时显示 开始,点击它将调用 ApplicationObject.start。否则,按钮显示 停止,点击它将执行相应的动作。

当应用程序启动时,它的唯一窗口显示,带有标题栏和边框。如果 WindowItem.primary 为 true,则标题栏显示 ;否则为

然后是创建窗口的应用程序的名称,在这个例子中是 App1。在窗口标题栏的左端有一个减号按钮 (-),它可以销毁其 WindowItem。在右侧,有一个加号按钮 (+) 创建一个新的 WindowItem 并将相同的 WindowObject 分配给它。对于次级 WindowItems,标题栏右侧还有一个 P 按钮,可以将该 primary 属性设置为 true。

当您点击窗口时,其背景颜色变为红色。因此,当您点击 primary WindowItem 时,您会看到事件传达到应用程序,因为窗口的背景颜色变为红色。但是,如果您创建一个或多个次级 WindowItems 并点击它们,您会注意到这些次级窗口没有变为红色,因为次级 WindowItems 不向它们渲染的 WindowObjects 前向传递输入事件。

示例项目 @ code.qt.io

©2019 Luxoft Sweden AB。此处包含的文档贡献的版权属于各自的所有者。本提供在此的文档是根据自由软件基金会发布的 GNU 自由文档许可版本 1.3 的条款提供的。Qt 和相应的标识是芬兰以及/或全世界 The Qt Company Ltd. 的商标。所有其他商标均为其各自所有者的财产。