Few days ago I decided to choose GUI framework for my engineering project written in Python. After some investigation I found

  • WxWidgets,

  • Tkinter,

  • Kivy,

  • Pyqt.

    The easiest seems WxWidgets and Tkinter but I found them a bit poor according to their possibilities. Kivy had problems for my python3.5, Pyqt seems very powerful, but I didn't manage to make it working. I am really confused and almost gave up. Please, give me an advice which GUI framework is worth to learn and use for python3.x application, which is supposed to be cross platform, with a rich and quite difficult user interface? (Realtime charts (value/time) and interactive gauges).

Can I avoid pyqt?

  • 2
    You should see this about formatting.
    – Nae
    Commented Dec 28, 2017 at 17:48
  • How is Python installed. If you use the Anaconda distribution, getting PyQT installed and working is pretty easy.
    – Eric S
    Commented Dec 28, 2017 at 21:27
  • @EricShain thank you for your answer. I would like to avoid pyqt, because I had difficulties during trying to deal with it. canu give me the link to right tutorial or guide, where I will do it correctly from?
    – zviad
    Commented Dec 28, 2017 at 21:32

1 Answer 1


The two well supported Python plotting libraries I'm aware of are matplotlib and pyqtgraph. Matplotlib is compatible with Tk, wx and PyQt whereas pyqtgraph is only compatible with PyQt.

Personally, I would suggest pyqtgraph due to the rich array of other graphical widgets that come with the library, the simpler API and the fact that I've found it to be able to handle faster update rates than matplotlib. pyqtgraph comes with a bunch of example applications, which I would encourage you to check out and see if you like the look of it.

This necessitates learning PyQt, which I see you are hesitant to do. However, I also believe that PyQt is the best of the graphical toolkits to learn and learning that will be beneficial. If you wish to commercially sell your software and not licensed your software under a compatible open source license, the you may need to pay for a PyQt license, however this comes with a tool called pyqtdeploy which is likely to aid distribution of your software across multiple platforms.

There are not really any good tutorials for PyQt I can recommend, however I would encourage you to post on stack overflow when you run into a particular error or coding problem you don't know how to solve.

  • Thank you very much for great answer. After this advice I am starting pyqt :)))
    – zviad
    Commented Dec 29, 2017 at 6:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.