这是我的代码:我想做一个游戏,当你按下一个按钮,主标签改变文本,但我已经到处找了一个星期,仍然不知道如何做。我看了基维的网站,但我不明白。正如你所见,我是基维的新手,经验不多
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout
from kivy.clock import Clock
energy = 100
hours = 4
class app1(App):
def build(self):
self.f = FloatLayout()
#Labels
self.energy_label = Label(text = "Energy = " + str(energy), size_hint=(.1, .15),pos_hint={'x':.05, 'y':.9})
self.time_label = Label(text = "Hours = " + str(hours), size_hint=(.1, .15),pos_hint={'x':.9, 'y':.9})
self.name_label = Label(text = "Game", size_hint=(.1, .15),pos_hint={'x':.45, 'y':.9})
self.main_label = Label(text = "Default_text", size_hint=(1, .55),pos_hint={'x':0, 'y':.35})
#Main Buttons
self.inventory_button = Button(text = "Inventory", size_hint=(.3, .1),pos_hint={'x':.65, 'y':.2})
self.help_button = Button(text = "Help", size_hint=(.3, .1),pos_hint={'x':.65, 'y':.1})
self.craft_button = Button(text = "Craft", size_hint=(.3, .1),pos_hint={'x':.05, 'y':.1})
self.food_button = Button(text = "Food", size_hint=(.3, .1),pos_hint={'x':.35, 'y':.2})
self.go_button = Button(text = "Go", size_hint=(.3, .1),pos_hint={'x':.35, 'y':.1})
self.walk_button = Button(text = "Walk", size_hint=(.3, .1),pos_hint={'x':.05, 'y':.2})
def update(self, *args):
self.main_widget.text = str(self.current_text)
self.f.add_widget(self.energy_label)
self.f.add_widget(self.main_label)
self.f.add_widget(self.time_label)
self.f.add_widget(self.inventory_button)
self.f.add_widget(self.help_button)
self.f.add_widget(self.craft_button)
self.f.add_widget(self.food_button)
self.f.add_widget(self.go_button)
self.f.add_widget(self.walk_button)
self.f.add_widget(self.name_label)
self.current_text = "Default"
Clock.schedule_interval(update, 1)
return self.f
def update_label(input):
input = self.current_text
help_button.bind(on_press = update_label("success!"))
if __name__=="__main__":
app1().run()
如何更新代码,以便通过按“帮助”按钮,主标签更改其文本?
谢谢你的帮助。
另一种方法是,在Kivy中,Kivy语言属性右边的所有内容都是纯python。因此,您可以将kivy文件连接到python,方法是向函数传递一些标记,然后根据需要在python中执行任何操作。
在.kv文件中:
在Python文件中:
好吧!你的代码确实需要改进。(我理解,因为你没有经验。)
改进:1
如果在build()上返回小部件,或者设置 self.root(不应该在构建函数中生成所有的gui)
改进:2
在释放/按两个键总是有用的。
改进:3
当按下“帮助”按钮时,将调用“更新”功能来更改主标签的文本。
这是完整的改进代码
小脏片段!
相关问题 更多 >
编程相关推荐