如何在Python FMX GUI应用中正确显示Image组件?
如何在DelphiFMX的Image组件中加载并显示图片?
正确实现代码
修改你的frmMain类,补充Bitmap初始化和图片加载的步骤:
from delphifmx import * class frmMain(Form): def __init__(self, owner): self.Caption = 'My Form' self.Width = 800 self.Height = 500 self.imgPlay = Image(self) self.imgPlay.Parent = self self.imgPlay.Position.X = 100 self.imgPlay.Position.Y = 100 self.imgPlay.Width = 300 self.imgPlay.Height = 300 # 初始化Bitmap并加载图片 self.imgPlay.Bitmap = Bitmap(self) # 若图片不在脚本目录,替换为绝对路径,比如 "C:/your_path/play.png" self.imgPlay.Bitmap.LoadFromFile('play.png') def main(): Application.Initialize() Application.Title = "My Application" Application.MainForm = frmMain(Application) Application.MainForm.Show() Application.Run() Application.MainForm.Destroy() main()
你之前尝试失败的原因
- 直接调用
self.imgPlay.Bitmap.LoadFromFile:此时Bitmap属性还未被实例化,必须先创建Bitmap对象并赋值给Image的Bitmap属性,才能调用加载方法。 - 使用
self.imgPlay.Picture.LoadFromFile:DelphiFMX的Python绑定中,Image组件并没有暴露Picture属性,这是Delphi原生组件的属性,Python版本中未提供。 - 调用
self.imgPlay.LoadFromFile:Image组件本身没有这个方法,图片加载操作必须通过其Bitmap属性完成。
额外提示
- 路径问题:确保图片文件的路径正确,相对路径下图片要和脚本在同一目录,或者使用完整的绝对路径。
- 格式支持:PNG、JPG、BMP等常见图片格式都可以被加载。
内容的提问来源于stack exchange,提问作者Shaun Roselt
相关产品推荐
相关产品推荐

