[英]pyqt4: connect a slider to refresh a plot
我试图设计一个GUI刷新的曲线图,即plot(timeS, dataS)
使用对应于时间向量(滑块timeS
,我想显示(数据) dataS
其在随时间变化)。
我试图将滑块连接到我的绘图函数,该函数有很多输入self.slider.valueChanged.connect(self.myPlotFunction(.....))
,它位于类的init部分,但是我不能使用已定义函数myPlotFunction()
的输入。
因此,我希望当我开始拖动滑块时,图根据滑块的时间/位置而变化。 此外,我的时间向量由浮点数组成,而滑块允许使用int值。
连接插槽时,不会调用该函数,因此
self.slider.valueChanged.connect(self.myPlotFunction(.....))
应该看起来像
self.slider.valueChanged.connect(self.myPlotFunction)
并且您对myPlotFunction
的定义必须与valueChanged
信号的参数签名匹配,因此
def myPlotFunction(self, sliderValue):
# Do stuff
pass
如果需要将更多内容传递给myPlotFunction
,则可以使用lambda,确保适应Qt首先传递的参数,即
otherVar = "some other stuff"
self.slider.valueChanged.connect(lambda sv, ov=otherVar: self.myPlotFunction(sv, ov))
并相应地调整myPlotFunction
的定义。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.