我想创建一个控制面板,它提供了一个快速输入滑块,但也是一个textinput作为浮点数输入精确值。另外应该有一个标签,显示实际值。 问题是,我不退出如何将所有三个小部件相互链接,并自动更新它们,如果更改值... 一切都在外部.kv文件中完成。kivy绑定textiput滑块vlaue
这是我第一次尝试通过ID。它可以工作,但如果我更改滑块值,则textinput不会更改其内容。有没有人对我的问题有更好的解决方案? 感谢您的帮助:)
这是test.kv的内容:
<MainLayout>:
BoxLayout:
pos: self.parent.x + self.parent.width*0.1, self.parent.y
orientation: 'vertical'
BoxLayout:
orientation: 'horizontal'
Label:
color: 0, 0, 0, 1
font_size: 20
text: 'Position: ' + str(linear_pos_slider.value) + ' mm'
size: self.texture_size
Slider:
id: linear_pos_slider
orientation: 'horizontal'
max: 50
min: -50
padding: 1
value: float(linear_pos_ti.text)
step: 0.1
TextInput:
id: linear_pos_ti
size_hint: 0.2, 0.8
font_size: 20
text_color: 0, 0, 0, 1
input_filter: 'float'
multiline: 'False'
text: '0'
这里是test.py的内容,使应用程序运行:
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.slider import Slider
from kivy.uix.floatlayout import FloatLayout
from kivy.core.window import Window
Window.clearcolor = (1, 1, 1, 1)
class MainLayout(BoxLayout):
pass
class Test(App):
def build(self):
return MainLayout()
if __name__ == "__main__":
Test().run()
你能发布一个完整的可运行的例子? – bj0
抱歉,延迟。我在第一篇文章中添加了一个完整的示例。 – wurstsalat