【发布时间】:2020-02-21 01:29:19
【问题描述】:
我期待以下 kivy 应用程序在我按下然后释放按钮时切换屏幕,但没有任何反应,终端上也没有错误。当我运行应用程序时,会显示 GirisEkrani 屏幕,然后当我按下并释放 GirisEkrani 中的按钮时,应该会显示下一个屏幕 (GirisEkrani2)。你如何做到这一点?
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
Builder.load_string("""
<ekranApp>
GirisEkrani:
id: ge
Button:
text: "İleri"
on_release: ge.manager.current = ge.manager.next()
GirisEkrani2:
Button:
id: ge2
text: "Ileri 2"
on_release: ge2.manager.current = ge2.manager.next()
KontrolEkrani:
id: ke
Button:
text: "Geri"
on_release: ke.manager.current = ke.manager.previous()
""")
class GirisEkrani(Screen):
pass
class GirisEkrani2(Screen):
pass
class KontrolEkrani(Screen):
pass
class ekranApp(App, ScreenManager):
def build(self):
#root = ScreenManager()
#root.add_widget(GirisEkrani(name = "giris_ekrani"))
#root.add_widget(GirisEkrani2(name = "giris_ekrani2"))
#root.add_widget(KontrolEkrani(name = "kontrol_ekrani"))
return self
if __name__ == "__main__":
ekranApp().run()
虽然人们似乎提倡使用 .kv 文件而不是使用纯 Python,但我发现当某些东西不起作用时没有出现错误非常令人沮丧。
【问题讨论】: