当前位置: 首页 > wzjs >正文

那个建设网站好长沙百度网站推广

那个建设网站好,长沙百度网站推广,公司招聘,会泽做网站Qt窗口动画实战:Qt实现呼吸灯效果 在嵌入式设备或桌面应用中,呼吸灯效果是一种常见且优雅的UI动画,常用于指示系统状态或吸引用户注意。本文将介绍如何使用Qt动画框架实现平滑的呼吸灯效果。 一、实现原理 利用Qt自带的动画框架来实现&…

Qt窗口动画实战:Qt实现呼吸灯效果

在嵌入式设备或桌面应用中,呼吸灯效果是一种常见且优雅的UI动画,常用于指示系统状态或吸引用户注意。本文将介绍如何使用Qt动画框架实现平滑的呼吸灯效果。

一、实现原理

利用Qt自带的动画框架来实现,具体实现看代码:
在这里插入图片描述

2、代码实现

#ifndef BUTTON_H
#define BUTTON_H#include <QPropertyAnimation>
#include <QSequentialAnimationGroup>
#include <QPainter>
#include <QColor>
#include <QWidget>class BreathingLight : public QWidget {Q_OBJECTQ_PROPERTY(int alpha READ alpha WRITE setAlpha)public:BreathingLight(QWidget *parent = nullptr) : QWidget(parent), m_alpha(0) {setFixedSize(200, 200);// 创建两个动画,一个从0到255,一个从255到0QPropertyAnimation *animationUp = new QPropertyAnimation(this, "alpha");animationUp->setDuration(2500);  // 动画时长为2000毫秒animationUp->setStartValue(20);   // 起始透明度animationUp->setEndValue(255);   // 结束透明度animationUp->setEasingCurve(QEasingCurve::InOutQuad);  // 使用平滑的缓入缓出动画曲线QPropertyAnimation *animationDown = new QPropertyAnimation(this, "alpha");animationDown->setDuration(2500);   // 动画时长为2000毫秒animationDown->setStartValue(255);  // 起始透明度animationDown->setEndValue(20);      // 结束透明度animationDown->setEasingCurve(QEasingCurve::InOutQuad);  // 使用平滑的缓入缓出动画曲线// 创建一个动画组,将两个动画添加进去,并设置为循环播放QSequentialAnimationGroup *animationGroup =new QSequentialAnimationGroup(this);animationGroup->addAnimation(animationUp);animationGroup->addAnimation(animationDown);animationGroup->setLoopCount(-1);  // 无限循环animationGroup->start();           // 启动动画组}int alpha() const { return m_alpha; }void setAlpha(int alpha) {m_alpha = alpha;update();  // 更新窗口,触发重绘事件}protected:void paintEvent(QPaintEvent *event) override {Q_UNUSED(event);QPainter painter(this);QColor color(0, 255, 0, m_alpha);  // 绿色,使用 m_alpha 透明度painter.setBrush(color);painter.setPen(Qt::NoPen);QRect paint_rect = rect();paint_rect.adjust(90, 90, -90, -90);painter.drawEllipse(paint_rect);  // 绘制一个椭圆,填充整个窗口}private:int m_alpha;
};#include <QApplication>
#include <QTableView>
#include <QHeaderView>
#include <QStandardItemModel>
#include "button.h"int main(int argc, char *argv[])
{QApplication a(argc, argv);//button.show();BreathingLight light;light.show();return a.exec();
}#endif // BUTTON_H

3、总结:

利用Qt自带的动画系统可以很方便的就做出炫酷的效果,相比较其他传统的UI,Qt这个方案对用户来说其实还是很方便的。

http://www.dtcms.com/wzjs/506366.html

相关文章:

  • 怎么做网站赚西安seo全网营销
  • 网站建设留言板怎么做seo排名赚app
  • ipv6跟做网站有关吗长沙专业网站制作
  • wordpress主题织梦天天seo站长工具
  • dw做的网站如何上传云服务东莞今天最新消息新闻
  • 申请免费域名的方法重庆seo顾问服务
  • 网站图片大小优化公司网站怎么优化
  • 国外好的设计网站有哪些深圳外贸网站推广
  • 免费建企业网站美国搜索引擎排名
  • 网站上的qq如何做悬浮免费注册推广网站
  • 自己写的网站如何添加 cnzz统计有道搜索
  • 一级a做爰片免网站百度指数数据分析报告
  • java配合什么做网站推广引流哪个软件最好
  • 福建省晋江市建设局网站网络营销推广与策划
  • seo网站推广公司西安网络公司
  • 网站如何创建首页黑河seo
  • 日照网站建设石家庄网站优化
  • 网站建设设计制作公司百度app下载官方免费下载安装
  • 织梦淘客网站深圳网站seo推广
  • 团购网站建设方案国际要闻
  • 青岛vi设计公司win7优化工具
  • 阿拉巴巴开店网站建设如何注册一个平台
  • 2018一级a做爰片免费网站郑州网络营销公司哪个好
  • wordpress安装百度统计浙江seo关键词
  • 中国做的很好的食品网站全网营销与seo
  • 衡水有做网站的吗百度认证证书
  • 阿拉丁做网站怎么做的百度关键词排名爬虫
  • 网站是做流程手机版谷歌浏览器入口
  • 自己做网络棋牌网站流程数据分析工具
  • javaweb做网站过程seo作弊