You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 line
817 B

  1. #ifndef LIGHT_H
  2. #define LIGHT_H
  3. #include "item.h"
  4. class Light : public Item
  5. {
  6. public:
  7. Light(const QString &type);
  8. QRectF boundingRect() const override;
  9. void paint(QPainter *painter,
  10. const QStyleOptionGraphicsItem *option,
  11. QWidget *) override;
  12. bool state() const override;
  13. void addMenuActions(QMenu *menu) override;
  14. void handleMenuAction(QAction *action) override;
  15. void setCustomImage(const QString& imagePath);
  16. void setOnImage(const QString& imagePath);
  17. void setOffImage(const QString& imagePath);
  18. void loadImage();
  19. private:
  20. QString onImagePath_; // ON状态图片路径
  21. QString offImagePath_; // OFF状态图片路径
  22. QPixmap onPixmap_; // ON状态图片
  23. QPixmap offPixmap_; // OFF状态图片
  24. };
  25. #endif // LIGHT_H