【发布时间】:2016-01-22 17:26:08
【问题描述】:
我一直在摆弄 Kivy 语言并进行了一些搜索,但没有找到适合我情况的解决方案。我想我在这里遗漏了一些基本的东西。
我试图通过按下按钮在屏幕中调用一个函数,我想通过一个 kv 文件来促进这一点。我简化了代码,并在kv文件中省略了一些格式,例如布局和按钮大小等。
'entered'变量在屏幕上显示为“Not Entered”,但是当我按下按钮时,标签没有改变,函数没有输入,什么也没有发生。
Python:
import kivy
kivy.require('1.9.1')
from kivy.app import App
from kivy.uix.screenmanager import Screenmanager, Screen
from kivy.properties import StringProperty
class ScreenManager(ScreenManager):
pass
class StartMenu(Screen):
pass
class MyScreen(Screen):
entered = StringProperty()
entered = "Not Entered"
def my_function(self, *args):
self.entered = "Entered"
class MyApp(App):
def build(self):
return ScreenManager()
if __name__ == "__main__":
MyApp().run()
基维:my.kv
#:kivy 1.9.1
<ScreenManager>:
StartMenu:
MyScreen:
<StartMenu>:
name: 'StartMenu'
Button:
on_release:
root.manager.current = 'MyScreen'
<MyScreen>:
name: 'MyScreen'
Label:
text: root.entered
Button:
on_release:
root.my_function()
感谢您的宝贵时间!
【问题讨论】: