Qt實現圖片翻轉(開源)

2021-01-20 程式設計師fearlazy
效果圖

作者:fearlazy。 有需要該源碼的點擊關注後發私信。

一、思路

使用Qt的Graphics View Framework可以非常容易實現翻轉的效果。該框架中的item可以通過設置QGraphicsRotation實現沿x軸、y軸和z軸(垂直於屏幕)方向上的旋轉。再配合上動畫便能達到上圖的效果。

二、關鍵代碼

1.既然是基於圖形視圖框架,那view是必不可少的。從基類中派生出我們的視圖類FlipView:

FlipView : public QGraphicsView

在這個demo中視圖和場景都不是主角。場景無需做其他設置,視圖也只是做了一些簡單的設置即可。

構造函數
繪製背景
重置大小

2.demo的主角,圖片Item從QGraphicsObject中派生,其主要成員變量如下:

class Picture : public QGraphicsObject

//主要成員變量:

QList<QPixmap> m_pixmaplist; //圖片列表

int m_index; //當前顯示的圖片的下標

QPropertyAnimation* m_roateAnimation; //m_itemRotation的動畫

QParallelAnimationGroup* m_animationGroup; //並行動畫組,包括m_rotateAnimation和item的縮放動畫

QGraphicsRotation* m_itemRotation; //旋轉

在構造函數中做設置變換:

在構造函數中的設置已經能夠實現圖片的翻轉效果,為了讓翻轉效果更逼真,我們在旋轉到90度左右(圖片與屏幕垂直)時換一張圖片顯示,好像兩張圖片剛好是正反兩面。

在旋轉動畫的槽函數中進行判斷:

相關焦點

  • Qt 6 發布在即,Debian Qt 維護者決定卸任
    Qt 是一款開源的跨平臺 C++ 應用程式開發框架,兩個月前發布了 6.0 的首個預覽版本。根據官方公布的時間表,Qt 6 最終版本將於今年 12 月 1 日推出。放棄維護並非是對 Qt 或者 Debian 不滿。在這兩位維護者看來,Qt 如今已經成為一個非常龐大的庫,需要足夠的時間和能力去維護,而這也是他們目前力所難及的,因此「是時候下臺傳遞火炬了」。
  • qt creator連接資料庫並實現用戶登錄和註冊相關的開發源碼詳解
    項目最終實現效果圖具體代碼詳解1 如何給qt界面設置相關的圖片呢?首先我們新建一個基於對話框的程序,名字自己定義即可。其次我們需要將自己的背景圖做好,保存為png或者img或者jpg等相關的格式,然後右鍵點擊creator,選擇添加現有文件,將圖片添加到creator界面如上圖所示。這樣的話,我們的基本文件已經存在了,接下來就是需要調用代碼進行相關的圖像的關聯了。
  • Qt編寫的知名的開源軟體列表
    Qt編寫的知名的開源軟體列表:3DSlicer用於可視化和醫學圖像計算的免費開源軟體AcetoneISO鏡像文件掛載軟體FreeCAD自由開源的三維實體和通用設計CAD/CAEFreeMat自由開源的數值計算環境和程式語言Full Tilt Poker
  • 類似Qt 的「跨平臺 GUI 框架 GOSP」時隔一年有重大更新
    100%使用圖片來實現個性化的控制項和界面。(見下文的截圖) 提供了類似Qt的API,可提供基於qt creator的集成開發環境。 基於別具一格的Giveda信號槽技術,各個模塊代碼之間無耦合。 無耦合的代碼,史上最容易復用,沒有之一。
  • Ubuntu20.04 + Qt5.14.2開發環境配置
    1、開發環境要求Ubuntu版本:ubuntu-20.04.1-desktop-amd64Qt版本:qt-opensource-linux-x64-5.14.2虛擬機版本2、Qt的安裝配置(1) Qt的下載考慮到下載速度問題,可在清華大學開源軟體鏡像站點下載Qt5.14.2的版本:「https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/5.14/5.14.2/」,在這個網頁上下載「qt-opensource-linux-x64
  • 圖片翻轉,沒那麼簡單
    圖片進行鏡像翻轉後,相當於得到了雙倍數據。而鏡像翻轉是最常用的圖像數據增強方法之一,只需將所有圖片都進行一次鏡像翻轉,就相當於免費得到了雙倍數據。但事情當然沒有這麼簡單。當翻轉了數據集裡的所有圖片時,神經網絡所擬合的函數還能代表原先的圖像分布嗎?林之秋以第一作者身份提交的這篇論文,討論的正是這一問題。
  • Qt 5.14.2超詳細安裝教程,不會來打我
    如何下載這裡咱們安裝Qt5.14.2(不要問為什麼不裝更新版本的,從Qt5.15.0起,對於開源用戶,Qt官方不再提供獨立安裝文件,所以源碼安裝太麻煩,以後再研究^_^)官網下載連結:http://download.qt.io/archive/qt/5.14/5.14.2/
  • 圖片翻轉,沒那麼簡單(乘風破浪留學路系列報導之一)
    圖片進行鏡像翻轉後,相當於得到了雙倍數據。而鏡像翻轉是最常用的圖像數據增強方法之一,只需將所有圖片都進行一次鏡像翻轉,就相當於免費得到了雙倍數據。但事情當然沒有這麼簡單。當翻轉了數據集裡的所有圖片時,神經網絡所擬合的函數還能代表原先的圖像分布嗎?林之秋以第一作者身份提交的這篇論文,討論的正是這一問題。
  • KDE 社區稱 Qt 公司正考慮僅面向付費用戶提供新版本
    也就意味著,在新版發布後長達一年的時間裡,開源用戶將無法使用它——除非成為付費客戶。然而整篇聲明沒有重申其及時開源 Qt 和面向所有用戶提供下載等承諾,這樣的回應顯然得不到信服。下面介紹此次事件的背景信息。
  • 系統自帶畫圖程序,圖片旋轉翻轉調整大小修改轉換格式圖文教程
    今天給大家講一下系統自帶的畫圖程序,畫圖它這個程序包含了很多功能,比如圖片調整大小,旋轉圖片,翻轉圖片,添加文字,轉換格式等一些功能。我們打開一個圖片,上方可以點打開選擇畫圖,這樣就可以打開這個畫圖程序,也可以點開始,程序,附件,然後打開畫圖。
  • ID中圖片水平翻轉,剪切蒙版製作原位遮擋的效果,多重原位複製?
    ID中的水平翻轉是沒有快捷鍵的,我們需要進行滑鼠的操作,下面來跟著小編一起學習吧!1.我們先導入一張白雲的素材圖片。2.然後使用選擇工具點擊選中圖片,出現定界框。4.在變換的子菜單中點擊——水平翻轉。5.這樣圖片就水平翻轉了,和PS是類似的操作。原位遮擋在PS中直接使用蒙版進行擦除,不過在ID中是需要原位複製再使用剪切蒙版才能達到相同的效果,趕緊來看看吧!
  • qt5.12下繼承於Qdialog的類調用slot函數編譯錯誤匯總
    最近由於項目需要,需要使用qt做一套連接資料庫並且實現用戶登錄,註冊的界面,但是做起來卻很費勁,出現了一堆奇怪的編譯錯誤。這個時候,在qt下先執行qmake,然後再重新構建,最後看一下是否還有錯誤。如果還是一堆堆的錯誤,那麼繼續把報錯的h文件和cpp文件,採用相同的保存方式。經過修改,這個是可以達到解決編譯錯誤的修改的。但是如果代碼本身的格式就是代籤名的,還是出錯的話,我們只能在這個機器上重新新建工程,複製粘貼進行實現了。
  • 最早實現開源的3D列印技術——FDM
    FDM 3D印表機FDM是「Fused Deposition Modeling」的縮寫,即熔積成型法,由美國學者Scott Crump於1988年研製成功,是最早實現開源的3D列印技術
  • 義縣遊學電子科技:qt5.14.2在win10平臺打包步驟
    qt打開項目後,選擇發布模式, 然後點擊編譯.這時就會在構建目錄中出現一些含有項目名.exe的文件了.我這裡的pro1.exe4.在開始菜單找qt,然後打開qt5.14.2(mw7.3.0 64-bit)的命令行窗口,打開後輸入:cd D:\2然後使用 windeployqt 工具命令:windeployqt 項目名.exe
  • qt5.15.2在Ubuntu系統安裝完成後無法啟動qtcreator的解決方法
    1.qtcreator中沒有c++編譯器,需要使用命令:sudo apt install build-essential重新打開qt creator即可自動識別安裝的編譯器了.這個命令將安裝一堆新包,包括
  • HDwiki與PHPCMS聯合推出開源中文Wiki系統
    HDwiki與PHPCMS聯合推出開源中文Wiki系統 為了能夠更好的滿足用戶管理內容與分享知識的需求,有效的提升網站流量,增加用戶體驗,全球首款開源中文Wiki系統——HDwiki與國內領先的網站內容管理系統
  • 用開源frp高性能反向代理軟體實現內網穿透方案
    用開源frp高性能反向代理軟體實現內網穿透方案做IT運維網絡的小夥伴都知道,要實現對外提供服務必須有公網IP才行。一般區域網訪問網際網路都是動態IP,要實現對外提供服務需要動態域名解析並在區域網主機做埠轉發。
  • QT環境開發下根據excel表格導入數據源碼
    將excel表格中的內容進行讀取---qt下excel表格相關的開發//插入新數據for (int i = nStartRow + 1, r = 0; i < rowcnt; i++, r++ )
  • 135圖片編輯器,在線圖片編輯工具
    常見的圖片編輯工具,大部分人都會推薦Photoshop,但是軟體安裝費事費力費錢!微信推文中的圖片,簡單的處理如何使用在線圖片編輯器來實現。今天以135編輯器為例,介紹在線圖片編輯器的使用方法。135編輯器的在線圖片編輯工具,可以實現圖片的任意剪裁,還能添加形狀、實現填充,添加不同顏色濾鏡,調節圖片曝光度等一系列基礎圖片調整功能。第一步,登錄135編輯器官網。
  • 「做動畫的軟體」萬彩動畫大師教程|添加圖片、圖片編輯器
    當添加本地圖片後, 您可以利用圖片編輯器來編輯您的本地圖片, 包括裁切圖片,修改圖片尺寸,旋轉圖片 和添加圖片特效(去除背景色, 銳化,模糊,黑白,翻轉,油畫,素描,扭曲, 拼綴圖, 噪點,毛玻璃,像素畫等)具體的操作步驟如下:1. 添加本地圖片。