如何为Python FMX GUI应用中的Edit组件添加占位文本?
DelphiFMX for Python中为Edit组件添加占位文本的正确方法
DelphiFMX的Edit组件支持占位文本效果,但你用错了属性——这个组件并没有Placeholder属性,这就是触发AttributeError的原因。
要实现占位文本,需要用到以下三个属性:
Hint:设置占位文本的具体内容ShowHint:设为True以启用提示功能HintStyle:设为"Placeholder",让提示文本显示在输入框内部,作为占位符(输入内容后自动隐藏)
修改后的完整代码如下:
from delphifmx import * class frmMain(Form): def __init__(self, owner): self.Caption = 'My Form' self.Width = 400 self.Height = 200 self.myEdit = Edit(self) self.myEdit.Parent = self self.myEdit.Align = "Center" self.myEdit.Width = 250 # 替换原错误代码,设置占位文本相关属性 self.myEdit.Hint = "Enter your name..." self.myEdit.ShowHint = True self.myEdit.HintStyle = "Placeholder" def main(): Application.Initialize() Application.Title = "My Application" Application.MainForm = frmMain(Application) Application.MainForm.Show() Application.Run() Application.MainForm.Destroy() main()
运行这段代码后,Edit组件会显示你设置的占位文本,当用户开始输入内容时,占位文本会自动消失;清空输入框后,占位文本会再次显示。
内容的提问来源于stack exchange,提问作者Shaun Roselt
相关产品推荐
相关产品推荐

