Un diseñador visual de interfaces tkinter que funciona online. Coloca las ventanas, aplícales estilo y exporta Python limpio y ejecutable. Sin código repetitivo y sin ataduras.
No necesitas cuenta para diseñar y descargar. Regístrate gratis solo si quieres guardar tu trabajo.
Coloca, redimensiona y alinea widgets en un lienzo fiel a tkinter, con ajuste automático, zoom e inspector de propiedades en vivo.
Cada cambio genera tkinter idiomático y organizado en clases, que de verdad se puede leer. Sin runtime ni ataduras: solo un main.py.
Crea flujos de inicio de sesión a pantalla principal. Cada formulario es su propia ventana, conectadas con ayudantes open_<formulario>().
Activa una clase Database ya hecha en un database.py aparte, compartido por tus formularios. Mantén el SQL fuera de la interfaz.
Aplica plantillas de color y tipografías a todo el proyecto. Se ven en el lienzo al momento y quedan incorporadas en la exportación.
Muestra una imagen, elige una fecha en un calendario, abre un selector de archivos o un cuadro de sí o no: lo que tkinter te obliga a buscar, ya escrito.
Coloca un gráfico en la ventana y recibe la integración con FigureCanvasTkAgg ya escrita, con un ayudante listo para tus datos.
Pega tkinter que ya tengas y sigue editándolo visualmente. Tus manejadores, imports y funciones auxiliares se conservan al exportar.
Botones, campos, listas y marcos, agrupados por finalidad en la paleta.
Configura cada widget, elige un tema y activa la capa de base de datos si la necesitas.
Exporta main.py (y database.py) y ejecútalo con Python. Esa es tu aplicación.
Sí, es completamente gratis. Puedes diseñar y descargar Python funcional sin crear siquiera una cuenta; el registro gratuito solo hace falta si quieres guardar diseños para reabrirlos más tarde. Sin tarjeta, sin instalación y sin límites de prueba.
No. El diseñador funciona por completo en tu navegador. Solo necesitas tener Python instalado para ejecutar el código que exportes.
Python limpio y organizado en clases, con el tkinter y el ttk estándar. Es un main.py normal que puedes leer, editar y ejecutar, sin ataduras a ningún framework ni runtime.
Sí. Pega el tkinter que ya tengas y sigue editándolo visualmente. Tus widgets posicionados con place(), tus manejadores de eventos y tus imports se conservan al exportar.
Sí. Puedes crear aplicaciones de varias ventanas, como un flujo de inicio de sesión a pantalla principal, y generar de forma opcional un database.py con SQLite conectado a tus formularios.
Sí. Cambia el kit y el mismo diseño exporta código de CustomTkinter, con widgets modernos de esquinas redondeadas y apariencia clara u oscura, mientras el lienzo muestra cómo lo dibujará CTk en realidad. Tus widgets, tu distribución y tus manejadores se mantienen igual.
Sí. Cambia el kit y el mismo diseño exporta código de ttkbootstrap, que reviste los widgets de ttk que ya están en la biblioteca estándar con paletas de estilo Bootstrap. Veintiuno de los veinticinco widgets se corresponden directamente y, como ttk toma los colores de los estilos y no de las opciones del constructor, cualquier color por widget se emite como un estilo ttk con nombre.
Sí. Tkinter no tiene widget de gráficos, así que el diseñador incluye uno de matplotlib: arrástralo, elige líneas, barras o dispersión, y pon el título y las etiquetas de los ejes. La exportación lo integra con FigureCanvasTkAgg, ajusta la figura a la caja que dibujaste y genera un ayudante plot_<nombre>(x, y) que lo redibuja con tus datos. Es el único widget que necesita un paquete fuera de la biblioteca estándar, y el zip del proyecto ya lo incluye en requirements.txt.
Sí. Coloca un widget de imagen en el lienzo y apúntalo a un archivo. La exportación crea el PhotoImage, lo escala a la caja que dibujaste y —la parte que atrapa a todo el mundo— guarda una referencia en la instancia, porque una imagen que solo sostiene el widget se recolecta como basura y la foto se queda en blanco sin avisar. El escalado y el soporte de JPEG usan Pillow; un PNG a su tamaño original no necesita nada más.
Sí. Los botones y las opciones de menú pueden abrir cualquiera de los diálogos estándar de tkinter —un aviso de información, advertencia o error, una pregunta de sí o no, o un selector para abrir, guardar o elegir carpeta— en lugar de ejecutar una función tuya. El manejador generado incluye lo que siempre se olvida: los selectores de archivo devuelven una cadena vacía al cancelar, así que el código lo comprueba.
Sí. Tkinter no tiene widget de fecha, así que el diseñador usa tkcalendar en tkinter clásico y en CustomTkinter, y el DateEntry propio de ttkbootstrap cuando exportas para ese kit, donde no necesita ningún paquete extra. El valor se lee con .get_date(), que devuelve un datetime.date de verdad.
Sí. Activa la opción de aceptar archivos soltados en cualquier widget y la exportación lo registra como destino mediante tkinterdnd2, generando un manejador que separa las rutas soltadas como una lista de Tcl, de modo que los nombres con espacios sobreviven. Como tkinterdnd2 tiene que construir la ventana raíz, el código generado también lo hace, con el mixin documentado para CustomTkinter y ttkbootstrap.
Sí. Aplica plantillas de color y tipografías a todo el proyecto: se reflejan en el lienzo al momento y quedan incorporadas en el Python exportado.
Abre el diseñador, arrastra tu primer widget y descarga Python limpio en cuestión de minutos.
Empieza a crear, sin registrarte →