Qt製作乙個簡單的旋轉label

2021-10-01 15:33:28 字數 2683 閱讀 3720

用途,用於設定乙個繁忙的,告知使用者正在進行中

方法1.旋轉本身

物件:#ifndef busylabelimg_h

#define busylabelimg_h

#include

#include

class

busylabelimg : public

qlabel

private:

void

next();

private:

qtimer

mtimer;

qpixmap

mpix;

int

mtick;

};#endif

// busylabelimg_h

#include

"busylabelimg.h"

#include

#include

#include

#include

#include

busylabelimg::busylabelimg(qwidget* parent)

: qlabel(parent)

, mtick(500)

//讀取並且縮放到固定大小

void

busylabelimg::setpixmap(const

qstring& imgpath)

}//旋轉時間間隔

void

busylabelimg::settick(int

msseconds)

void

busylabelimg::start()

void

busylabelimg::next()

任意位置使用該物件:

我的是在主視窗通過提示實現

使用的**:

void

mainwindow::on_start1_clicked()

ui->label->setpixmap(filepath);

ui->label->settick(100);

ui->label->start();

this->setwindowfilepath(filepath);

}輸出:

pix size  qsize(410, 410)

pix size  qsize(410, 410)

pix size  qsize(300, 300)

pix size  qsize(411, 410)

pix size  qsize(410, 410)

pix size  qsize(300, 300)

可以看出來,旋轉後的影象打下發生變化,因此label的最小大小必須能夠容納411,410,

也就是可以簡單的認為是對角線長度

效果:

因為影象中心有偏轉,所以轉動稍微偏移

方法2:旋轉繪製座標

#ifndef busylabelpainter_h

#define busylabelpainter_h

#include

#include

#include

class

busylabelpainter : public

qlabel

private:

void

next();

private:

qpixmap

mpix;

qtimer

mtimer;

int

mtick;

};#endif

// busylabelpainter_h

#include

"busylabelpainter.h"

#include

#include

#include

busylabelpainter::busylabelpainter(qwidget* parent)

: qlabel(parent)

void

busylabelpainter::setpixmap(const

qstring& imgpath)

}void

busylabelpainter::settick(int

msseconds)

void

busylabelpainter::start()

void

busylabelpainter::next()

繪製邏輯圖

使用方法和方法1相同

兩者對比:

對比兩種玩法,第二種相對來說不需要設定更多的引數,label大小很容易控制

第一種label的大小需要可以發生一定的變化;

這個例子比較簡單,但是也是很多地方會用到特殊控制項

使用qt製作乙個簡單的計算器

前言 今天使用qt製作了乙個很簡單的計算器,覺得挺有意思的,所以在這裡跟大家分享一下。一 槽連線函式 connect 訊號傳送者,傳送的訊號,訊號接收者,訊號接收者的槽函式 前面我有一篇文章已經介紹過槽函式的使用了,大家有興趣可以看看,這裡就不詳細說了。二 取出按鈕中的字元 qstring line...

Qt製作乙個運動的鐘錶

一.鐘錶的繪製 鐘錶的繪製包括時針 分針 秒針 刻度盤 1.時針繪製 void widget drawhourhand qpainter painter 3.秒針繪製 void widget drawsecondhand qpainter painter else painter restore 繪...

css製作乙個自動旋轉的立方體

1.透視 景深效果 左手法則 大拇指指向當前座標軸的下方向,手指環繞的方向就是正方向 perspective length 為乙個元素設定三維透視的距離。僅作用於元素的後代,而不是其元素本身。當perspective none 0 時,相當於沒有設perspective length 比如你要建立乙...