Qt自定義控制項 繪製滑動條

2021-10-10 22:09:24 字數 2801 閱讀 5718

主要**展示:

標頭檔案

#ifndef myslider_h

#define myslider_h

#include

#include

#include

#include

#include

class

myslider

:public qwidget

; q_object

public

:explicit

myslider

(qwidget *parent =

nullptr);

~myslider()

;void

setvalue

(int value)

;void

setminvalue

(int value)

;void

setmaxvalue

(int value)

;int

getvalue()

const

;void

setcolor

(qcolor color, myslider::setselectcolor select)

;protected

:void

paintevent

(qpaintevent *ev) override;

void

mousepressevent

(qmouseevent *event) override;

void

mousereleaseevent

(qmouseevent *event) override;

void

mousemoveevent

(qmouseevent *event) override;

void

wheelevent

(qwheelevent *event) override;

signals:

public slots:

private

:int m_minvalue;

int m_maxvalue;

int m_value;

int m_width;

int m_height;

int m_movestepsize;

//移動步長

//int m_postobuttonx;//間隙

int m_linel;

int m_posbuttonx;

qcolor m_basecolor;

//底色

qcolor m_covercolor;

//覆蓋底色

qcolor m_sliderbuttonmargincolor;

//滑動按鈕邊緣顏色

qcolor m_sliderbuttonmargincolor_t;

//滑動按鈕邊緣顏色

qcolor m_sliderbuttoncolor;

//滑動按鈕填充顏色

qlabel *m_minlabel;

//顯示最小的區間

qlabel *m_midlabel;

//顯示滑動的值

qlabel *m_maxlabel;

//顯示最大區間

bool m_press;

//滑鼠按下

void

drawsliderline

(qpainter &paninter)

;void

drawsliderbutton

(qpainter &paninter)

;void

drawcoverline

(qpainter &paninter)

;void

drawinit()

;};#endif

// myslider_h

主要函式:

void myslider::

paintevent

(qpaintevent *ev)

void myslider::

mousepressevent

(qmouseevent *event)}}

void myslider::

mousereleaseevent

(qmouseevent *event)

void myslider::

mousemoveevent

(qmouseevent *event)

else

if(m_press)

update()

;}void myslider::

wheelevent

(qwheelevent *event)

else

// 當滾輪向使用者方向旋轉時

update()

;}}void myslider::

drawinit()

void myslider::

drawsliderline

(qpainter &paninter)

void myslider::

drawsliderbutton

(qpainter &paninter)

void myslider::

drawcoverline

(qpainter &paninter)

自定義控制項 滑動條SeekBar

一 效果圖 二 實現思路 1.控制項繼承自view 2.重寫兩個方法ondraw 繪製頁面和 ontouch 新增監聽 3.ondraw canvas ca 中 a.new canvas new bitmap backgroundimage backgroundcanvas 並設定控制項背景 b.n...

Qt自定義控制項 滑動選擇器

滑動選擇器為飛機儀錶盤的一部分 借鑑 在此基礎上模仿 painter繪製比較簡單不多說 重點 通過qpropertyanimation動畫類,屬性繫結,實現數字矯正到中心 在此基礎上增加滑鼠滾輪效果,void wheelevent qwheelevent event else m currentva...

自定義控制項之滑動

view滑動的方法是現實絢麗的自定義控制項的基礎 一般來說實現滑動的方法有三種 通過view本身提供的scrollto scrollby方法來實現 通過動畫方法 通過更改view的layoutparams,實現重新布局來實現。一 通過view本身提供的scrollto scrollby方法來實現 s...