python - 如何在python的kivy app模块中更改屏幕背景的颜色?

Posted

技术标签:

【中文标题】python - 如何在python的kivy app模块中更改屏幕背景的颜色?【英文标题】:How to change the colours of the background of the screen in kivy app module of python? 【发布时间】:2016-08-14 05:53:14 【问题描述】:

我有一个在 python 中开发的 kivy 应用程序,但我有一个问题:有时黑色背景太暗,我想知道在 Kivy 中属性Screen 是否有可能变为负色的属性,我的意思是,比如有些手机可以选择把手机的所有颜色都改成负片,解决颜色问题。我是使用 Kivy 开发的新手,所以我不知道 Kivy 解决这个问题的潜力。我已经找了几天了,我还没有发现任何东西。如果有人知道如何解决这种不便,那将非常有帮助。

【问题讨论】:

我不知道(全局更改它),但它会是一个不错的功能。否则,我想您需要创建自己的函数来更改您需要的每个小部件的background_color 【参考方案1】:

您可以使用Window.clearcolor将背景颜色全局设置为某个值:

from kivy.core.window import Window
Window.clearcolor = (.9, .9, .9, 1)

您还可以通过在画布上绘制来手动设置每个屏幕(或几乎任何小部件)。

<WhiteScreen@Screen>:
    canvas.before:
        Color:
            rgba: 1, 1, 1, 1
        Rectangle:
            pos: self.pos
            size: self.size

或者每次进入需要不同背景的屏幕时,更改Window.clearcolor,最好覆盖on_pre_enter方法,并在on_leave中重新设置。

【讨论】:

我在 macos 运行时得到未定义的 Window 对象有什么建议吗? @NikolaLukic 你可以尝试稍后在代码中导入它。

以上是关于python - 如何在python的kivy app模块中更改屏幕背景的颜色?的主要内容,如果未能解决你的问题,请参考以下文章

Python:如何在 Kivy 中创建一个简单的框架?

如何在 python 中获取用户输入(Kivy 框架)

Python+kivy+SQLite:如何一起使用

如何在 Python/Kivy 中实现 ScrollView

如何使用 python 语言在 kivy 中定位图像?

通过python中的kivy模块开发app