我盯着代码的时间越长,我就越不了解它,但它更有趣。在一个案例中,QPainter绘制圆圈,在另一个案例中没有。PyQT:傻QPainter.drawEllipse问题
我的问题是,如果成功,QPainter 不会画。另一方面,如果它不成功,它确实平局。我实际想要实现的是根据状态改变颜色。这个相当丑陋的代码是为了说明。在循环外部移动QP.begin(),或者在if子句外部最后只有一个drawEllipse()并没有任何区别。
def paintEvent(self, e):
# compute here diameter, offsets, etc. but nothing qt related
for i in xrange(5):
painter = QtGui.QPainter(self)
x_offset += 5
if self.isSuccessful():
print "Successful"
painter.setBrush(QtGui.QColor(0,255,0))
painter.drawEllipse(x_offset, y_offset, diameter, diameter)
else:
print "Not yet"
painter.setBrush(QtGui.QColor(0,0,255))
painter.drawEllipse(x_offset, y_offset, diameter, diameter)
painter.end()
有人能告诉我为什么在一种情况下椭圆实际上被绘了,而在另一种情况下不是?
输出是:
...
尚未
尚未
尚未
尚未
尚未
全成
全成
全成
全成
全成
...
不要紧是否椭圆以前或尚未领取。如果我在“尚未”的情况下评论drawEllipse(),则不绘制圆。
你可以接受你自己的答案。 – aukaost