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...