欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Qt QWidget實(shí)現(xiàn)圖片旋轉(zhuǎn)動(dòng)畫

 更新時(shí)間:2024年12月28日 09:10:37   作者:小灰灰搞電子  
這篇文章主要為大家詳細(xì)介紹了如何使用了Qt和QWidget實(shí)現(xiàn)圖片旋轉(zhuǎn)動(dòng)畫效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

一、效果展示

二、源碼分享

本例程通過(guò)QGraphicsView實(shí)現(xiàn)svg格式圖片旋轉(zhuǎn)。

.hpp

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

#include <QGraphicsSvgItem>
#include <QGraphicsScene>
#include <QTimer>
#include <QPropertyAnimation>

QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
private:
    Ui::MainWindow *ui;

    QGraphicsSvgItem  *graphItem;
    QGraphicsScene *graphScene;
};
#endif // MAINWINDOW_H

.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    this->graphScene = new QGraphicsScene();

    this->ui->graphicsView->setScene(this->graphScene);


    this->graphItem = new QGraphicsSvgItem( ":/image/running.svg" );

    this->graphItem->setScale(0.5);

    QRectF boundingRect = this->graphItem->boundingRect();
    this->graphItem->setTransformOriginPoint(boundingRect.width() / 2, boundingRect.height() / 2);

    graphScene->addItem( this->graphItem );

    this->graphItem->setRotation(45);

    // 創(chuàng)建一個(gè)QPropertyAnimation對(duì)象來(lái)控制旋轉(zhuǎn)屬性
    QPropertyAnimation* rotationAnimation = new QPropertyAnimation(this->graphItem, "rotation");

    // 設(shè)置動(dòng)畫的起始值和結(jié)束值
    rotationAnimation->setStartValue(0);
    rotationAnimation->setEndValue(360);

    // 設(shè)置動(dòng)畫持續(xù)時(shí)間(以毫秒為單位)
    rotationAnimation->setDuration(3000);

    // 設(shè)置動(dòng)畫循環(huán)次數(shù)(-1表示無(wú)限循環(huán))
    rotationAnimation->setLoopCount(-1);

    // 啟動(dòng)動(dòng)畫
    rotationAnimation->start();

    this->ui->graphicsView->installEventFilter(this);
    this->ui->graphicsView->centerOn(this->graphItem);
}

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

以上就是Qt QWidget實(shí)現(xiàn)圖片旋轉(zhuǎn)動(dòng)畫的詳細(xì)內(nèi)容,更多關(guān)于Qt QWidget旋轉(zhuǎn)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 詳解C++編程中運(yùn)算符的使用

    詳解C++編程中運(yùn)算符的使用

    這篇文章主要介紹了詳解C++編程中運(yùn)算符的使用,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09
  • Matlab實(shí)現(xiàn)好看的配對(duì)箱線圖的繪制

    Matlab實(shí)現(xiàn)好看的配對(duì)箱線圖的繪制

    配對(duì)箱線圖,常見(jiàn)于配對(duì)樣本的數(shù)據(jù)分析中,它除了能夠表現(xiàn)兩組的整體差異,還能夠清晰地呈現(xiàn)單個(gè)樣本的前后改變。本文將用Matlab實(shí)現(xiàn)配對(duì)箱線圖的繪制,需要的可以參考一下
    2022-08-08
  • C++缺省參數(shù)、函數(shù)重載與引用深入解析

    C++缺省參數(shù)、函數(shù)重載與引用深入解析

    缺省參數(shù)函數(shù)重載以及引用的出現(xiàn)是為了補(bǔ)充C語(yǔ)言語(yǔ)法的不足以及對(duì)C語(yǔ)言設(shè)計(jì)不合理的地方進(jìn)行優(yōu)化,引用的出現(xiàn)大大降低了我們學(xué)習(xí)C語(yǔ)言時(shí)相對(duì)于指針的難度,也便于我們更好的理解和使用,感興趣的朋友一起看看吧
    2024-04-04
  • sublime text3搭建配置c語(yǔ)言編譯環(huán)境的詳細(xì)圖解教程(小白級(jí))

    sublime text3搭建配置c語(yǔ)言編譯環(huán)境的詳細(xì)圖解教程(小白級(jí))

    這篇文章主要介紹了sublime text3搭建配置c語(yǔ)言編譯環(huán)境,詳細(xì)圖解,小白教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • 深入C/C++浮點(diǎn)數(shù)在內(nèi)存中的存儲(chǔ)方式詳解

    深入C/C++浮點(diǎn)數(shù)在內(nèi)存中的存儲(chǔ)方式詳解

    本篇文章是對(duì)C/C++浮點(diǎn)數(shù)在內(nèi)存中的存儲(chǔ)方式進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++實(shí)現(xiàn)二維圖形的打印

    C++實(shí)現(xiàn)二維圖形的打印

    大家好,本篇文章主要講的是C++實(shí)現(xiàn)二維圖形的打印,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-02-02
  • QT連接SQLServer數(shù)據(jù)庫(kù)的實(shí)現(xiàn)

    QT連接SQLServer數(shù)據(jù)庫(kù)的實(shí)現(xiàn)

    要使用Qt連接SQL Server數(shù)據(jù)庫(kù),需要使用Qt提供的SQL模塊和SQL Server驅(qū)動(dòng)程序,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • C++實(shí)現(xiàn)String類的方法詳解

    C++實(shí)現(xiàn)String類的方法詳解

    在C語(yǔ)言中,沒(méi)有專門用來(lái)表示字符串的類型。雖然C語(yǔ)言為字符串提供了一系列的庫(kù)函數(shù),但這些函數(shù)與字符串這個(gè)類型是分開(kāi)的。所以在C++中封裝了一個(gè)string類,來(lái)幫助我們操作字符串,本文就為大家提供了實(shí)現(xiàn)String類的方法,需要的可以參考一下
    2022-08-08
  • C++設(shè)計(jì)模式編程中的迭代器模式應(yīng)用解析

    C++設(shè)計(jì)模式編程中的迭代器模式應(yīng)用解析

    這篇文章主要介紹了C++設(shè)計(jì)模式編程中的迭代器模式應(yīng)用解析,迭代器模式注重對(duì)集合中元素的遍歷而不使其暴露,需要的朋友可以參考下
    2016-03-03
  • C語(yǔ)言中if語(yǔ)句加大括號(hào)和不加大括號(hào)的區(qū)別介紹

    C語(yǔ)言中if語(yǔ)句加大括號(hào)和不加大括號(hào)的區(qū)別介紹

    這篇文章主要給大家介紹了關(guān)于C語(yǔ)言中if語(yǔ)句加大括號(hào)和不加大括號(hào)的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評(píng)論