【发布时间】:2014-05-25 14:35:27
【问题描述】:
我在QWidget 中使用QPainter 在黑色背景上绘制一堆椭圆,如下所示:
paint = QPainter()
paint.begin(self)
paint.setBrush(Qt.black)
paint.drawRect(event.rect())
brush = ...
paint.setBrush(brush)
paint.drawEllipse(center, rad, rad)
在绘制了一堆椭圆之后,然后我想检测鼠标点击这样一个现有的椭圆。我在 QPainter 的文档中没有发现任何明显的内容。
如果要使用其他东西来代替QPainter,请提供一个示例来显示我在其他框架中的上述示例。
【问题讨论】:
-
你的意思是这段代码被放入了paintEvent或类似的东西?你能不能在鼠标点击事件中设置一个布尔变量,这反过来又调用小部件上的更新,这将触发相应的事件运行,它将检查布尔变量,如果它被设置,它将绘制椭圆?听起来怎么样?
-
我希望以任何方式绘制椭圆。独立于鼠标点击。但是当我点击其中一个椭圆时,我希望调用一个方法。
-
好的,我明白了,但我不明白你为什么在最后发布另一个问题。这似乎与主要问题无关。另外,您在
classses中有错字。 -
我已经更新并澄清了问题
标签: python qt pyside qwidget qgraphicsview