如何固定滑块值和返回值-奇异
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何固定滑块值和返回值-奇异相关的知识,希望对你有一定的参考价值。
我试图显示滑块的值并返回它,以便可以在课堂外使用它。当它只是网格布局时,它就起作用了,但是当我将其添加到屏幕上时,它就停止了工作。
这似乎很容易解决,但我无法解决。
from kivy.app import App
from kivy.uix.screenmanager import Screen
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.slider import Slider
class SliderMode(Screen):
def __init__(self):
super(SliderMode, self).__init__(name='slider_m')
grid_lay = GridLayout(cols=3)
self.add_widget(grid_lay)
grip_l = Label(text='Gripper')
grip_value = Label(text='0')
grip_slide = Slider(
min=0,
max=180,
value=90,
)
grid_lay.add_widget(grip_l)
grid_lay.add_widget(grip_slide)
grid_lay.add_widget(grip_value)
elbow_l = Label(text='Elbow')
elbow_value = Label(text='0')
elbow_slide = Slider(
min=0,
max=180,
value=90,
)
grid_lay.add_widget(elbow_l)
grid_lay.add_widget(elbow_slide)
grid_lay.add_widget(elbow_value)
grip_slide.bind(value=self.s_value,on_touch_down=update, on_touch_move=update)
elbow_slide.bind(value=self.s_value,on_touch_down=update, on_touch_move=update)
def s_value(self, instance, value):
grip_value.text = str(value)
elbow_value.text = str(value)
def update(obj, value):
num = 0
print("Updating speed to:" + str(obj.value))
num = obj.value
class MyMain(App):
def build(self):
return SliderMode()
if __name__ == '__main__':
MyMain().run()
运行时,它会显示'grip_value' not defined
,并且不会显示或返回该值。任何帮助表示赞赏。
答案
[在python中使用类属性时,请使用self
。因此,在您的情况下:
self.grip_value = Label(text='0')
和:
def s_value(self, instance, value):
self.grip_value.text = str(value)
self.elbow_value.text = str(value)
代码中的所有其他类属性都相同。
以上是关于如何固定滑块值和返回值-奇异的主要内容,如果未能解决你的问题,请参考以下文章