My Second Ever Useful GUI Program

A while ago I wrote about my first ever useful GUI program.  And in one of the series of posts that followed I explained that the reason I hadn’t made a useful GUI program before now is because all the typical stuff has already been made over and over.  We don’t need any more tetris clones, word processors, or music programs.  Recently I had reason to create my second program.  A while ago I created a an amortization calculator in python which you can find here.

My wife was asking me to run some numbers and I wanted to make it nice and easy for her to do it without needed to specify commandline options.  So I created this GUI for her.  It only required a slight modification to my Python code which I think I’ll be able to merge back into the commandline code and just have one codebase.  Once I get things cleaned up I’ll have the code up on that page I linked to before.

Amortization gui in QML
Amortization gui in QML

The awesome thing about QML is that it only took me about an hour to code up a GUI to my python program and I think that’s awesome!  If I could have one wishlist item for QML it would be an easy way to make QT widgets that fit in with KDE.  And maybe it exists and I just haven’t come across the right documentation or tutorials, but I’d prefer if my “calculate” button looks like a regular button.

, ,

5 responses to “My Second Ever Useful GUI Program”

  1. In a similar situation I chose HTML and Javascript to solve the problem quicker and easier. With HTML and Javascript you can even add features such as printing/sharing output quite easy.

    Some people were finding a particular Electric Circuits lab difficult so I knocked up a tool (because I was annoyed) in half an hour to help other people out:

    Quick, easy, portable (doesn’t even need hosting), sharable.
    I wish there was another open and portable GUI toolkit that was easier to rapidly prototype in other than HTML…

    • Thanks for that, but it appears, from that link, that it still has some time to go before it’s part of the QML release