0
kivy 앱에서 일시 중지 메뉴로 팝업을 사용하고 있습니다. 그러나 나는 그것으로 스크린을 바꾸는 방법을 알아낼 수 없다. 나는 root.manager.current를 시도했지만, 내 팝업 위젯이 화면이 아니기 때문에 그것이 작동하지 않았다. 나는 또한 self.manager.current를 사용하여 파이썬에서 함수를 만들려고했으나 아아 스케이드도 작동하지 않았다. 이것이 내가 생각할 수있는 유일한 생각이지만 그것은 효과가 없습니다. 모든 도움을 주시면 감사하겠습니다.kivy에서 팝업 위젯으로 화면을 변경하는 방법?
파이썬 조각
class PausePopup(Popup):
pass
class MahScreenManager(ScreenManager):
pass
class MahMenu(Screen):
pass
class MahGame(Screen):
class MahGameApp(App):
def build(self):
window_color = get_color_from_hex("#eaeaea")
Window.clearcolor = window_color
return MahScreenManager()
MahGameApp().run()
KV
<MahScreenManager>:
MahMenu:
name: "menu"
id: menu
MahGame:
name: "game"
id: game
<PausePopup>:
title: "Gahme is paused"
size_hint: .5, .7
BoxLayout:
orientation: "vertical"
padding: 10
spacing: 10
Button:
text: "Continue"
on_release: root.dismiss()
Button:
text: "Settings"
on_release: app.open_settings()
Button:
text: "Main Menu"
on_release: Factory.MahGame().current = "menu"
<MahMenu>:
BoxLayout:
padding: 50
spacing: 25
orientation: "vertical"
Button:
text: "Start Mah Gahme"
on_release:
root.manager.transition.direction = "left"
root.manager.current = "game"
Button:
text: "Quit"
on_release: app.stop()
<MahGame>:
Button:
text: "Pause"
size_hint: 0.1, 0.1
on_release: Factory.PausePopup().open()
파이썬 스 니펫에서 볼 수있는 것과 같지 않습니다./ – Baxorr
@Baxorr 다음에 더 자세히 보여주세요. 내 앱 클래스를 보여줘. – EL3PHANTEN
더 많은 코드를 추가했습니다. 양해 해 주셔서 감사합니다. – Baxorr