python - PyQt5 QSlider 值始终为 0
问题描述
我遇到了 PyQt5 QSlider 的问题。
我在一个小部件中有多个 QSlider。现在我想在释放滑块的手柄时更新相应的 QLabel。因此,我将所有滑块连接到一个 for 循环中,在其中我将滑块和标签作为参数传递。
mot1_slider = QSlider(Qt.Horizontal)
mot1_value = QLabel('0')
mot2_slider = QSlider(Qt.Horizontal)
mot2_value = QLabel('0')
mot3_slider = QSlider(Qt.Horizontal)
mot3_value = QLabel('0')
trav_slider = QSlider(Qt.Horizontal)
trav_value = QLabel('0')
temp_slider = QSlider(Qt.Horizontal)
temp_value = QLabel('0')
air_slider = QSlider(Qt.Horizontal)
air_value = QLabel('0')
sliders = [mot1_slider, mot2_slider, mot3_slider, trav_slider, temp_slider, air_slider]
slider_values = [mot1_value, mot2_value, mot3_value, trav_value, temp_value, air_value]
//[removed for readability, here i add the elements into a QGroupBox]
for slider, value_label in zip(sliders, slider_values):
slider.sliderReleased.connect(lambda: self.slider_released(slider,value_label))
def slider_released(self, slider, value_label):
value_label.setText(slider.value())
如果我运行它,标签值会一直显示 0。如果我这样做,print(slider.value())
我也会得到 0。
我错过了什么?
希望你们中的任何人都可以帮助我解决这个问题。谢谢!
解决方案
推荐阅读
- meson-build - build_always_stale 的确切语义?
- c - 在c中舍入小数错误?
- python - 如何根据列值乘以 2 个不相等的数据帧?
- javascript - 我怎么能洗牌然后显示这个数组中的随机牌?
- javascript - 我的 JavaScript onClick 函数有问题
- python - Pandas DataFrame 自定义 GroupBy 函数接收到错误数据
- reactjs - 在 ReactJS 中,我如何跟踪一组复选框的状态?
- sql - 如果结果保持不变,如何获取最小日期和最大日期
- javascript - 添加动态创建的 web 元素的事件监听器
- javascript - 解决 VueJS 构建和 html-minifiy 的问题