It would be best if you pick the programming language you know best.
Since you mentioned Python, you could use PyGTK, wxPython or similar GUI frameworks for Python.
I would personally do it in C# since the GUI designer in Visual Studio is one of the best I've used, but this is entirely up to you.
The choice of language depends on your experience with each language: In C++ it takes time, in Python it might be uncomfortable and in C# it might be hard to get it running on other platforms.
SQLite would be an excellent choice for the database. It is easy to set up and use in any language.
Links: