Kivy主窗体大小的控制

   日期:2024-01-17     浏览:44    评论:0    

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. 不全屏[自定大小]

 要让程序主窗体不全屏显示,并认为指定宽高的话,可以通过Windowfullscreensize来配置,效果如下:

 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_widthminimum_height属性。

1 Window.minimum_width, Window.minimum_height = 360, 240

效果如下:

6. 总结

  • 窗体的设置主要涉及的类:kivy.core.window.Windowkivy.config.Config

  • 其实上面还漏掉了一个功能,就是将窗体的边框去掉,这个需要使用到kivy.core.window.Window.borderless属性,将其设置为True即可去掉窗体边框。但是这个不是本章说的重点。这个属性需要和拖拽行为结合使用。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服