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

了解如何使用多个窗口项渲染WindowObject。

注意:如果您想在Linux机器上构建此示例,请阅读此信息

介绍

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

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

屏幕左上角的按钮显示一个图标,一个齿轮,代表本例中唯一的内置应用程序。当您单击该图标时,会叠加显示相应的操作。如果应用程序尚未运行,则会显示开始,点击后调用ApplicationObject.start。否则,按钮显示停止,点击后执行相应的操作。

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

接下来是创建窗口的应用程序的名称,在这个例子中是App1。在窗口标题栏的最左边是一个减号按钮(-),当点击时会销毁其WindowItem。在最右边有一个加号按钮(+),当点击时会创建一个新的WindowItem,并将相同的WindowObject分配给它。对于二级窗口项,标题栏右侧还有一个P按钮,将该primary属性设置为true。

当您点击窗口时,其背景颜色会变成红色。所以当您点击primary WindowItem时,您会看到事件被应用程序接收到,因为窗口的背景颜色变成了红色。但如果您创建了一个或多个二级窗口项并点击它们,您会注意到这些二级窗口不会闪烁红色,因为二级窗口项不会将其渲染的窗口对象的事件传递。

示例项目 @ code.qt.io

© 2024 Qt公司。本文档中包含的文档贡献归其各自的拥有者所有。提供的文档依据自由软件基金会发布并由自由软件基金会出版的《GNU自由文档许可协议版本1.3》的条款许可。Qt及对应的标志是Qt公司在芬兰及其他国家和地区的商标。商标