是否在Qt事件循环中丢失了一些信号

问题描述 投票:0回答:1

我有一个使用PyQt5和matplotlib编写的GUI应用程序,该应用程序处理专有的XML文件,并绘制其中包含的数据的图像。我发现有时候,无论我的某些小部件中的信号如何连接,都不会调用某些插槽。

一个例子是使用两个QSlider来更新两个QLabel。打开文件时,将发出一个单独的信号,要求处理数据,并设置QSliders的值以匹配文件中数据的最大值和最小值。

但是,当我调用self.slider1.setValue(value1)self.slider2.setValue(value2)时,一个对应的标签会更新,而另一个则不会。这是因为未调用连接到第二滑块的slider.valueChanged信号的插槽。滑块是同时创建的,并使用相同的方法进行连接。

我已经尝试使用Qt Designer与信号插槽检查器进行连接。我也尝试过使用

@pyqtSlot(int)
def slider_1_valueChanged(self, value1)

self.slider_1.connect.valueChanged[int](label.setNum)

连接方法,但这些方法均无效。我以为它与线程有关,但是我对所有这些都还很陌生,所以我不确定从哪里开始调试。但是,当从GUI内部更改值时,可以很好地调用插槽。我想念什么?

python pyqt5 signals qt-creator slots
1个回答
0
投票
当我在Qt Designer中创建滑块时,结果都是将它们初始化为0。我正在处理的数据似乎总是最小值为0,请问哪个滑块没有发出​​信号?对应于最小值的那个。似乎是一个很愚蠢的疏忽,但是我已经坚持了几天。我是在回答是否有人遇到这样的难题。
© www.soinside.com 2019 - 2024. All rights reserved.