如何从窗口小部件的init中找出屏幕大小(本例中为小部件)?下面有两个打印功能:一个返回默认的小部件大小,另一个返回小部件的实际大小。
from kivy.app import App
from kivy.uix.image import Image
from kivy.config import Config
class MyScreen(Image):
def __init__(self, **kwargs):
super(MyScreen, self).__init__ (**kwargs)
self.size_hint = 1, 1
print self.size #returns 100, 100
def on_touch_down(self, *ignore):
print self.size #returns real size for the screen 1280 800
class TemplateApp(App):
Config.set('graphics', 'fullscreen', 'auto')
def build(self):
return MyScreen()
if __name__ == "__main__" :
TemplateApp().run()
答案 0 :(得分:1)
在100, 100
期间,两者都返回正确的结果,小部件大小 __init__
。稍后由其父级更新,在本例中为Window本身。
如果您关心大小更改,请将函数绑定到其大小,以执行您需要的任何更新。