最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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í)一下

一、效果展示

二、源碼分享

本例程通過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ì)象來控制旋轉(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表示無限循環(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++利用對(duì)象池優(yōu)化內(nèi)存管理解決MISRA報(bào)警的代碼詳解

    C++利用對(duì)象池優(yōu)化內(nèi)存管理解決MISRA報(bào)警的代碼詳解

    本篇詳細(xì)講解如何用對(duì)象池技術(shù)優(yōu)化C++項(xiàng)目中的內(nèi)存管理,徹底消除new/delete帶來的MISRA報(bào)警,兼顧高性能與安全規(guī)范,需要的朋友可以參考下
    2025-07-07
  • C++數(shù)據(jù)結(jié)構(gòu)之哈希表的實(shí)現(xiàn)

    C++數(shù)據(jù)結(jié)構(gòu)之哈希表的實(shí)現(xiàn)

    哈希表,即散列表,可以快速地存儲(chǔ)和查詢記錄。這篇文章主要為大家詳細(xì)介紹了C++數(shù)據(jù)結(jié)構(gòu)中哈希表的實(shí)現(xiàn),感興趣的小伙伴可以了解一下
    2023-03-03
  • 深入淺析C++多態(tài)性與虛函數(shù)

    深入淺析C++多態(tài)性與虛函數(shù)

    多態(tài)是指同樣的消息被不同的對(duì)象接收時(shí)導(dǎo)致不同的行為。本文通過實(shí)例代碼給大家介紹了C++多態(tài)性與虛函數(shù)的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2020-02-02
  • C語言數(shù)據(jù)結(jié)構(gòu)與算法之排序總結(jié)(一)

    C語言數(shù)據(jù)結(jié)構(gòu)與算法之排序總結(jié)(一)

    這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu)與算法中的插入類和交換類的各種排序,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2021-12-12
  • C++基礎(chǔ)概念講述

    C++基礎(chǔ)概念講述

    這篇文章主要介紹了C++基礎(chǔ)概念,??本次為C++的一個(gè)開篇,重點(diǎn)是更好的理解C++相對(duì)于其他編程語言的一個(gè)特性,之后會(huì)持續(xù)更新,本次專欄計(jì)劃是掌握C++的基礎(chǔ)語法以及常用特性,并且從細(xì)節(jié)上去理解,需要的朋友可以參考一下
    2021-12-12
  • 探討:將兩個(gè)鏈表非降序合并為一個(gè)鏈表并依然有序的實(shí)現(xiàn)方法

    探討:將兩個(gè)鏈表非降序合并為一個(gè)鏈表并依然有序的實(shí)現(xiàn)方法

    本篇文章是對(duì)將兩個(gè)鏈表非降序合并為一個(gè)鏈表并依然有序的實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • c++中為什么可以通過指針或引用實(shí)現(xiàn)多態(tài)詳解

    c++中為什么可以通過指針或引用實(shí)現(xiàn)多態(tài)詳解

    這篇文章主要給大家介紹了關(guān)于c++中為何可以通過指針或引用實(shí)現(xiàn)多態(tài),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • C++實(shí)現(xiàn)支持泛型的LFU詳解

    C++實(shí)現(xiàn)支持泛型的LFU詳解

    這篇文章主要給大家介紹了關(guān)于C++實(shí)現(xiàn)LFU的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Redis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-09-09
  • C++任意進(jìn)制轉(zhuǎn)換的代碼實(shí)現(xiàn)與優(yōu)化技巧

    C++任意進(jìn)制轉(zhuǎn)換的代碼實(shí)現(xiàn)與優(yōu)化技巧

    在編程中,進(jìn)制轉(zhuǎn)換是一個(gè)非常常見的操作,我們常常需要將一個(gè)數(shù)從一種進(jìn)制轉(zhuǎn)換為另一種進(jìn)制,在本文中,我們將探討如何使用 C++ 實(shí)現(xiàn)從任意進(jìn)制到任意進(jìn)制的轉(zhuǎn)換,并對(duì)代碼進(jìn)行優(yōu)化,使其更加高效和可讀,需要的朋友可以參考下
    2025-07-07
  • C++ 死鎖檢測(cè)基礎(chǔ)思路詳解

    C++ 死鎖檢測(cè)基礎(chǔ)思路詳解

    文章介紹了C++中死鎖檢測(cè)的基本思路,包括理論部分的死鎖概念、產(chǎn)生條件以及檢測(cè)方法,以及實(shí)現(xiàn)部分的核心數(shù)據(jù)結(jié)構(gòu)、邏輯和鉤子機(jī)制,感興趣的朋友跟隨小編一起看看吧
    2026-03-03

最新評(píng)論

江津市| 武城县| 漳浦县| 古交市| 冷水江市| 临澧县| 塔河县| 芜湖县| 福鼎市| 汤原县| 磐安县| 项城市| 东明县| 缙云县| 麦盖提县| 新密市| 交口县| 镇赉县| 磐石市| 新巴尔虎左旗| 光泽县| 静安区| 通榆县| 桐城市| 怀集县| 社旗县| 彩票| 重庆市| 叙永县| 承德县| 台中县| 林芝县| 樟树市| 弥勒县| 黑龙江省| 都江堰市| 新民市| 鄂州市| 浑源县| 五河县| 萍乡市|