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"인 화면이 없습니다.
해결 방법에 대한 의견이 있으십니까?
감사합니다. @ EL3PHANTEN, 완벽하게 작동했습니다. – RafaCRz
@RafaCRz 환영합니다. – EL3PHANTEN