1、在使用QGraphicsView/Scene时需要将内存导出到pdf,有view.render和scene.render两种方式,在使用view.render时,注意item的cacheMode要设为QGraphicsItem::NoCache,否则pdf可能在多页的情况下文件很大、导出耗时。原因是次数每一个item是已图片方式绘制,且每一页pdf的内存都是全部内容。但目前这个方式存在内存泄漏(5.15.2)每一次大小win比较大,mac小,建议采用多进程方式
2、因需要重载QScrollBar来实现对应样式效果,发现滚动的高度(假设是垂直)不是根据内容自动变更,通过源码分析,最终求出滚动条高度的计算公式。最终是设置pagestep控制。
3、mac下多屏坐标系的互相转换
mac下的屏幕是以左下角为起点,y向上递增,x向右递增,qt的窗口坐标系是左上角未起点,向下递增。通过分析,实现两个坐标系互转。
实际效果图