考虑这个最小的例子,其目标是显示pyqtgraph的ImageView的当前“时间索引”:
import pyqtgraph as pg
import numpy as np
pg.mkQApp()
view = pg.ImageView()
view.setImage(np.random.normal(size=(100,100,100)))
view.show()
def indexChanged():
print view.currentIndex
view.sigTimeChanged.connect(indexChanged)
只要用鼠标改变时间,这就行得很好。使用键盘箭头更改时间时,似乎不会发出sigTimeChanged?或者我错过了什么?
有什么建议可以解决这个问题?
答案 0 :(得分:0)
嗯...我潜入了源代码并做了一些补丁(实际上,只重新排序了这些语句):
class PatchedImageView(pg.ImageView):
def timeLineChanged(self):
(ind, time) = self.timeIndex(self.timeLine)
self.sigTimeChanged.emit(ind, time)
if self.ignoreTimeLine:
return
self.play(0)
if ind != self.currentIndex:
self.currentIndex = ind
self.updateImage()
它似乎有效,但我不确定我是否有任何破坏。