标题:Qt编写自定义控件16-魔法老鼠
作者:liudianwu
日期:2019-05-07 22:46
内容:
前言
五一期间一直忙着大屏电子看板软件的开发,没有再去整理控件,今天已经将大屏电子看板的所有子窗口都实现了任意停靠和双击独立再次双击最大化等功能,过阵子有空再写一篇文章介绍其中的技术点。魔法老鼠控件,来自Qt自带的demo,我只是将其修改了部分颜色接口等。
实现的功能
* 1:可设置身体+眼睛+眼珠+鼻子+尾巴的颜色
* 2:可设置停留位置旋转角度
效果图
头文件代码
#ifndef MAGICMOUSE_H
#define MAGICMOUSE_H
/**
* 魔幻老鼠控件 作者:feiyangqingyun(QQ:517216493) 2018-7-15
* 本控件来源于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
{
Q_OBJECT
Q_PROPERTY(int angle READ getAngle WRITE setAngle)
Q_PROPERTY(QColor bodyColor READ getBodyColor WRITE setBodyColor)
Q_PROPERTY(QColor eyeColor READ getEyeColor WRITE setEyeColor)
Q_PROPERTY(QColor eyeballColor READ getEyeballColor WRITE setEyeballColor)
Q_PROPERTY(QColor noseColor READ getNoseColor WRITE setNoseColor)
Q_PROPERTY(QColor earColor READ getEarColor WRITE setEarColor)
Q_PROPERTY(QColor tailColor READ getTailColor WRITE setTailColor)
public:
explicit MagicMouse(QWidget *parent = 0);
protected:
void paintEvent(QPaintEvent *);
private:
int angle;//旋转角度
QColor bodyColor;&nb ..
#1 [nigoole 05-07 23:08]
勤劳的小蜜蜂!
#2 [305750665 05-08 08:46]
勤劳的小蜜蜂!
#3 [青春的年代 05-08 09:38]
勤劳的老牛
#4 [lsyzsl 05-09 06:53]
勤劳的老刘