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

如何在Python FMX GUI应用中获取Form上的所有组件列表

获取DelphiFMX4Python窗体上的所有组件列表

在DelphiFMX4Python中,Form作为容器类组件,自带Children属性,通过它可以直接获取所有直接挂载在Form上的子组件:

# 遍历Form的直接子组件
for component in self.Children:
    print(f"组件类型: {type(component).__name__}, 组件名称: {component.Name}")

如果需要获取所有嵌套层级的组件(比如放在Panel、GroupBox这类子容器里的组件),可以通过递归遍历的方式实现:

def get_all_components(container):
    components = []
    for comp in container.Children:
        components.append(comp)
        # 递归处理子容器组件
        if hasattr(comp, 'Children'):
            components.extend(get_all_components(comp))
    return components

# 获取当前Form下的所有组件
all_components = get_all_components(self)
# 输出组件信息
for comp in all_components:
    print(f"组件类型: {type(comp).__name__}, 组件名称: {comp.Name}")

说明:

  • 每个组件的Name属性对应你创建组件时可以自定义的标识(比如你代码里的imgDirt,如果设置self.imgDirt.Name = 'imgDirt',就能在输出里对应上)
  • type(component).__name__可以获取组件的类名(如Image、Button、Memo等)

内容的提问来源于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 20:25:02