我如何在 kivy 中动态调整 window 的大小?
How do i resize dynamically a window in kivy?
我在构建桌面应用程序时遇到问题,因为在不同的屏幕上我需要不同的 window 大小(例如登录、菜单等)
我需要做什么?
您可以在屏幕 on_pre_enter
事件中更改 window 大小。最好在切换屏幕时更改 window 大小时没有过渡。
试试这个例子:
from kivy.app import App
from kivy.lang import Builder
KV = """
#:import Window kivy.core.window.Window
#:import NoTransition kivy.uix.screenmanager.NoTransition
ScreenManager:
transition: NoTransition()
Screen:
on_pre_enter:
Window.size = (400, 400)
name: "scr1"
Button:
font_size: "40sp"
text: "Next screen"
on_release:
root.current = "scr2"
Screen:
on_pre_enter:
Window.size = (200, 50)
name: "scr2"
Button:
font_size: "20sp"
text: "Previous screen"
on_release:
root.current = "scr1"
"""
class MyApp(App):
def build(self):
return Builder.load_string(KV)
MyApp().run()
我在构建桌面应用程序时遇到问题,因为在不同的屏幕上我需要不同的 window 大小(例如登录、菜单等) 我需要做什么?
您可以在屏幕 on_pre_enter
事件中更改 window 大小。最好在切换屏幕时更改 window 大小时没有过渡。
试试这个例子:
from kivy.app import App
from kivy.lang import Builder
KV = """
#:import Window kivy.core.window.Window
#:import NoTransition kivy.uix.screenmanager.NoTransition
ScreenManager:
transition: NoTransition()
Screen:
on_pre_enter:
Window.size = (400, 400)
name: "scr1"
Button:
font_size: "40sp"
text: "Next screen"
on_release:
root.current = "scr2"
Screen:
on_pre_enter:
Window.size = (200, 50)
name: "scr2"
Button:
font_size: "20sp"
text: "Previous screen"
on_release:
root.current = "scr1"
"""
class MyApp(App):
def build(self):
return Builder.load_string(KV)
MyApp().run()