如果我的问题有点模糊,我很抱歉。我用Qt做了几年,然后我从来没有做任何花哨的图像。我在下面要求的只是关于要考虑使用哪些类的一些一般性建议。我试图避免从一开始就吠叫错误的树。
情况:我正在编写一个基于Qt的程序,我需要在其中显示一个稍大(假设为5000x5000)的光栅图像。用户应该能够(快速)放大和缩小,并以类似于Google地图的方式平移图像。到目前为止,这与the Qt ImageViewer example没有什么不同,除了可能需要快速进行缩放。但是,我需要在图像顶部绘制50k简单几何形状(比如圆圈)的顺序,并能够以简单的方式添加和删除其中的一些。无论缩放级别如何,圆圈都应具有相同的大小,因此无论何时用户缩放,都应该重绘,或者应该使用矢量图形绘制。将圆圈视为地图注释。这些在任何缩放级别看起来都应该相同,并且在平移方面也表现得很好。
我想我的问题有两个:
提前致谢。我不喜欢自己回答模糊的问题,但也许有Qt图形功能经验的人有答案。
答案 0 :(得分:5)
我建议您使用QGraphicsView和朋友。它有助于处理所有视图/世界转换,并且可以使用各种QGraphicsItems来实现矢量项。
只要缩放级别发生变化,您就可以更改项目的大小,以保持不变的表观大小。