Files
GUI/src/components/imageswitch.h

62 lines
1.4 KiB
C
Raw Normal View History

2021-12-13 17:01:17 +08:00
#ifndef IMAGESWITCH_H
2021-12-09 10:00:01 +08:00
#define IMAGESWITCH_H
/**
* :feiyangqingyun(QQ:517216493) 2016-11-25
* 1.
* 2.
*/
#include <QWidget>
#ifdef quc
class Q_DECL_EXPORT ImageSwitch : public QWidget
#else
class ImageSwitch : public QWidget
#endif
{
Q_OBJECT
Q_ENUMS(ButtonStyle)
Q_PROPERTY(bool isChecked READ getChecked WRITE setChecked)
Q_PROPERTY(ButtonStyle buttonStyle READ getButtonStyle WRITE setButtonStyle)
public:
enum ButtonStyle {
ButtonStyle_1 = 0, //开关样式1
ButtonStyle_2 = 1, //开关样式2
2022-05-31 09:45:08 +08:00
ButtonStyle_3 = 2, //开关样式3
None = 3 //开关样式3
2021-12-09 10:00:01 +08:00
};
explicit ImageSwitch(QWidget *parent = 0);
protected:
void mousePressEvent(QMouseEvent *);
void paintEvent(QPaintEvent *event);
private:
bool isChecked;
2022-05-31 09:45:08 +08:00
ButtonStyle buttonStyle = None;
2021-12-09 10:00:01 +08:00
QString imgOffFile;
QString imgOnFile;
QString imgFile;
public:
bool getChecked() const;
ButtonStyle getButtonStyle() const;
QSize sizeHint() const;
QSize minimumSizeHint() const;
2021-12-13 17:01:17 +08:00
signals:
void clicked();
2021-12-09 10:00:01 +08:00
public Q_SLOTS:
//设置是否选中
void setChecked(bool isChecked);
//设置按钮样式
void setButtonStyle(const ImageSwitch::ButtonStyle &buttonStyle);
};
#endif // IMAGESWITCH_H