相似/相关的链接并没有太大帮助:
我已经待了几个小时了,我发现了与我类似的问题,但实际上没有任何作用。 这是我要尝试的操作:创建一个按钮,按下该按钮时,将拉出文本输入框,然后在短字符串后显示您在按钮上键入的内容。 例如。 按钮开始像:“ LP:” 您输入文本:“ 4000” 现在,按钮显示:“ LP:4000” 我将如何完成?如果那不是完全可能的话,那么我只要按一下按钮就可以得到输入。我什至似乎都无法做到。对于Kivy来说是非常新的东西,而对于Python来说是相当新的东西。 按钮代码(KV文件):
<FloatLayout>:
Button:
name: 'LP'
id: LP
text: "LP: 4000"
size_hint: 0.14, 0.15
pos_hint: {"left": 1, "top": 0.8105}
类(Py文件):
class LPInput(Widget):
pass
输入代码(KV文件):
<LPInput>:
size_hint: 0.14, 0.15
pos_hint: {"left": 1, "top": 0.8105}
TextInput:
id: lifepoint
text: ""
Label:
id: currlp #not sure this is doing anything
text: "LP: "
我写了一些其他的代码,试图通过不同的方法来创建它,但由于沮丧,我将文件保存在保存这些文件的文件中,所以这就是我目前所拥有的。
答案 0 :(得分:0)
下面的解决方案假定LPInput是根窗口小部件。
<LPInput>:
size_hint: 0.14, 0.15
pos_hint: {"left": 1, "top": 0.8105}
TextInput:
id: lifepoint
text: ""
Label:
id: currlp #not sure this is doing anything
text: "LP: "
<FloatLayout>:
Button:
name: 'LP'
id: LP
text: "LP: "
size_hint: 0.14, 0.15
pos_hint: {"left": 1, "top": 0.8105}
on_release:
self.text = "LP: " + app.root.ids.lifepoint.text
Kv语言共有三个关键字:
应用:始终引用您的应用实例。
root :指当前规则中的基本小部件/模板
自我:始终引用当前小部件
from kivy.lang import Builder
from kivy.base import runTouchApp
runTouchApp(Builder.load_string('''
#:kivy 1.11.0
FloatLayout:
TextInput:
id: lifepoint
text: ""
size_hint: 0.14, 0.15
pos_hint: {"left": 1, "top": 0.8105}
Button:
name: 'LP'
id: LP
text: "LP: "
size_hint: 0.14, 0.15
pos_hint: {"right": 1, "top": 0.8105}
on_release:
self.text = "LP: " + root.ids.lifepoint.text
'''))