Qt編寫自定義控制項16 魔法老鼠

2022-01-29 12:07:08 字數 2868 閱讀 5580

五一期間一直忙著大屏電子看板軟體的開發,沒有再去整理控制項,今天已經將大屏電子看板的所有子視窗都實現了任意停靠和雙擊獨立再次雙擊最大化等功能,過陣子有空再寫一篇文章介紹其中的技術點。魔法老鼠控制項,來自qt自帶的demo,我只是將其修改了部分顏色介面等。

/** * 本控制項**於qtdemo

* 1:可設定身體+眼睛+眼珠+鼻子+尾巴的顏色

* 2:可設定停留位置旋轉角度

*/#include #ifdef quc

#if (qt_version < qt_version_check(5,7,0))

#include #else

#include #endif

class qdesigner_widget_export magicmouse : public qwidget

#else

class magicmouse : public qwidget

#endif

;#endif // magicmouse_h

#pragma execution_character_set("utf-8")

#include "magicmouse.h"

#include "qpainter.h"

#include "qdebug.h"

magicmouse::magicmouse(qwidget *parent) : qwidget(parent)

void magicmouse::paintevent(qpaintevent *e)

int magicmouse::getangle() const

qcolor magicmouse::getbodycolor() const

qcolor magicmouse::geteyecolor() const

qcolor magicmouse::geteyeballcolor() const

qcolor magicmouse::getnosecolor() const

qcolor magicmouse::getearcolor() const

qcolor magicmouse::gettailcolor() const

qsize magicmouse::sizehint() const

qsize magicmouse::minimumsizehint() const

void magicmouse::setangle(int angle)

}void magicmouse::setbodycolor(const qcolor &bodycolor)

}void magicmouse::seteyecolor(const qcolor &eyecolor)

}void magicmouse::seteyeballcolor(const qcolor &eyeballcolor)

}void magicmouse::setnosecolor(const qcolor &nosecolor)

}void magicmouse::setearcolor(const qcolor &earcolor)

}void magicmouse::settailcolor(const qcolor &tailcolor)

}

超過145個精美控制項,涵蓋了各種儀錶盤、進度條、進度球、指南針、曲線圖、標尺、溫度計、導航條、導航欄,flatui、高亮按鈕、滑動選擇器、農曆等。遠超qwt整合的控制項數量。

每個類都可以獨立成乙個單獨的控制項,零耦合,每個控制項乙個標頭檔案和乙個實現檔案,不依賴其他檔案,方便單個控制項以原始碼形式整合到專案中,較少**量。qwt的控制項類環環相扣,高度耦合,想要使用其中乙個控制項,必須包含所有的**。

全部純qt編寫,qwidget+qpainter繪製,支援qt4.6到qt5.12的任何qt版本,支援mingw、msvc、gcc等編譯器,不亂碼,可直接整合到qt creator中,和自帶的控制項一樣使用,大部分效果只要設定幾個屬性即可,極為方便。

每個控制項都有乙個對應的單獨的包含該控制項原始碼的demo,方便參考使用。同時還提供乙個所有控制項使用的整合的demo。

每個控制項的源**都有詳細中文注釋,都按照統一設計規範編寫,方便學習自定義控制項的編寫。

每個控制項預設配色和demo對應的配色都非常精美。

超過130個可見控制項,6個不可見控制項。

部分控制項提供多種樣式風格選擇,多種指示器樣式選擇。

所有控制項自適應窗體拉伸變化。

整合自定義控制項屬性設計器,支援拖曳設計,所見即所得,支援匯入匯出xml格式。

自帶activex控制項demo,所有控制項可以直接執行在ie瀏覽器中。

整合fontawesome圖形字型+阿里巴巴iconfont收藏的幾百個圖形字型,享受圖形字型帶來的樂趣。

所有控制項最後生成乙個dll動態庫檔案,可以直接整合到qtcreator中拖曳設計使用。

自定義控制項+屬性設計器欣賞: 提取碼:tmvl

自定義控制項外掛程式開放動態庫dll使用(永久免費),無任何後門和限制,請放心使用。

目前已提供26個版本的dll,其中包括了qt5.12.3 msvc2017 32+64 mingw 32+64 的。

不定期增加控制項和完善控制項,不定期更新sdk,歡迎各位提出建議,謝謝!

Qt編寫自定義控制項66 光暈時鐘

1 可設定圓弧半徑寬度 2 可設定光暈寬度 3 可設定光暈顏色 4 可設定文字顏色 5 採用動畫機制平滑進度展示時間 include ifdef quc if qt version qt version check 5,7,0 include else include endif class qde...

Qt 自定義控制項(電池)

閒著蛋疼就做了乙個簡單的自定義電池控制項。其實想了想還挺多地方可以用的啦。效果圖。通過公有方法可修改電量,設定警戒電量,設定是否正在充電,根據需要設定漸變色,圓角,步長。public bool setvalue double v bool setminvalue double v bool setm...

qt自定義控制項 2

環境 qtcreator 4.0.2 qt5.7.0 msvc 2013,32bit 步驟 1 在上篇文章的基礎上,我們在demo1自定義控制項類中新增如下 q enums m id q property qstring m id read get id write set id private q...