LabDeck's drag-and-drop GUI builder โ also see the MD Python IDE layer it builds on.
MD Python Designer is a commercial visual development environment from LabDeck (part of the MatDeck product family). Instead of hand-coding every widget and layout manager, you arrange GUI elements on a canvas, set properties in a panel, wire up event functions, and the tool generates the corresponding Python (or MatDeck script) source code for you.
It targets developers who want faster iteration on layout and appearance, teams where designers or analysts build the UI shell and programmers fill in logic, and learners who understand Python but find geometry managers confusing at first.
MD Python Designer is a design tool, not something you pip install
into your app. Your shipped product uses the generated code with normal libraries
(tkinter, PySide6, Kivy, etc.).
The full MD Python Designer subscription includes multiple built-in designers โ one per target framework โ so you can pick the library that fits your project and still use the same visual workflow:
| Designer mode | Generated code uses | Guide on this site |
|---|---|---|
| Tkinter | Standard library tkinter / ttk | Tkinter guide |
| Custom Tkinter | customtkinter widgets | CustomTkinter guide |
| Kivy | Kivy widgets (+ KV in some workflows) | Kivy guide |
| PySide2 | Qt for Python (PySide2 API) | PyQt / PySide guide |
| Flet | Flet controls | Flet guide |
| MD Python / MatDeck Script | LabDeck's own scripting | MD Python guide |
PySide2 is the Qt binding emphasized in LabDeck docs; generated code can often be adapted for PySide6/PyQt6 with import renames.
Although the exact UI varies by version, the workflow follows the same pattern as most GUI builders:
on_save_click) and attach them to buttons or other controls.# MD Python Designer generates code similar to hand-written tkinter:
import tkinter as tk
from tkinter import ttk
class App(tk.Tk):
def __init__(self):
super().__init__()
self.title("Generated GUI")
self._build_ui()
def _build_ui(self):
ttk.Label(self, text="Name").grid(row=0, column=0)
self.name_entry = ttk.Entry(self)
self.name_entry.grid(row=0, column=1)
ttk.Button(self, text="Save", command=self.on_save_click).grid(row=1, column=1)
def on_save_click(self):
print(self.name_entry.get())
if __name__ == "__main__":
App().mainloop()
| Feature | Lite MD Python Designer | Full MD Python Designer |
|---|---|---|
| Price | Free (limited) | Paid subscription (LabDeck store) |
| Widgets on canvas | Limited (e.g. up to 5 elements) | Unlimited |
| GUI designers included | Subset of frameworks | All designers (Tk, CTk, Kivy, PySide2, Flet, โฆ) |
| Specialized IDEs | Basic | Full Python IDEs per library |
| Advanced instrumentation | Not included | Virtual instruments, 3D graphs (MatDeck features) |
| Best for | Learning, tiny dialogs | Professional / production GUIs |
Use Lite to learn how generated layout code maps to widgets. Move to the full version when you need more than a handful of controls or multiple framework designers in one project.
Build forms, dialogs, and main windows by dragging widgets. Adjust alignment and spacing without touching pack() or grid() manually.
Generate `.py` files. Review and refactor โ treat output as a starting point, not immutable code.
Implement event handlers, database access, and API calls in separate modules. Keep UI and logic separated (best practices).
Package with PyInstaller or briefcase like any other Python GUI app. MD Python Designer is not required at runtime.
Prefer hand coding or Qt Designer when you need maximum control, PySide6-native workflows, or fully free open-source tooling only.
| Tool | Type | Frameworks | Notes |
|---|---|---|---|
| Qt Designer | Free with Qt | PyQt / PySide | Industry standard; .ui XML files |
| PAGE | Free | Tkinter | Python Automatic GUI Generator |
| wxFormBuilder | Free | wxPython | Visual designer for wxWidgets |
| Glade | Free | GTK | GTK UI designer |
| PyDesigner (online) | Free web app | Tkinter, CustomTkinter, PyQt5 | Browser-based, exports ZIP |
| MD Python Designer | Commercial | Tk, CTk, Kivy, PySide2, Flet | Multi-framework LabDeck suite |
Useful guides and tools (from webpage_links.xlsx).