研究了一下QT Paint System,发现他由三部分组成:QPainter, QPaintDevice, and QPaintEngine classes.
QPaintDevice是一个二维空间,他可以是Image ,picture也可以是printer(Inherited from QPaintDevice).
而QPainter是一个工具,他的构造函数里需要一个QPaintDevice,然后他可以画直线,圆或者文字。这些都被画到QPaintDevice里,如果传入的是一个printer ,那么就画在纸上了。
所以要打印一个报表就是画一个报表,画直线,然后计算位置,再写下文字。
QT下就是这么原始,基础设施太少,windows下就有好多表格可以自己打印自己,不用这样打印。