惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
Recent Announcements
Recent Announcements
雷峰网
雷峰网
The GitHub Blog
The GitHub Blog
罗磊的独立博客
月光博客
月光博客
J
Java Code Geeks
A
About on SuperTechFans
Microsoft Security Blog
Microsoft Security Blog
D
Docker
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
F
Fortinet All Blogs
U
Unit 42
C
Check Point Blog
Martin Fowler
Martin Fowler
有赞技术团队
有赞技术团队
博客园 - 叶小钗
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
酷 壳 – CoolShell
酷 壳 – CoolShell
Blog — PlanetScale
Blog — PlanetScale
大猫的无限游戏
大猫的无限游戏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
阮一峰的网络日志
阮一峰的网络日志
MyScale Blog
MyScale Blog

博客园 - USEGEAR

学习unigui【48】lucksheet表格的显示object 学习使用 处理Python对象和列表【5】 学习使用:创建 Python 可调用的 Delphi 函数【4】 学习使用TPythonDelphiVar组件 数据交换Delphi与Python传值【3】 学习使用 数据交换 Delphi 与 Python 传值【2】 学习unigui【47】扫码安装apk 学习unigui【46】让客户端浏览器可以选下载你的apk 学习unigui【45】UnimDatePicker等按钮汉化崩溃 学习unigui【44】如何和uinHTMLFrame打交道 学习unigui【43】如何和控件打交道 学习unigui【42】UnimDatePicker的使用 学习unigui【41】htmlframe的交互现象 学习unigui【40】加入监控墙-1 头大的内存泄漏 学习unigui【39】单独文件在ms win server 上执行的坑 学习unigui【38】重新认识UUNIGUI--为什么这样快? 站在“架构与性能”层面重新审视 学习unigui【37】nginx的反向代理 ,程序中的重新定向 学习unigui【36】把数据导航放在Unidbgrid脚中 学习unigui【35】dbgrid字段宽度自适应 KingSADA的工业历史数据库的访问
学习使用 Python4Delphi 是什么【1】
USEGEAR · 2026-02-11 · via 博客园 - USEGEAR

Python4Delphi (P4D) 是一组免费的 Delphi 组件,它允许你:

  • 在 Delphi 应用中嵌入 Python 解释器

  • 在 Python 中使用 Delphi 的类和对象

  • 双向调用:Delphi ↔ Python

核心组件:

  • TPythonEngine - Python 解释器引擎

  • TPythonModule - 创建 Python 模块

  • TPythonType - 定义 Python 类型

  • TPythonDelphiVar - Delphi 变量与 Python 共享

第二步:基础 Demo - 最简单的 "Hello World"

2.1 界面准备

在 Delphi 中新建 VCL 应用,放置以下组件:

  1. TPythonEngine (来自 Python4Delphi 组件面板)

  2. TMemo (显示输出,命名为 MemoOutput)

  3. TButton (执行按钮)

 
uses
  PythonEngine;

procedure TForm1.Button1Click(Sender: TObject);
begin
  // 【第1段】初始化 Python 引擎
  PythonEngine1.LoadDll;  // 加载 python.dll
  
  // 【第2段】执行 Python 代码
  PythonEngine1.ExecString('print("Hello from Python!")');
  
  // 【第3段】获取 Python 版本信息
  MemoOutput.Lines.Add(PythonEngine1.EvalString('import sys; sys.version'));
end;

| 代码段 |   作用                    |                           关键点                      |
| ------- | ------------------- | --------------------------------------- |
| 第1段  | 加载 Python DLL   | 必须先执行,否则引擎未就绪              |
| 第2段  | 执行 Python 语句  | `ExecString` 用于执行不返回值的代码  |
| 第3段  | 获取 Python 信息  | `EvalString` 用于获取表达式返回值      |