彩票走势图

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

翻译|实施案例|编辑:鲍佳佳|2020-09-08 11:04:23.120|阅读 577 次

概述:Qt是一个跨平台框架,通常用作图形工具包,它不仅创建CLI应用程序中也非常有用。本篇文章示例说明如何在系统UI中为窗口设置动画以使其显示和消失

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

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元,欢迎咨询慧都获取更多优惠>>



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP