我目前有一个QSlider,可以使用鼠标滚动图像数据的帧。 我想能够使用箭头键来滚动单个步骤(一帧)。
这是我当前的sliderMoved代码:
def sliderMoved(self,val):
"""
retrieves the data array for the index value specified by the slider
"""
if self.fileheader is None:
print "[DEBUG] change_image_index(): self.fileheader is None"
return
idx=val
self.x=idx
frame=self.fileheader.frameAtIndex(idx)
image=scipy.ndimage.filters.maximum_filter(frame.data, size=5)
self.image.setImage(image, scale=((10.28/512),(2.486/96)))
print self.image.imageItem.pixelSize()
def keyPressEvent(self, event):
if event.key()==Qt.Key_Right:
frame=self.fileheader.frameAtIndex(idx+1)
为了将滑块连接到事件,我只需要使用:
self.slider.sliderMoved.connect(self.sliderMoved)
self.slider.sliderMoved.connect(self.keyPressEvent)
箭头键移动滑块,但不会导致图像跳帧...我知道我错过了一些愚蠢的东西...