es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Por qué no puedo cambiar los colores en KivyMD

Soy un traductor español que se encarga de traducir documentos de TI. Traduzca lo siguiente al español. No traduzca el código y la salida en markdown.

Soy nuevo en Python y en kivyMD.

Estoy intentando cambiar los colores del proyecto utilizando la función them_cls. Sin embargo, la aplicación muestra los colores predeterminados incluso cuando cambio los colores. Por ejemplo, cuando coloco Ámbar, verde o incluso rojo, los botones muestran el color azul predeterminado. Esto también sucede con el fondo general de la aplicación. Cuando coloco oscuro en el color del tema de estilo y ejecuto la aplicación, sigue apareciendo en blanco.

No sé qué hacer. Aquí está el código.

Archivo de Phyton:
“ `de kivymd.app import MDApp
de kivymd.uix.boxlayout import MDBoxLayout

clase Ma (MDBoxLayout):
pasar

clase MyApp (MDApp):
def Build (este):
self.themecls.primarypalette = & quot; Ámbar & quot; # & quot; Rojo & quot; & quot; Verde & quot;
self.themecls.themestyle = ” Oscuro & quot;
return 0
pasar

MyApp (). Correr ()
“ `

Archivo Kivy:

`Ma:
<ma>:
MDRaisedButton:
texto: & quot; Hola mundo & quot;
md<em>bc</em>color: app.theme<em>cls.primary</em>light
MDRectangleFlatButton:
texto: & quot; Hola mundo & quot;
md<em>bg</em>color: app.theme<em>cls.primary</em>dark

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que hay un error en tu código. El nombre del método para construir la aplicación es “build”, no “Build”. Por lo tanto, tu aplicación no se está construyendo y los colores no se están aplicando. Puedes cambiar el nombre del método a “build” y debería funcionar como se espera. Aquí está el código corregido:

    “`from kivymd.app import MDApp
    from kivymd.uix.boxlayout import MDBoxLayout

    class Ma(MDBoxLayout):
    pass

    class MyApp(MDApp):
    def build(self):
    self.theme_cls.primary_palette = “Amber” #”Red” “Green”
    self.theme_cls.theme_style = “Dark”
    return Ma() # Es importante devolver una instancia del widget raíz

    MyApp().run()
    “`

    Además, ten en cuenta que necesitas devolver una instancia del widget raíz en el método “build”. En este caso, parece que “Ma” es tu widget raíz, por lo que deberías devolver una instancia de él al final del método.

Comments are closed.