嗨,我已经创建了这个奇异的应用程序。我只想知道如何将标签调整为整个屏幕的大小。而且,如果我用鼠标调整屏幕大小,标签也会将自身调整为该屏幕大小。我知道要执行此操作,我们需要使用size: root.width, root.height
。但这是在kivy文件中完成的。如果我想在自己的python文件中执行此操作怎么办?
感谢您的建议。
请参考以下代码:
import kivy
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.widget import Widget
class MyGrid(Widget):
def __init__(self, **kwargs):
super(MyGrid, self).__init__(**kwargs)
self.inner = GridLayout()
self.inner.cols = 1
self.add_widget(self.inner)
self.inner.add_widget(Label(text = 'Hi!'))
class MyApp(App):
def build(self):
return MyGrid()
if __name__ == '__main__':
MyApp().run()
答案 0 :(得分:0)
您可以使用Window.height
和Window.width
属性以及on_size
方法来实现。如下面的修改代码所示:
import kivy
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.widget import Widget
from kivy.core.window import Window
class MyGrid(Widget):
def __init__(self, **kwargs):
super(MyGrid, self).__init__(**kwargs)
self.inner = GridLayout()
self.inner.cols = 1
self.add_widget(self.inner)
self.inner.add_widget(Label(text = 'Hi!'))
def on_size(self, *args):
self.inner.height = Window.height
self.inner.width = Window.width
class MyApp(App):
def build(self):
return MyGrid()
if __name__ == '__main__':
MyApp().run()