內更新我已經建立在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