2
これは私がやろうとしていることです:私のアプリケーションの最初の画面に入るとき、私はそれがいくつかのファイルが特定のディレクトリに存在するかどうかをチェックしたい。それらが存在する場合は、すぐに別の画面に切り替えることができます。on_enterイベントを使用してkivyの画面を変更するにはどうすればよいですか?
私は次のことを試してみた:
main.py
from kivy.app import App
from kivy.uix.screenmanager import ScreenManager, Screen
from os import listdir
class Manager(ScreenManager):
pass
class CreateFileScreen(Screen):
def on_enter(self):
try:
files = listdir("data/files")
if "file.dat" in files:
self.parent.current = "login"
else:
pass
except FileNotFoundError:
pass
class LoginScreen(Screen):
pass
class ExampleApp(App):
def build(self):
return Manager()
if __name__ == "__main__":
ExampleApp().run()
example.kv
#:kivy 1.10.0
<CreateFileScreen>:
BoxLayout:
Label:
text: "This is Create File Screen"
font_size: "30sp"
<LoginScreen>:
BoxLayout:
Label:
text: "This is Login Screen"
font_size: "30sp"
<Manager>:
CreateFileScreen:
name: "createfile"
LoginScreen:
name: "login"
file.dat
がdata/files
に存在しない場合、私は次のエラーを取得: kivyを.uix.screenmanager.ScreenManagerException:名前が "login"のScreenはありません。
これを修正する方法はありますか?
ありがとう@ EL3PHANTEN、それは完璧に動作しました! – RafaCRz
@RafaCRzようこそ。 – EL3PHANTEN