//.h文件
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include<QPainter>
#include<QMouseEvent>
#include<QPropertyAnimation>
#include<QResizeEvent>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
protected:
void paintEvent(QPaintEvent *event) override;
void mousePressEvent(QMouseEvent *event) override;
void resizeEvent(QResizeEvent *event)override;
private:
Ui::Widget *ui;
bool isOff = true;
QBrush offBgBrush = Qt::black;
QBrush onBgBrush = Qt::blue;
QBrush offIndIndiicatorBrush = Qt::red;
QBrush onIndIndiicatorBrush = Qt::green;
QString offtext = "OFF";
QString ontext = "ON";
QPropertyAnimation *ani;
int current_x;
};
#endif // WIDGET_H
.cpp 源文件
#in