Python Forum
Advice on creating an app - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: General Coding Help (https://python-forum.io/forum-8.html)
+--- Thread: Advice on creating an app (/thread-24011.html)



Advice on creating an app - Dzib - Jan-27-2020

Hi,

I've created a small GUI in VBA to manage data from Access tables at work (manage customers, products, orders, stats, etc...)
It's working nice but I would like to convert it in Python to be able to code much more stuffs. I'm currently learning Python but before I start coding I would like to know a thing or two to avoid mistakes from the start...

1. Should I keep my Access tables and load data from this DB using pyodbc or is it better that I convert this DB and store all the data in json or txt files? The good point if I keep Access tables is that all my SQL queries are already done. Could Mongo be a good solution?
2. I realize tkinter is limited to build nice looking GUI, what about Kivy? wxPython? PyQT? or something else?

Thanks Smile


RE: Advice on creating an app - Marbelous - Jan-27-2020

Unless your current db is tiny I would just use pyodbc. You can use your old queries and stored procedures for now and upgrade to an ORM like SQLAlchemy later.

Tkinter is built-in and may look like Win95 but it's the shortest path to a GUI despite its lack of documentation. All of the packages you mentioned will take some time to learn and can be frustrating if you're used to VBA's drag and drop WYSIWYG environments. If you know any HTML/CSS also consider a web-based app with Django, Flask, Dash, etc.


RE: Advice on creating an app - Dzib - Jan-28-2020

Thanks, my only problem is that my GUI use a lot of listboxes and I know that the tkinter listbox is single column only so it might be a problem... Maybe I could use the ttk treeview?


RE: Advice on creating an app - Marbelous - Jan-28-2020

I once did a simple double column listbox with two side-by-side listboxes but I honestly never thought of the treeview to make a table. Seems that others thought the same as you:
https://stackoverflow.com/questions/5286093/display-listbox-with-columns-using-tkinter