for i in range(len(trgx)):
qp.begin(self)
brush = QtGui.QBrush(QtCore.Qt.red,QtCore.Qt.SolidPattern)
qp.setBrush(brush)
qp.drawRect(trgx[i],trgy[i],cd,rd)
qp.end()
time.sleep(.4)
上面的代码是paintEvent的一部分,这里的问题是绘画不是一个接一个地出现,而是等待整个睡眠过程完成ie sleep(.4)*len(trgx),然后打印所有矩形一起。怎么我要纠正这个吗??在
我认为您不能暂停paintEvent并同时更新屏幕。在
要想做什么,一种可能的方法是创建一个方法,调用paintEvent传递要绘制的矩形数,然后暂停。在
可能更好的方法是使用QTimer,其代码如下(伪代码):
update()
槽计算要绘制的矩形数并绘制它们。当所有的矩形都画好后,只需调用timer.stop()
方法来停止计时器。在相关问题 更多 >
编程相关推荐