PDA

View Full Version : Gotcha's: developing commercial software with PyQT vrs PySide



harryt
14th February 2010, 18:23
Hi All,
I am looking to rapidly develop a commercial, cross platform (OsX/Win 7/XP/Maybe Ubuntu) product. The strategy I am considering is to rapidly prototype with python and QT then rewrite parts of my application in c++ as needed to get performance. I am new to QT but I have done plenty of c++/python(wxpython) before. Right now I have just been writing throw away test apps to get a feel for how QT works, before I purchase a commercial QT and PyQT icence I would like to solicit some opinions from other developers who have been down this route before. Any answers/feedback would be greatly appreciated:


-How mature is PyQT? Do many people use it in commercial applications? I would love to hear from some one who has used it to develop and ship a product.

-Has anyone used PySide, how does it compare to PyQT?

-In light of Nokia releasing PySide do people still feel its worth paying for a commercial PyQT license?

-Is their much of a performance hit from using PyQT?

junichiro
30th July 2011, 15:10
I'm guessing you already know this, but if you are not editing the QT source, you link dynamically, and aren't developing for mobile, you don't need a commercial license for QT, as it's LGPL.

SixDegrees
30th July 2011, 15:37
I don't understand why you would waste time writing Python code that you're ultimately going to toss overboard and replace with C++ code. Qt's C++ libraries are already cross-platform. Just write your code in C++ to begin with.

There's no need to purchase a commercial license if all you want to do is experiment. Download the LGPL version, which costs nothing. Once you've made a decision, you can buy a commercial license that allows distribution of your executable without releasing your source code. If source code release doesn't bother you, save the money and distribute according to the LGPL.

There is ALWAYS a performance hit when using interpreters versus direct use of compiled code. Period.

junichiro
30th July 2011, 21:42
I felt like posting again:

- regarding performance, the answer is obviously "it depends". I am pretty new to QT, but not to Python, and for many business apps where all the processing is carried out in calls databases or libraries of GUI code (themselves inevitably written in C or C++), there really isn't any performance hit using Python. If something is running slowly it means either your database queries need optimizing/eliminating, or your GUI library sucks. Though this obviously all changes for embedded software, math-heavy code, etc. In my last job I worked on a huge program written in Python, and though it was pretty slow, that was entirely due to its extreme inefficiency in making large numbers of database calls to very slow databases, and nothing to do with Python. I also used to use Python software on my ancient N800 tablet, and when that was slow it was again because of disk access and the like, not Python.

- i have just started using pyside, and it looks to be pretty much identical to pyqt if all you are looking for is bindings, and not e.g. support. In fact it is almost totally compatible with pyqt code, and I have been using examples from a PyQT book almost entirely unmodified