qrcodewidget.h 710 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef QRCODEWIDGET_H
  2. #define QRCODEWIDGET_H
  3. #include "qrencode.h"
  4. #include <QList>
  5. #include <QPainter>
  6. #include <QWidget>
  7. struct QRCodeBlock {
  8. int x;
  9. int y;
  10. int data;
  11. };
  12. class QRCodeWidget : public QWidget {
  13. Q_OBJECT
  14. public:
  15. explicit QRCodeWidget(QWidget* parent = nullptr);
  16. ~QRCodeWidget();
  17. QString qrcode() const;
  18. void setQrcode(const QString& qrcode);
  19. int qrcodeVersion() const;
  20. void setQrcodeVersion(int qrcodeVersion);
  21. protected:
  22. void paintEvent(QPaintEvent* event);
  23. void resizeEvent(QResizeEvent* event);
  24. private:
  25. QString m_qrcode;
  26. int m_qrcodeWidth;
  27. int m_qrcodeVersion;
  28. QList<QRCodeBlock> m_blocks;
  29. };
  30. #endif // QRCODEWIDGET_H