PrintAPI.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #ifndef PRINTAPI_H
  2. #define PRINTAPI_H
  3. #include <QObject>
  4. #include <QMutex>
  5. #include <QStringList>
  6. #include <QtPrintSupport/QPrinter>
  7. struct ReportData
  8. {
  9. QString reportindex;
  10. QString reportdate;
  11. QString devicename;
  12. QString temperature;
  13. QString devicestate;
  14. QString tempindex;
  15. QString tempname;
  16. QString cablecolor;
  17. QString models;
  18. QString count;
  19. QString manufacturer;
  20. QString submissionunit;
  21. QString productiondate;
  22. QString Data1;
  23. QString Data2;
  24. QString Data3;
  25. QString Data4;
  26. QString Data5;
  27. QString Data6;
  28. QString MaxRadius;
  29. QString MinRadius;
  30. QString meanRadius;
  31. QString thinnestpoint;
  32. QString meanhoudu;
  33. QString maxpoint;
  34. QString tongxindu;
  35. QString pianxindu;
  36. QString jiemianji;
  37. QString tuoyuandu;
  38. QString meanhouduall;
  39. QString tongxinduall;
  40. QString maxhouduall;
  41. QString pianxinduall;
  42. QString jiemianjiall;
  43. };
  44. class PrintAPI : public QObject
  45. {
  46. Q_OBJECT
  47. private:
  48. explicit PrintAPI(QObject *parent = 0);
  49. static PrintAPI *_instance;
  50. QStringList html;
  51. public:
  52. static PrintAPI *Instance()
  53. {
  54. static QMutex mutex;
  55. if (!_instance)
  56. {
  57. QMutexLocker locker(&mutex);
  58. if (!_instance)
  59. {
  60. _instance = new PrintAPI;
  61. }
  62. }
  63. return _instance;
  64. }
  65. void PrintA4(QString title, QString subTitle, QList<QString> columnNames, QList<int> columnWidths, QStringList content, bool landscape, bool check, QPrinter::PageSize pageSize = QPrinter::A4);
  66. void PrintA4(QString title, QList<QString> columnNames, QList<int> columnWidths, QStringList subTitle1, QStringList subTitle2, QStringList content, bool landscape, bool check, QPrinter::PageSize pageSize = QPrinter::A4);
  67. void printReport(ReportData reportdata, QImage image);
  68. private slots:
  69. void printView(QPrinter *printer);
  70. };
  71. #endif