为啥我没有在 kivy 中设置?

Posted

技术标签:

【中文标题】为啥我没有在 kivy 中设置?【英文标题】:Why am I not getting setting in kivy?为什么我没有在 kivy 中设置? 【发布时间】:2019-09-10 10:19:12 【问题描述】:

1)。为什么我点击setting 按钮时没有收到Settings:(即没有显示Kivy 核心设置)。

2)。我在哪里做错了?提前致谢

KV 文件

<WindowManager>:
    Hello:
    Setting22:
<Hello>:
    name: 'hello'
    Button:
        text:'setting'
        on_press: root.manager.current="setting22"
<Setting22>:
    name: 'setting22'
    Settings:

【问题讨论】:

信息不足。请发帖minimal reproducible example。 【参考方案1】:

Kivy Settings » add_kivy_panel()

add_kivy_panel()

添加用于配置 Kivy 的面板。此面板直接作用于 kivy 配置。随意将其包含或排除在您的 配置。

有关启用/禁用 自动kivy面板。

解决方案

要在面板中显示 Kivy 核心设置,请使用 Settings.add_kivy_panel()

kv文件

Settings: 小部件添加id: settings 添加on_pre_enter屏幕事件调用add_kivy_panel()函数

片段 - kv

<Setting22>:
    name: 'setting22'

    on_pre_enter:
        settings.add_kivy_panel()

    Settings:
        id: settings 

示例

在以下示例/演示中,我们使用的是动态类。

main.py

​​>
from kivy.base import runTouchApp
from kivy.lang import Builder

runTouchApp(Builder.load_string("""
WindowManager:

<WindowManager@ScreenManager>:
    Hello:
    Setting22:

<Hello@Screen>:
    name: 'hello'
    Button:
        text:'setting'
        on_press: root.manager.current="setting22"

<Setting22@Screen>:
    name: 'setting22'

    on_pre_enter:
        settings.add_kivy_panel()

    Settings:
        id: settings 
"""))

输出

【讨论】:

以上是关于为啥我没有在 kivy 中设置?的主要内容,如果未能解决你的问题,请参考以下文章

Kivy:在kv中设置禁用按钮上的文本颜色

为啥我的状态没有在这个组件中设置

Laravel 7:为啥我的会话 cookie 没有在浏览器中设置?

为啥当我在浏览器中设置代理时查尔斯没有捕获流量

为啥表单提交没有捕获我在输入标签中设置的只读默认值?

为啥这个变量没有在 setTimeout 函数中设置?