Primary Concerns

  • The GUI needs to be extensible i.e. there will be text input widget for input, but the user has to be able to click a button that will pop up another text input widget for multiple inputs if so desired.
  • An image needs to be displayed that is clickable. i.e. when the image is displayed, the (x,y) coordinates are returned and processing occurs
  • Video display with the use of a slider to precisely control frame being looked at would be a big plus. Of course I also want to be able to use the frame the user stops at in conjunction with widgets to operate on the video file
  • Cross-platform and easily installed. I want to make this app easily downloadable and usable by people who know nothing of programming.
  • Speed is more important than pretty widgets. I need to be able to drop into Fortran to quickly process video files of various formats. Multi-threading and what have you.
  • It is hoped that the future of this app will involve a web application and Bokeh integration for visualizing the data. I have already written a working prototype using Spyre + Heroku and have dabbled around and seen Bokeh work with Django + Webfaction. We were planning on writing javascript to call python functions (that would call Fortran scripts) to make it so that the user can run the app in a browser, but this is sadly more complicated than we initially assumed. We need to process data and have it available so we need a desktop app fast. However, it would be nice if we don't have to rewrite everything after we have a local GUI working and have to make a web app version
  • I am looking to learn skills from this project that will make me as employable as possible in 2017. This is an important point and is why I ended up trying Django instead of Flask. So if knowing one desktop GUI is a more marketable skill than another, that may ultimately decide it for me.

Candidates (will keep updated)

  • wxpython. Main downside is no python 3 support. I don't think this is much of a concern, but it may be a bad idea. Main upside is dabo springboard can be used for sending things to a server

  • pyQT. Can use webkit to assist in deploying to a website. My project is open source so $500 fee is not an issue.

  • pyside (not as well supported as pyQT)

  • pywebview. Can use webkit to assist in deploying to a website

  • pyGTK (poorly supported on windows)

  • Kivy (Multiple sources tell me it is more difficult to built widgets with and is more designed with phones involved, not for desktop apps, plus I see no "deploy Kivy app online")

  • pajamas. looks very promising and at first glance exactly what we want since the same code for the we app can be used to execute a standalone desktop. I however worry about support (pyQT and wxpython get a lot more love) and what appears to be some pretty dire and well constructed criticism

Only 4 more to narrow down! Which of these will best meet my requirements or what others are there that should be added to the list?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.