内更新我已经建立在PyQt的GUI程序,该GUI具有QtGraphicsView小部件,它有一个GraphicsScene,其中有一个图片项目进行显示和更新,比如,我用下面的line to do thisPyQt的QtGraphicsView没有得到循环
view.scene().items().setPixmap(QPixmap.fromImage(qimage))
每次,我修改qimage并调用这一行来更新图像显示,并且它运行良好。 后来我想添加一个循环,不断更新的图像:
for i in xrange(10):
qimage = .... #make some changes to qimage
view.scene().items().setPixmap(QPixmap.fromImage(qimage))
好,图像不会得到循环内更新。视口中只显示第一个图像(I = 0)和最后一个图像(I = 9),我认为这是因为GraphicsView widget的ViewportUpate选项,但它仍然之后,我用不工作:setViewportUpdateMode(QGraphicsView.FullViewportUpdate)
... 任何想法? 真的非常感谢您的帮助!
它可能是因为它发出了一个通知事件的东西改变了......但是它没有机会,因为你是在一个循环......也许看看使用Timer类调用代码,而不是来处理更新事件循环的... –
也许尝试加入'view.scene()。更新()' –
@JoranBeasley我尝试添加'time.sleep(1)'setPixmap后,但仍然没有更新,我也试着加上' view.scene()。更新()',但仍然没有更新... – shelper