我正在尝试设计一个GUI,以使用与要显示的数据(plot(timeS, dataS)
的时间向量(timeS
)相对应的滑块来刷新图dataS
),但时间会有所不同。
我尝试将滑块连接到绘图功能上,该功能具有很多输入
self.slider.valueChanged.connect(self.myPlotFunction(.....))
,位于类的init部分,但无法使用已定义函数myPlotFunction()
的输入。
所以我希望当我开始拖动滑块时,图根据滑块的时间/位置而变化。此外,我的时间向量是由浮点数组成的,而滑块允许使用int值。
答案 0 :(得分:0)
连接插槽时,不会调用该函数,所以
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
的定义。