我在Kivy程序中有两个屏幕。第一个代表登录屏幕,所以它需要更小,而另一个有数据,所以我需要全屏显示。
我尝试使用
from kivy.config import Config
Config.set('graphics', 'width', '350')
Config.set('graphics', 'height', '250')
但是,问题在于其他屏幕的尺寸也减小了,如果你知道我需要做些什么来为不同的屏幕设置不同的尺寸,请帮助我。谢谢。
答案 0 :(得分:0)
定义类似
的方法from kivy.core.window import Window
def update_window_size(width, height):
# Validate width and height then
Window.size = (width, height)
并在所需的任何位置调用所需的高度和宽度。
___编辑1 - 添加样本。在Screen
的初始化
from kivy.app import App
from kivy.uix.screenmanager import Screen, ScreenManager
from kivy.core.window import Window
sm = ScreenManager()
class Main(Screen):
def __init__(self):
super(Main, self).__init__()
class Login(Screen):
def __init__(self):
super(Login, self).__init__()
# Change login screen size in it's __init__
update_window_size(250, 250)
def update_window_size(width, height):
# Validate width and height then
Window.size = (width, height)
class MyApp(App):
def build(self):
return sm
MyApp().run()
答案 1 :(得分:0)
我今天早些时候回答了几乎相同的问题。编写你的python类似于:
Vue.delete(this.formErrors, field);
使用与此类似的multiscreen.kv文件:
from kivy.app import App
from kivy.uix.screenmanager import Screen, ScreenManager
from kivy.core.window import Window
class Screen_Manager(ScreenManager):
pass
class Main(Screen):
def __init__(self, **kwargs):
super(Main, self).__init__(**kwargs)
def on_pre_enter(self):
Window.size = (900, 500)
class Login(Screen):
def __init__(self, **kwargs):
super(Login, self).__init__(**kwargs)
def on_pre_enter(self):
Window.size = (400, 300)
class MultiScreenApp(App):
def build(self):
return Screen_Manager()
MultiScreenApp().run()