如何在python的kivy应用程序模块中更改屏幕背景的颜色?

A.P*_*uer 2 python screen widget kivy kivy-language

我有一个用python开发的kivy应用程序,但我有一个问题:有时黑色背景太暗,我想知道在Kivy中该属性是否有可能Screen有一个可以更改为负色的属性,我的意思是,就像一些手机一样您可以选择将手机的所有颜色更改为负色,解决颜色问题。我对 Kivy 开发还很陌生,所以我不知道 Kivy 解决这个问题的潜力。我已经找了几天了,但什么也没找到。如果有人知道如何解决这个不便,那将会非常有帮助。

jli*_*eza 5

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

from kivy.core.window import Window
Window.clearcolor = (.9, .9, .9, 1)
Run Code Online (Sandbox Code Playgroud)

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

<WhiteScreen@Screen>:
    canvas.before:
        Color:
            rgba: 1, 1, 1, 1
        Rectangle:
            pos: self.pos
            size: self.size
Run Code Online (Sandbox Code Playgroud)

或者Window.clearcolor每次进入需要不同背景的屏幕时进行更改,最好是覆盖on_pre_enter方法,然后将其设置回on_leave.