Build Rich GUI Apps In Python With Aid From Delphi
Written by Nikos Vaggalis   
Tuesday, 17 January 2023

Embarcadero has made its Delphi-based GUI libraries, VCL and FireMonkey (FMX), available for Python. These libraries are meant to be better and more adequate than the Tkinter ones that ship with the default Python distribution.

So what do these new libraries have to offer? For starters, VCL is focused on native Windows development, while FireMonkey brings a flexible GUI framework to Windows, Linux, macOS, and even Android.

They both use the GPU via DirectX or OpenGL for hardware accelerated rendering and include a rich styling system.

VCL supports :

Win32 & Win64 x86 architectures
Python cp3. 6, cp3. 7, cp3. 8, cp3. 9 and cp3. 10

Conda support:
Win x86 and x64 from Python cp3. 6 to cp3. 10

Venv support:
Win x86 and x64 from Python cp3. 6 to cp3. 10

while FireMonkey supports:

Win32 x86, Win64 x86, Linux64 x86, Android64, macOS64 and macM1 architectures
Python cp3. 6, cp3. 7, cp3. 8, cp3. 9 and cp3. 10

Conda support
Win x86 and x64 from Python cp3. 6 to cp3. 10
Linux x86_64 from Python cp3. 6 to cp3. 10
macOS x86_64 from Python cp3. 6 to cp3. 10

Venv support
Win x86 and x64 from Python cp3. 6 to cp3. 10
Linux x86_64 from Python cp3. 6 to cp3. 10
macOS x86_64 from Python cp3. 6 to cp3. 10

As said, especially under FMX you can build your Python GUI based apps on Android too. We explored another Python Android integration in Java Or Python For Android - Why Not Both! reporting on the Chaquopy Python SDK which allows you to write Android applications in full in Python or partially, together with Java.

At this point it's important to make the distinction between the Delphi and the Python builds. VCL is the Delphi build and its Python counterpart is the DelphiVCL4Python, while the other pair is FMX and DelphiFMX4Python.

They both give Python developers access to the VCL GUI framework from Python with no need to use Delphi in the development process. That bi-directional bridge from the Python modules to the Delphi libraries and vice versa is happening through the Python4Delphi library which wraps up the Python DLL into Delphi and Lazarus (FPC). The following diagram makes the process clear:

Finally I should also mention that despite the libraries being free for commercial use as well as freely redistributable, they are offered under a propriety license and not an Open Source one. You can for instance find the DelphiFMX4Python license here.

Yet another framework for Python, you say. It's true that there's tons of GUI frameworks for Python but it's better to have more choice than less. The answer, as always, is to pick the right tool for the job at hand. In some situations module A might be a better fit than module B. As far as these Embarcadero offerings go, I must say that the quality of the GUI components is first class.

 

More Information

DelphiFMX4Python
DelphiVCL4Python

Related Articles

 Java Or Python For Android - Why Not Both!

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


Deno Supports Built-in Node Modules
02/03/2023

Deno has been updated to add support for built-in Node modules. Deno is the JavaScript and TypeScript runtime from the creator of Node.js.



Stride3D - Life beyond Unity?
27/02/2023

Stride is an opensource C# game engine for realistic rendering and VR. With the recent Unity turmoil can it become a valuable replacement? Let's find out.


More News

picobook

 



 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Tuesday, 17 January 2023 )