我开始在我的应用程序中使用Qt。我的应用程序是基于MFC的。我想在当前的MFC视图中绘制一些QGraphicsItems,是否可能?
你可以说可以通过在MFC视图中托管带有QWinWidget的QGraphicsView来完成,但这不起作用。因为我的Canvas(MFC视图)支持缩放和旋转,而QGraphicsView本身则不支持。当我缩放QGraphicsItem时,QGraphicsView显示滚动条而不是放大。
有什么建议吗?谢谢!
答案 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视图就可以做到你想要的。