zoukankan      html  css  js  c++  java
  • Qt做动画旋转旋转图片

    今天看到百度首页的音乐播放有个图片可以旋转,感觉很酷就用qt做了一个类似的,关键时刻还是要发挥数学功底,静下心来,写一写,画一画,编程对数学分析能力要求还是不小的,以后要经常锻炼数学分析能力啊!


    Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
    {
    ui->setupUi(this);
    pix = new QPixmap("://1.png");
    tim = new QTimer(this);
    tim->start(30);
    setWindowFlags(Qt::FramelessWindowHint |Qt::WindowStaysOnTopHint);
    setAttribute(Qt::WA_TranslucentBackground);//支持alpha通道!!!
    setAttribute(Qt::WA_NoSystemBackground);//不自动绘制背景
    connect(tim,SIGNAL(timeout()),this,SLOT(update()));
    }

    Widget::~Widget()
    {
    delete ui;
    }

    void Widget::paintEvent(QPaintEvent *e)
    {
    static int i =0;//定义旋转度数
    i++;

    QPainter paint(this);
    paint.translate(this->width()/2,this->height()/2);//设置原点为窗口中心
    paint.rotate(i);//坐标旋转
    paint.drawPixmap(-pix->height()/2,-pix->width()/2,*pix);//经分析,应使图片中心,对应原点
    if(i >= 360)
    i = 0;//旋转度数检测
    }

     

  • 相关阅读:
    v-cloak无效解决方法
    堆栈,托管堆,堆,栈的区别
    2018-3-25至2018-8-9的日语笔记
    windows下远程连接redis
    windows cmd打开共享文件夹
    C#数据分组
    安装pyspider遇到的坑
    argument 1 must be 2-item sequence, not int
    python,pip环境变量设置
    python编程学习--Pygame
  • 原文地址:https://www.cnblogs.com/lzh-Linux/p/3793638.html
Copyright © 2011-2022 走看看