gpt4 book ai didi

c++ - 忽略 qt 中第二个图形 View 场景中的 drawForeground()

转载 作者:行者123 更新时间:2023-11-28 07:10:57 28 4
gpt4 key购买 nike

我有自己的 QGraphicsScene 和两个 QGraphicView。在 QGraphicsScene 中,我使用了

drawForeground(QPainter *painter, const QRectF &rect)

绘制网格的函数。现在我希望网格仅在第一个 View 中可见,但在第二个 View 中不可见……这可能吗?

最佳答案

QGraphicsView 是进入一个世界(QGraphicsScene)的窗口。你问的就像是说当我向窗外看时正在下雨,但是当我从其中一扇窗外看时是否只能下雨?!

但是,您可以更改窗帘(!),因此覆盖 QGraphicsView 的功能,而不是 QGraphicsScene。我建议使用这个:-

QGraphicsView::drawForeground(QPainter *, const QRectF &);

仅将此应用于您要更改的 View 。对于两个 View ,您需要一个标志来设置要将其应用到哪个 View 。例如:-

 void MyGraphicsView::drawForeground(QPainter* painter, const QRectF& rect)
{
QGrahicsView::drawForeground(painter, rect);
if(m_bDrawGrid)
DrawGrid();
}

关于c++ - 忽略 qt 中第二个图形 View 场景中的 drawForeground(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20991408/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com