Qt 控制項 自定義按鈕

2022-02-20 12:51:50 字數 1582 閱讀 1586

mybutton.h

#ifndef mybutton_h

#define mybutton_h

#include #include #include #include class mybutton : public qwidget

;#endif // mybutton_h

mybutton.cpp

#include "mybutton.h"

mybutton::mybutton(const bool& btype, qwidget *parent)

: qwidget(parent)

// 繪製開關

void mybutton::paintevent(qpaintevent *event)

else

qpainter painter(this);

// 反走樣

painter.setrenderhint(qpainter::antialiasing, true);

// 設定畫筆顏色

qpen pen;

pen.setwidth(3);

pen.setcolor(paintcolor);

painter.setpen(pen);

// 繪製邊框

painter.drawroundrect(0, 0, 128, 60, 8);

// 繪製多邊形-倒三角形箭頭

const qpointf points[4] = ;

painter.setbrush(paintcolor);

painter.drawpolygon(points, 4);

if (!m_btype) else else

}}// 滑鼠按下事件

void mybutton::mousepressevent(qmouseevent *event)

}}// 滑鼠釋放事件 - 切換開關狀態、發射toggled()訊號

void mybutton::mousereleaseevent(qmouseevent *event)

}}// 設定繪製文字

void mybutton::setpainttext(const qstring& stext)

// 設定色塊顏色

void mybutton::setblockcolor(const qcolor& color)

// 獲得繪製文字

qstring mybutton::getpainttext()

// 獲得色塊顏色

qcolor mybutton::getblockcolor()

widget.cpp

#include "widget.h"

widget::widget(qwidget *parent) :

qwidget(parent),

ui(new ui::widget)

widget::~widget()

// 自定義按鈕觸發訊號槽

void widget::ontoggled()

Qt之自定義控制項(開關按鈕)

接觸過ios系統的童鞋們應該對開關按鈕很熟悉,在設定裡面經常遇到,切換時候的滑動效果比較帥氣。通常說的開關按鈕,有兩個狀態 on off。下面,我們利用自定義控制項來實現乙個開關按鈕。更多參考 其餘介面用於擴充套件,也可自己擴充。switchcontrol.h ifndef switch contr...

Qt 自定義按鈕

自定義控制項的實現思路如下 a1.新建乙個類,該類繼承qpushbutton,由於qpushbutton繼承於qwidget,因此可以直接在該繼承類裡面進行布局管理和掛載控制項 a2.新建兩個qlabel例項,即buttonimage和buttontxt 是qlable例項 分別用兩個垂直布局管理器...

Qt自定義標籤按鈕

當你接觸到qt時,你會為它極為方便的跨平台方面感到吃驚,從而想嘗試著使用qt。漸漸地你會發現qt自帶的一些控制項不能滿足自己的需要,此時就需要我們自己定義乙個屬於自己的控制項。總所周知,標籤的風格設定模擬較多,但預設的標籤沒有滑鼠響應事件。在你的qt工程中 新增新檔案 c class,輸入類名 cl...