mylabel.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #ifndef MYLABEL_H
  2. #define MYLABEL_H
  3. #include <QObject>
  4. #include <QLabel>
  5. class MyLabel : public QLabel
  6. {
  7. Q_OBJECT
  8. public:
  9. explicit MyLabel(QWidget *parent = 0);
  10. protected:
  11. void contextMenuEvent(QContextMenuEvent *event) override; //右键菜单
  12. void paintEvent(QPaintEvent *event); //QPaint画图
  13. void wheelEvent(QWheelEvent *event) override; //鼠标滚轮滚动
  14. void mousePressEvent(QMouseEvent *event) override; //鼠标摁下
  15. void mouseMoveEvent(QMouseEvent *event) override; //鼠标松开
  16. void mouseReleaseEvent(QMouseEvent *event) override; //鼠标发射事件
  17. private slots:
  18. void OnSelectImage(); //选择打开图片
  19. void OnZoomInImage(); //图片放大
  20. void OnZoomOutImage(); //图片缩小
  21. void OnPresetImage(); //图片还原
  22. private:
  23. QImage Image; //显示的图片
  24. qreal ZoomValue = 1.0; //鼠标缩放值
  25. int XPtInterval = 0; //平移X轴的值
  26. int YPtInterval = 0; //平移Y轴的值
  27. QPoint OldPos; //旧的鼠标位置
  28. bool Pressed = false; //鼠标是否被摁压
  29. QString LocalFileName; //图片名
  30. };
  31. #endif // MYLABEL_H