capturewindow.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #ifndef CAPTUREWINDOW_H
  2. #define CAPTUREWINDOW_H
  3. #include <QAction>
  4. #include <QClipboard>
  5. #include <QElapsedTimer>
  6. #include <QKeyEvent>
  7. #include <QMainWindow>
  8. #include <QMenu>
  9. #include <QMessageBox>
  10. #include <QPainter>
  11. #include <QtDebug>
  12. #include <math.h>
  13. namespace Ui
  14. {
  15. class CaptureWindow;
  16. }
  17. class CaptureWindow : public QMainWindow
  18. {
  19. Q_OBJECT
  20. public:
  21. explicit CaptureWindow(QWidget* parent = nullptr);
  22. ~CaptureWindow();
  23. QPixmap pix() const;
  24. void setPix(const QPixmap& pix);
  25. void getSelectRect();
  26. public slots:
  27. void onMenuTriggered(bool checked = false);
  28. protected:
  29. void paintEvent(QPaintEvent* event);
  30. void mousePressEvent(QMouseEvent* event);
  31. void mouseReleaseEvent(QMouseEvent* event);
  32. void mouseMoveEvent(QMouseEvent* event);
  33. void keyPressEvent(QKeyEvent* event);
  34. private:
  35. Ui::CaptureWindow* ui;
  36. QPixmap m_pix;
  37. QPoint m_mousedownPoint;
  38. bool m_mousedownFlag;
  39. QRect m_selectRc;
  40. QRect m_pixRc;
  41. };
  42. void startShootScreen(bool hideWindow = true);
  43. #endif // CAPTUREWINDOW_H