QtRPT is the easy-to-use report engine written in C++ QtToolkit. It allows combining several reports in one XML file. For separately taken field, you can specify some condition depending on which this field will display in different font and background color, etc. The project consists of two parts: report library QtRPT and report designer application QtRptDesigner. Report file is a file in XML format. The report designer makes easy to create report XML file.
- Supported output formats: Printer, PDF, HTML
- Universal type of data source
- SQL datasource
- Report elements: Label field, Images, Diagram
- Parameters from application side
- Several reports together
- Page header/footer
- Report page/header
- Data band
- Data grouping
- Group header/footer
- Aggregate functions: AVG, SUM, COUNT
- Mathematic functions
- Highlighting of the fields by login conditions
- Show/hide fields by logic conditions
- System variables
- Images: static or from application side
- Diagrams with manual data or with aggregate functions
- Barcode printing
- Pure Qt4/Qt5 code
- And much more…
QTRPT supports sub report?...I mean I have qt application with two QTableviews with two different data ..connected with sql ,now I am making a report of those tables in single page.....is it possible?
Good stuff! I tried several other report generator (qreport, openrpt, ncreport, kd-reports, exaro just to mention a few). Some wouldn't even compile with Qt5, some were hard to incorporate (QtRPT: just drop in QtRPT.pri and you're ready to go), others were commercial (I use it in a private project and don't want to spend money on it). Some features would be great, e.g., allow passing a database connection to the reports or at least use parameters (db name, server, credentials) instead of coding them into the report. OK, it's open source, I added the functionality. If you would like to have the code (just a few lines so far), just drop me a note.
Nice work . It would be interesting to modify font, color or size of a text from report from source code by calling the function setValue for example.