我盯着代碼的時間越長,我就越不瞭解它,但它更有趣。在一個案例中,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