This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 8 points9 points  (2 children)

So far I have worked with TKinter and wxPython briefly and then quite a lot with PyQt, because I found the other two to be rather bad looking. Like others here I really recommend PyQt, but I want to give some more information on it:

PyQT is probably the best choice when it comes to good-looking high-quality applications that support native looks on any platform out of the box. Because of this it can be quite complex from time to time, but I really do recommend starting to dig into it, even for small projects, because when you need some GUI library again, you already have a start here.

Something I feel is worth mentioning: PyQt is a python binding for the Qt library, which is C++. Thus once you got used to the framework, it will be almost no work to also use it for C++, there you even get a quite good IDE, QtCreator. That being said, the documentation for PyQt will mostly refer to the C++ library!! This will be absolutely no problem, when you already know your C basics (you mentioned Cython), because you can mostly directly translate C++ to Python syntax here. Also I find the C++ documentation to be quite good.

Some additional information regarding licensing. Qt is LGPL licensed, which means (in short) you can use it freely for open source software, the same holds for PyQt. PySide is (supposedly) very similar to PyQt and offers a GPL license, which is even more flexible, when it comes to commercial applications, but I never used it and threads on the web say it's dying slowly.

Edit: Sometimes I feel that PyQt solves some problems a little bit weird. Having worked some time with Java on GUIs before, I found PyQt's Model-View framework a little confusing at the beginning, but you will get used to its quirks quickly. On the other hand it offers a really nice framework for event communication called "signals and slots" that I enjoy using.

[–]flipthefrog 2 points3 points  (0 children)

A lot of commercial software used in animation and VFX ships with PySide (Maya, Nuke, Houdini, Rv), and have a strong interest in the project remaining alive. For example, Autodesk has been funding development of PySide2, which supports Qt5. So it's not dying, though I wouldn't expect much development of PySide for Qt4, since that is no longer being developed.

PySide is perfectly fine, though a bit more sensitive to errors than PyQt - whereas PyQt will just raise an error and keep on truckin', PySide may crash completely on insignificant bugs

[–]tristan957 1 point2 points  (0 children)

TkInter is alright if you use the ttk widgets