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

KivyMD中MDTextField的hint_text、helper_text不显示及报错求助

KivyMD MDTextField 问题解决:helper_text报错、hint_text不显示及样式异常

问题描述

使用以下KivyMD代码时遇到两个核心问题:

from kivymd.app import MDApp
from kivymd.uix.screen import MDScreen
from kivymd.uix.textfield import MDTextField

class Custom(MDApp):
    def build(self):
        screen = MDScreen(md_bg_color=(0.5, 0, 0.7, 1))  # Set background color here
        text = MDTextField(hint_text="Type something",helper_text="this is helper",pos_hint={'center_x': 0.5, 'center_y': 0.5}, size_hint=(None, None), width=200)
        screen.add_widget(text)
        return screen

Custom().run()
  1. 添加helper_text时触发TypeError:

File "kivy_event.pyx", line 243, in kivy._event.EventDispatcher.init
File "kivy_event.pyx", line 235, in kivy._event.EventDispatcher.init
TypeError: AutoFormatTelephoneNumber.init() got an unexpected keyword argument 'helper_text'

  1. 移除helper_text后,hint_text无法显示,文本框样式与教程效果不符。

解决方案

1. 升级KivyMD到最新版本

报错的核心原因是旧版KivyMD的MDTextField未实现helper_text属性,执行以下命令升级:

pip install --upgrade kivymd

2. 修正MDTextField的属性配置

调整代码,补充必要属性以确保正常显示:

from kivymd.app import MDApp
from kivymd.uix.screen import MDScreen
from kivymd.uix.textfield import MDTextField

class Custom(MDApp):
    def build(self):
        screen = MDScreen(md_bg_color=(0.5, 0, 0.7, 1))
        text = MDTextField(
            hint_text="Type something",
            helper_text="this is helper",
            helper_text_mode="persistent",  # 控制helper_text显示时机,可选on_focus/on_error
            pos_hint={'center_x': 0.5, 'center_y': 0.5},
            size_hint=(None, None),
            width=200,
            height=50,  # 必须指定高度,因size_hint_y设为None
            mode="rectangle"  # 指定文本框样式,可选round
        )
        screen.add_widget(text)
        return screen

Custom().run()

关键说明

  • height属性:设置size_hint=(None, None)后,必须手动指定height,否则文本框高度为0,导致hint_text无法显示。
  • helper_text_mode:必须配置该参数才能让helper_text正常显示,可选值:
    • persistent:始终显示辅助文本
    • on_focus:仅当文本框获得焦点时显示
    • on_error:仅当文本框验证失败时显示
  • mode参数:指定文本框的样式模式,确保显示效果与教程一致。

内容的提问来源于stack exchange,提问作者Fame Star

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 06:26:24