如何设置KivyMD应用启动时自动最大化窗口且居中不可调整大小
你需要把所有窗口相关的配置代码放在导入任何Kivy/KivyMD模块的最前面,否则配置不会生效,完整实现三个需求的操作如下:
基础配置实现
在代码最开头加入以下配置即可覆盖全部需求:
from kivy.config import Config # 禁止调整窗口大小(你已有的代码) Config.set('graphics', 'resizable', 0) # 设置窗口默认居中显示 Config.set('graphics', 'position', 'center') # 设置启动时自动最大化窗口 Config.set('graphics', 'window_state', 'maximized') # 写入配置确保生效 Config.write()
兜底兼容逻辑(建议添加)
部分操作系统可能存在Config配置不生效的问题,可以在App类的on_start方法中添加强制最大化的逻辑,完整示例代码如下:
# 注意:Config配置必须写在所有Kivy/KivyMD导入之前 from kivy.config import Config Config.set('graphics', 'resizable', 0) Config.set('graphics', 'position', 'center') Config.set('graphics', 'window_state', 'maximized') Config.write() from kivy.core.window import Window from kivymd.app import MDApp from kivymd.uix.screen import MDScreen class MyApp(MDApp): def on_start(self): # 强制调用最大化接口,兼容Config不生效的平台 Window.maximize() def build(self): return MDScreen() if __name__ == "__main__": MyApp().run()
补充说明
如果需要完全全屏(隐藏标题栏和系统任务栏),可以把window_state的参数值改为'fullscreen'。
内容的提问来源于stack exchange,提问作者Kusal Darshana
相关产品推荐
相关产品推荐

