#ifndef PRINTAPI_H #define PRINTAPI_H #include #include #include #include struct ReportData { QString reportindex; QString reportdate; QString devicename; QString temperature; QString devicestate; QString tempindex; QString tempname; QString cablecolor; QString models; QString count; QString manufacturer; QString submissionunit; QString productiondate; QString Data1; QString Data2; QString Data3; QString Data4; QString Data5; QString Data6; QString MaxRadius; QString MinRadius; QString meanRadius; QString thinnestpoint; QString meanhoudu; QString maxpoint; QString tongxindu; QString pianxindu; QString jiemianji; QString tuoyuandu; QString meanhouduall; QString tongxinduall; QString maxhouduall; QString pianxinduall; QString jiemianjiall; }; class PrintAPI : public QObject { Q_OBJECT private: explicit PrintAPI(QObject *parent = 0); static PrintAPI *_instance; QStringList html; public: static PrintAPI *Instance() { static QMutex mutex; if (!_instance) { QMutexLocker locker(&mutex); if (!_instance) { _instance = new PrintAPI; } } return _instance; } void PrintA4(QString title, QString subTitle, QList columnNames, QList columnWidths, QStringList content, bool landscape, bool check, QPrinter::PageSize pageSize = QPrinter::A4); void PrintA4(QString title, QList columnNames, QList columnWidths, QStringList subTitle1, QStringList subTitle2, QStringList content, bool landscape, bool check, QPrinter::PageSize pageSize = QPrinter::A4); void printReport(ReportData reportdata, QImage image); private slots: void printView(QPrinter *printer); }; #endif