1. 引入依賴模塊
主表單大小的控制,需要使用到kivy.core.window中的Window模塊
1 from kivy.app import App 2 from kivy.core.window import Window 3 from kivy.uix.boxlayout import BoxLayout 4 from kivy.uix.button import Button
2. 簡單的布局
直接使用代碼布局,一個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的坐標原點是在左下角
3. 不全屏[自定大小]
要讓程式主表單不全屏顯示,并認為指定寬高的話,可以通過Window的fullscreen和size來配置,效果如下:
1 class MainApp(App): 2 def build(self): 3 # 設定表單不全屏 4 Window.fullscreen = False 5 # 指定初始化后的主表單大小,但是程式運行后,還是動態地改變大小 6 Window.size = (360, 240) 7 root = BoxLayout(orientation='vertical') 8 btn = Button(size_hint=(None, None), width=50, height=50, text='btn') 9 root.add_widget(btn) 10 return root

4. 固定表單大小
表單大小的固定,需要在kivy.config.Config類中配置,所以需要引入改模塊,效果如下,可以看到最大化額按鈕變成灰色,而且表單大小不可調,
1 from kivy.config import Config 2 Config.set('graphics','resizable', False) # 表單可變設定為False

5. 表單最小size
一般我們不會固定表單的大小值,而是設定表單的最小值,以防止布局美觀,要做到這種效果,需要使用Window的是minimum_width和minimum_height屬性,
1 Window.minimum_width, Window.minimum_height = 360, 240
效果如下:

6. 總結
-
表單的設定主要涉及的類:
kivy.core.window.Window和kivy.config.Config -
其實上面還漏掉了一個功能,就是將表單的邊框去掉,這個需要使用到
kivy.core.window.Window.borderless屬性,將其設定為True即可去掉表單邊框,但是這個不是本章說的重點,這個屬性需要和拖拽行為結合使用,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/142359.html
標籤:Python
