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

如何在KivyMD弹窗内单独修改MDLabel的文字颜色?

解决KivyMD弹窗内MDLabel文字颜色不生效的问题

问题核心在于KivyMD的MDLabel默认会继承当前主题的文本颜色,直接设置color属性会被主题样式覆盖,而且MDLabel本身使用的是text_color属性而非普通的color。

解决方案

修改你的MDLabel初始化代码,添加theme_text_color="Custom"属性,并将原来的color替换为text_color:

popupLabel = MDLabel(
    text = mensagem,
    theme_text_color="Custom",  # 指定使用自定义文本颜色
    text_color = (1,1,1,1),     # 设置自定义RGBA颜色
    halign = "center"
)

修改后的完整代码

from kivymd.uix.label import MDLabel
from kivymd.uix.button import MDRectangleFlatButton
from kivy.uix.gridlayout import GridLayout
from kivy.uix.popup import Popup
from kivy.uix.button import Button  # 补充缺失的Button导入

from functools import partial
 
def layout_popup(title,mensagem,btn = None,args = None):
    layout = GridLayout(cols = 1, padding = 10)
    popupLabel = MDLabel(
        text = mensagem,
        theme_text_color="Custom",
        text_color = (1,1,1,1),
        halign = "center")

    layout.add_widget(popupLabel)

    if(args != None):
        for key in args:
            print(args[key]["type"])
            if(args[key]["type"] == "button"):
                layout.add_widget(
                    Button(text = args[key]["text"],
                        on_press = args[key]["on_press"]
                    )
                )
    
    popup = Popup(title =title,
                    content = layout,
                    size_hint =(None, None),
                    size =(200, 200))
                    
    closeButton = MDRectangleFlatButton(text = "Fechar",
        pos_hint = {"center_x":0.5,"center_y":0.5},
        size_hint=  (1, None),
        on_press = popup.dismiss)

    layout.add_widget(closeButton)

    popup.open()  

class demo(MDApp):
    def build(self):
        layout_popup("mensagem","Erro")
        return None

demo().run()

补充说明

  • 当theme_text_color设为"Custom"时,MDLabel会忽略主题默认的文本颜色,转而使用你设置的text_color值。
  • 你的原代码中缺少Button类的导入,修改后的代码已补充该导入,避免运行时出现报错。

内容的提问来源于stack exchange,提问作者Mateus Coelho

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 06:25:06