Using Figma to design Python Tkinter GUIs

There’s only so far you can get with Python before you realise the command line is pretty, well, boring. And you hanker for something graphical, with colours and buttons and different fonts. What you need my friend is a Graphical User Interface(GUI)

There are a variety of GUIs available to Python. The one that comes as standard is a library called Tkinter. Other ones I have used in teh past are appjar and guizero but these involve separate installs. Tkinter is the underlying GUI that powers the popular Turtle module. However designing an interface in Tkinter can be baffling. How do you know where your buttons and labels will appear? What I was looking for was a simple way to create an interface using a drag n drop system, so I can plan it out by eye rather than some arbitrary layout chosen by Tkinter.

If you have ever programmed in Visual Basic you’ll know that in the development environment Visual Studio is a great tool for allowing you to drag and drop buttons and labels and textboxes around a window to your heart’s content. Could there be something similar for Python? The answer is, not quite.

After looking at this article: https://www.webapptiv.com/blog/python-drag-and-drop-gui-builders/ I was intrigued by the method they mentioned for using Figma (online prototyping tool) to design the interface and then get that ported into a usable Python program. Intrigued, I read on.

The instructions are documented here: https://github.com/ParthJadhav/Tkinter-Designer/blob/master/docs/instructions.md