主窗体大小的控制,需要使用到kivy.core.window
中的Window
模块
from kivy.app import App
from kivy.core.window import Window
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
直接使用代码布局,一个BoxLayout
中加入一个Button
class MainApp(App):
def build(self):
root = BoxLayout(orientation='vertical')
btn = Button(size_hint=(None, None), width=50, height=50, text='btn')
root.add_widget(btn)
return root
if __name__ == '__main__':
MainApp().run()
程序运行之后,就会全屏显示,效果如图,可见kivy
的坐标原点是在左下角
要让程序主窗体不全屏显示,并认为指定宽高的话,可以通过Window
的fullscreen
和size
来配置,效果如下:
class MainApp(App):
def build(self):
# 设置窗体不全屏
Window.fullscreen = False
# 指定初始化后的主窗体大小,但是程序运行后,还是动态地改变大小
Window.size = (360, 240)
root = BoxLayout(orientation='vertical')
btn = Button(size_hint=(None, None), width=50, height=50, text='btn')
root.add_widget(btn)
return root
窗体大小的固定,需要在kivy.config.Config
类中配置,所以需要引入改模块,效果如下,可以看到最大化额按钮变成灰色,而且窗体大小不可调。
from kivy.config import Config
Config.set('graphics','resizable', False) # 窗体可变设置为False
size
一般我们不会固定窗体的大小值,而是设置窗体的最小值,以防止布局美观。要做到这种效果,需要使用Window
的是minimum_width
和minimum_height
属性。
Window.minimum_width, Window.minimum_height = 360, 240
效果如下:
窗体的设置主要涉及的类:kivy.core.window.Window
和kivy.config.Config
其实上面还漏掉了一个功能,就是将窗体的边框去掉,这个需要使用到kivy.core.window.Window.borderless
属性,将其设置为True
即可去掉窗体边框。但是这个不是本章说的重点。这个属性需要和拖拽行为结合使用。
手机扫一扫
移动阅读更方便
你可能感兴趣的文章