我试图将项目添加到qgraphicsscene,然后再移动它们。我正在使用QMainWindow和QFrame来组织窗口内容,我可以添加项目,但无法移动项目。在教程中,我发现作者使用QDialog和QgraphicsView作为唯一的小部件。那有什么区别? QMainWindow不会将鼠标事件传递给GraphicsView或QGraphicsScene?任何帮助表示赞赏。
def _add_area(self):
item = QGraphicsRectItem(0, 0, 100, 100)
brush = QBrush()
brush.setStyle(Qt.Dense7Pattern)
brush.setColor(Qt.darkBlue)
item.setBrush(brush)
item.setFlag(QGraphicsItem.ItemIsMovable)
item.setFlag(QGraphicsItem.ItemIsSelectable)
self._scene.addItem(item)
答案 0 :(得分:0)
好的,好像我找到了解决方案。当我从QFrame中删除QGraphicsView时,它开始工作(现在QWidget是graphicsview的父级)。