Hay varias opciones, dependiendo de lo que quieras hacer, algunas serán más prácticas que otras.
Para aplicaciones de escritorio tienes tres librerías gráficas con las cuales programar.
TKInter: En windows viene preinstalada con Python. En algunas distros Linux hay que instalarla, es una instalación muy simple, un simple comando te instala todo. En distribuciones Linux Python suele venir también instalado, pero debes revisar porque generalmente la versión es vieja. Python está en la versión 3.8 pero se puede trabajar sin problemas con la 3.6 en adelante. Para desarrollar la interfaz gráfica tienes pygubu. Esta genera un archivo xml con el diseño, luego con una instrucción se carga en el fuente python y completas con los métodos a asociar. Ojo, no junta diseño con código de métodos. O sea que con el mismo diseño puedes tener atrás un código python totalmente diferente y viceversa. Tkinter es muy rápida y muy liviana, pero no tiene muchos widgets (controles disponibles) en comparación con las otras que mencionaré. La parte de impresión va con herramientas apartes.
wxPython: Es un envoltorio sobre wxwidgets. Debe instalarse aparte (en todos los sistemas operativos). Tiene más widgets que tkinter (5 o más variedad). Cosas interesantes, tiene un control que permite embeber en la aplicación de escritor páginas web. Maneja algo de la parte de impresión. Hay para descargar una demo con ejemplos funcionando y con fuente de todos los controles, independientemente de la herramienta de diseño, en esa demo tienes para copiar y pegar cosas muy interesantes. La variedad de controles es muy superior a foxpro (muy lejos). Desde menú ribbon. Elementos anclables, grillas de todo tipo, controles dinámicos, etc.
Conviene descarga la demo y husmear, puede dar ideas muy interesantes, posiblemente nunca pensadas en vfp.
wxformbuilder es la herramienta para diseño de formularios. Es mucho mejor que pygubu. Permite generar el código fuente de conexión en XML (similar a pygubu) o en código fuente de varios lenguajes (C, C++, Lua, PHP y por supuesto Python). Ese código fuente es como un esqueleto de métodos lo que luego importas y sobrescribes lo que necesitas.
NOTA: Se pueden usar tkinter y wxpython en la misma aplicación, ambas con formularios activos.
pySide o pyQT: son lo mismo, una gratis y la otra de pago. Posiblemente la mejor interfaz (no la he probado) y un muy buen diseñador (a mi me abrumó cuando lo probé). También genera aplicaciones muy grandes, la biblioteca es pesada.
En cuanto a diseño Web tienes dos frameworks principales, por lo menos los mas "mentados". Flask que es pequeño rápido, se lo aconseja usar en sistemas pequeños a medianos, igual sistemas grandes pero allí ya te conviene Django, que te genera los CRUDs y consultas básicas de todo el sistema (que luego puedes decorar a gusto) Django no es aconsejable para sistemas chicos porque tiene un monton de cosas para hacer que pueden complicarse.
Dato interesante, tanto flask como django tienen plantillas en común (jinja2), eso implica que si desarrollas algo en flask y quieres pasar a django, el diseño web sería transparente.
De todo hay muchísima información en inglés, no me he matado buscando en castellano. Porque siempre encuentro traducciones viejas.
La comunidad python es enorme. En stackoverflow hay respuestas para casi todo. o puedes engancharte con
python.org.ar