0
我有這樣的代碼:爲什麼QPainter每次使用它都會清除小部件?
def paintEvent(self, paintEvent):
self._painter.begin(self)
try:
while True:
color, rectangle = self._paint_queue.popleft()
self._painter.fillRect(rectangle, color)
except IndexError:
pass
finally:
self._painter.end()
def drawInstruction(self, ptr, instruction):
rectangle = QtCore.QRect(
(ptr % self.cols)*CELL_SIZE,
math.floor(ptr/float(self.cols))*CELL_SIZE,
CELL_SIZE,
CELL_SIZE)
self._paint_queue.append((opcode2color[instruction.opcode],
rectangle))
self.update()
而且我每次通話時間drawInstruction(),這是已繪製被清除一切。只剩下新的矩形。
我每次調用drawInstruction()都不是一個解決方案,因爲經常調用drawInstruction()。