如何在MFC视图中绘制QGraphicsItem

时间:2010-05-10 05:08:28

标签: qt mfc qt4 qgraphicsitem

我开始在我的应用程序中使用Qt。我的应用程序是基于MFC的。我想在当前的MFC视图中绘制一些QGraphicsItems,是否可能?

你可以说可以通过在MFC视图中托管带有QWinWidget的QGraphicsView来完成,但这不起作用。因为我的Canvas(MFC视图)支持缩放和旋转,而QGraphicsView本身则不支持。当我缩放QGraphicsItem时,QGraphicsView显示滚动条而不是放大。

有什么建议吗?谢谢!

2 个答案:

答案 0 :(得分:0)

从理论上讲,你可以使用QGraphicsScene::paint在缓冲区中使用QGraphicsItems绘制场景,然后将其绘制到MFC视图中,但它没有任何意义......

QGraphicsView有什么问题?您是否看过它的rotate()scale()translate()shear()函数?

答案 1 :(得分:0)

您可以通过将ScrollBarPolcies设置为Qt :: ScrollBarAlwaysOff来关闭QGraphicsView滚动条的显示。 (QGraphicsView是QAbstractScrollArea的子类。)

我不确定通过旋转QGraphicsView本身而不是内容来理解你的意思。没有滚动条,我看不出差异。 QGraphicsItem的许多功能,如您所指示的编辑,取决于QGraphicsScene和QGraphicsView中的事件处理。我不认为只将QGraphicsItem插入MFC视图就可以做到你想要的。