Qt是一个跨平台框架,通常用作图形工具包,它不仅创建CLI应用程序中也非常有用。本篇文章示例说明如何在系统UI中为窗口设置动画以使其显示和消失
Qt是一个跨平台框架,通常用作图形工具包,它不仅创建CLI应用程序中也非常有用。而且它也可以在三种主要的台式机操作系统以及移动操作系统(如Symbian,Nokia Belle,Meego Harmattan,MeeGo或BB10)以及嵌入式设备,Android(Necessitas)和iOS的端口上运行。现在我们为你提供了免费的试用版。赶快Qt最新试用版吧>>
【同类产品推荐】
- QtitanRibbon| 下载试用: 遵循Microsoft Ribbon UI Paradigm for Qt技术的Ribbon UI组件,致力于为Windows、Linux和Mac OS X提供功能完整的Ribbon组件。
- QtitanChart | 下载试用 :是一个C ++库,代表一组控件,这些控件使您可以快速地为应用程序提供漂亮而丰富的图表。并且支持所有主要的桌面操作系统。
- QtitanDataGrid| 下载试用 :适用于Qt的商业化DataGrid 组件,使得表格数据可以直接面向终端用户完全集成了QtDesigner,极易适应其他相似开发环境,保证100%兼容Qt GUI。
Windows系统UI动画示例
了解如何为窗口设置动画以使其显示和消失。

介绍
本示例说明如何在系统UI中为窗口设置动画以使其显示和消失。
先决条件:您已经熟悉系统UI示例中“ Hello World”引入的概念和主题。
与“ Hello World ”示例不同,大多数图形用户界面(GUI)都会避免非常突然的变化,因为这会使用户感到困惑以及视觉上不愉快。因此,当使用WindowManager创建一个新的WindowObject时,我们希望对其外观进行动画处理,而不是简单地使其在屏幕上弹出。同样,一旦WindowObject丢失其界面(由于应用程序关闭了该窗口或完全停止了该窗口并从WindowManager的模型中删除了该界面),我们希望为其消失提供动画效果,而不是突然消失。
如果使用的是ListView等现成的高级布局,则可以将Transitions分配给不同的操作,例如add,remove,displaced等,并继续使用WindowManager作为模型。但是在许多情况下并非如此。相反,您必须创建自己的模型,例如ListModel,以便WindowObject仅在完成其委托的消失动画后才离开模型。此示例展示了此技术。
Windows模型
在本示例中,我们用来实例化窗口的模型是关键。
与其直接使用WindowManager作为我们的模型,我们使用一个普通的ListModel:
Repeater { { model: ListModel { { id: windowsModel }} delegate: Rectangle {{
我们只有在达到最终状态后才从该模型中删除WindowObject:WindowObject .NoSurface,并且不再显示在屏幕上。任何状态转换都已经完成。
readonly property bool safeToRemove: fullyDisappeared && model.window && model.window.contentState === WindowObject.NoSurface onSafeToRemoveChanged: if (safeToRemove) windowsModel.remove(model.index, 1)
然后,我们向其中添加一个WindowObject,并在WindowManager创建WindowObject后立即在屏幕上显示它。
Connections { { target: WindowManager function onWindowAdded(window) { window) { windowsModel.append({"window":"window":window}) }}
本篇文章中的内容你都学会了吗果这篇文章没能满足你的需求、点击获取更多文章教程!现在立刻下载Qt免费试用吧!更多Qt类开发工具QtitanRibbon、QtitanChart、QtitanNavigation、QtitanDocking、QtitanDataGrid在线订购现直降1000元,欢迎咨询在线客服获取更多优惠>>
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!