我正在尝试使用插件设置 GUI。在我当前的阶段,我需要用户点击并指定点的位置。
我设置的插件架构要求插件返回插件希望使用的 QGraphicsItem。在主程序中( future 的插件作者将无法访问),我设置了背景图像来引导点击。插件可以使用 itemChange() 偷偷访问 scene() 并在正在设置的场景上安装 eventFilter() 。这允许插件访问场景点击并处理它需要的任何信息。但是,背景图片由 itemAt() 调用返回。
我希望防止此背景 Pixmap 返回所有 future 插件的 itemAt()。这可能吗?
尝试过:
setEnabled(false); //No success
最佳答案
这并没有直接回答你的问题,但它应该可以解决你的问题:我建议重新实现 QGraphicsScene::drawBackground()
并在那里绘制你的像素图。这就是该方法的用途。
类似的方法是将像素图放在资源文件中,然后使用样式表将其设置为 QGraphicsView 或其视口(viewport)小部件的背景(我认为它们的效果略有不同)。
关于c++ - 防止 QGraphicsItem::itemAt() 在 "Background Item",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13241034/