跨平台C++界面开发框架Qt案例:Windows系统?UI动画?示例

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动画示例

了解如何为窗口设置动画以使其显示和消失。

运行两个应用程序的Windows动画示例。

介绍

本示例说明如何在系统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类开发工具QtitanRibbonQtitanChartQtitanNavigationQtitanDockingQtitanDataGrid在线订购现直降1000元,欢迎咨询在线客服获取更多优惠>>

跨平台C++界面开发框架Qt案例:Windows系统?UI动画?示例

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年8月5日
下一篇 2020年8月5日

相关推荐

发表回复

登录后才能评论