35 Qt 之繪製閃爍文字

2021-09-29 02:25:04 字數 1042 閱讀 1834

根據之前的二位繪圖,我們可以很輕鬆的進行文字的繪製,如果需要一些特效,比如:文字閃爍。我們就必須借助其它輔助類來完成。

主要涉及兩個輔助類:

qfontmetrics     用於獲取文字字型的畫素高度與寬度

qbasictimer        定時器,用於更新文字繪製。

利用qbasictimer進行定時重新整理。

文字繪製時,使用qcolor來設定色調(h)、飽和度(s)、亮度(v),然後計算每乙個字元的繪製座標,進行單個繪製。

標頭檔案bannerwidget.h

#ifndef para_banner_h

#define para_banner_h

#include #include class bannerwidget : public qwidget

;#endif

原始檔bannerwidget.cpp

#include #include #include #include "bannerwidget.h"

bannerwidget::bannerwidget(qwidget *parent)

: qwidget(parent),

m_nstep(0),

m_strtext(qstring::fromlocal8bit("一去丶二三里"))

bannerwidget::~bannerwidget()

void bannerwidget::settext(const qstring &text)

void bannerwidget::paintevent(qpaintevent *event)

}void bannerwidget::timerevent(qtimerevent *event)

else

}

當然,我們也可以修改起始座標x、y的值,稍作改動之後,讓文字有跳動效果,自己嘗試吧!

Qt之繪製閃爍文字

根據之前的二位繪圖,我們可以很輕鬆的進行文字的繪製,如果需要一些特效,比如 文字閃爍。我們就必須借助其它輔助類來完成。主要涉及兩個輔助類 原理 標頭檔案bannerwidget.h ifndef para banner h define para banner h include include c...

QT文字繪製

1 基本繪製 qpainter painter this 這個this要斟酌下 painter.drawtext 100,100,yafeilinux 2 中級繪製 qpainter painter this qrectf ff 100,100,300,200 設定乙個矩形 painter.draw...

Qt繪製文字

1 基本繪製 qpainter painter this 這個this要斟酌下 painter.drawtext 100,100,yafeilinux 2 中級繪製 qpainter painter this qrectf ff 100,100,300,200 設定乙個矩形 painter.draw...