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

如何在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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 16:35:15