GitHub - ParthJadhav/Tkinter-Designer: An easy and fast way to create a Python GUI 🐍

3 min read Original article ↗

bloom-banner-01-light-tags-1500x500

logo

Drag & Drop GUI Creator

Tkinter Designer - No-code solution for Python GUI's | Product Hunt

Translations


💡 Introduction

Tkinter Designer was created to speed up the GUI development process in Python. It uses the well-known design software Figma to make creating beautiful Tkinter GUIs in Python a piece of cake 🍰.

Tkinter Designer uses the Figma API to analyze a design file and create the respective code and files needed for the GUI. Even Tkinter Designer's GUI is created using Tkinter Designer.

Tkinter Designer GUI

📢 Announcement

🎉 Multi frame support is here! 🎉

You can now create multiple frames in a single design file and Tkinter Designer will create the respective code and files for each frame. This is a huge step for Tkinter Designer and I'm really excited to see what you guys create with it.

Feel free to share your creations with the community on Discord.

If you encounter any bugs or have any suggestions, please create an issue here.

☄️ Advantages of Tkinter Designer

  1. Interfaces with drag and drop.
  2. A great deal quicker than writing code by hand
  3. Produce more gorgeous interfaces

⚡️ Read the instruction here

View the YouTube video or read the instructions below.

Instructions Youtube Tutorial

Requirements

Tkinter Designer supports Python 3.9 and newer. Install it with:

The CLI accepts both current figma.com/design/... links and legacy figma.com/file/... links. If you select a specific frame before copying the Figma link, Tkinter Designer will generate that selected frame. Always wrap Figma URLs in quotes when running from a shell, because Figma links often include ? and & query parameters.

tkdesigner "$FILE_URL" "$FIGMA_TOKEN"

To generate a class-based Tkinter app:

tkdesigner --template class $FILE_URL $FIGMA_TOKEN

To generate one app with Back/Next navigation across multiple Figma frames:

tkdesigner --template pages $FILE_URL $FIGMA_TOKEN

Generated apps can also apply a ttk theme:

tkdesigner --theme clam $FILE_URL $FIGMA_TOKEN

Generated gui.py files can be imported from another Python file without starting mainloop() automatically, so you can attach commands separately and regenerate the UI later. Use -f when you want the CLI to clear and regenerate an existing build directory.

🦋 Supporting Tkinter Designer

Consider making a donation to the Tkinter Designer project if you or your business have benefited from it. This will accelerate Tkinter Designer's development! Making coffee is simple; I'll be happy to enjoy one.

Buy Me A Coffee Paypal

🔵 Discord server & Linkedin

Click the button below to join the discord server or Linkedin

Join Discord Server Connect on Linkedin

📐 How it Works

The only thing the user needs to do is design an interface with Figma, and then paste the Figma file URL and API token into Tkinter Designer.

Tkinter Designer will automatically generate all the code and images required to create the GUI in Tkinter.

How it Works


🎯 Examples

The possibilities are endless with Tkinter Designer, but here are a couple of GUIs that can be perfectly replicated in Tkinter.

The following are not my creations.

HotinGo (More Info)

Example 3

CodTubify (More Info)

Example 3

BeAnonymous (More Info)

Example 1

Frame Recorder (More Info)

Example 3

WhatBulk (More Info)

Example 3

Atarbals-Modern-Antivirus (More Info)

Example 3

🔥 Showcase

Please let me know if Tkinter Designer was used to create your app. More illustrations will be beneficial for other people!

(See: Contact Me) or use Show and Tell section in Discussions.

📄 License

Tkinter Designer is licensed under the BSD 3-Clause "New" or "Revised" License.
View Here.

Permissions Restrictions Conditions
✓ Commercial Use × Liability 🛈 License and Copyright Notice
✓ Modification × Warranty
✓ Distribution
✓ Private Use

Contribute

All contributions from the open-source community, individuals, and partners are welcomed. Our achievement is a result of your active participation.

Contributing guidelines

Code of conduct

LEARN.md

Connect with me on Linkedin