You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Kivy Python中点击按钮切换至新屏幕(附代码示例)

实现KivyMD屏幕切换的具体步骤

1. 配置主程序的屏幕管理器

在main.py中使用ScreenManager统一管理所有屏幕,将HomePage和OneMin注册进去:

from kivymd.app import MDApp
from kivy.uix.screenmanager import ScreenManager
from home_page import HomePage
from one_min import OneMin

class MyApp(MDApp):
    def build(self):
        screen_manager = ScreenManager()
        # 注册首页,指定名称为'home'
        screen_manager.add_widget(HomePage(name='home'))
        # 注册OneMin页面,指定名称为'one_min'
        screen_manager.add_widget(OneMin(name='one_min'))
        return screen_manager

if __name__ == '__main__':
    MyApp().run()

2. 给HomePage的按钮添加切换逻辑

在home_page.py中,为第一个MDIconButton绑定屏幕切换的方法:

from kivymd.uix.screen import MDScreen

class HomePage(MDScreen):
    def switch_to_onemin(self):
        # 通过屏幕管理器切换到目标页面
        self.manager.current = 'one_min'

3. 在kv文件中绑定按钮事件

修改home_page.kv,将第一个MDIconButton的on_release事件关联到上面定义的方法:

<HomePage>:
    # 第一个MDIconButton,绑定切换事件
    MDIconButton:
        icon: "your-icon-name"  # 替换成你实际使用的图标
        on_release: root.switch_to_onemin()
    
    # 其他按钮保持原有配置...

4. 确保OneMin页面的基础配置

在one_min.py中,确保OneMin类继承自MDScreen:

from kivymd.uix.screen import MDScreen

class OneMin(MDScreen):
    pass

额外提示

如果需要从OneMin页面返回HomePage,可以在one_min.py中添加类似的方法,并在one_min.kv里给返回按钮绑定self.manager.current = 'home'即可。

内容的提问来源于stack exchange,提问作者arc py

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 23:22:37