Laying out a tkinter window by hand means editing nested grid() calls and
re-running to see what moved. This tool inverts that: draw the interface on a live
canvas, then read the code it produces.
The generated output is meant to be readable and editable rather than a faithful dump of internal state — the point is to get a sensible starting file you can then own, not to hide Python behind a designer forever.
What it does
- Builds ttkbootstrap interfaces visually on a live design surface.
- Responsive Grid layout by default, or free-form Place layout.
- Moves, resizes, duplicates, deep-clones, deletes, groups and re-parents widgets.
- Edits attributes with colour, font, image, entry, combo and spinbox controls.
- Type-specific property controls for Grid and Place.
- Saves and reloads projects as JSON.
Two backends
The same project generates a ttkbootstrap program or a Flet program. Flet export is marked experimental in the project's own README, and that is the honest description: the ttkbootstrap path is the mature one.
The examples
Seven worked projects ship in examples/, each rendered by both backends, so
the two outputs can be compared directly:
| Project | What it exercises |
|---|---|
| SimplePlace | Starter with one of each basic control |
| Calculator | Nineteen hand-placed buttons |
| UserForm | Entries, a combo box and a notebook |
| sudoku3 | A 91-widget Grid project |
| sudokupack | Grid, small |
Status
Grid and Place are usable and under active testing. Pack remains disabled while the other two are stabilised — a deliberate choice, since three half-working geometry managers would be worse than two that behave.
The source, the issues and the history are in the repository.
View on GitHub →