As some of you know, yt's GUI right now is based on hand-coded wxPython. The next generation, available in the yt hg repo, is based on TraitsUI. Right now it uses some wx-specific code for generating Matplotlib canvases, but it's largely portable. It looks like going forward TraitsUI will primarily use Qt. I've used the nextgen GUI with Qt (switching toolkits is trivial with TraitsUI) and it looks good, but this will still be something of a change, when it happens -- I anticipate we'll track TraitsUI on this front. It's not clear to me how easy installing Qt is from an automated standpoint. The second message contains Eric Jones's response about PyQt/PySide and the future of TraitsUI. Forwarded conversation Subject: [Enthought-Dev] PySide to replace PyQt? ------------------------ From: Glenn Tarbox, PhD <glenn@tarbox.org> Date: Tue, Aug 25, 2009 at 8:31 PM To: IPython-dev@scipy.org, Enthought-Dev@enthought.com Sooner or later, something was gonna need to happen WRT Riverbank and the PyQt licensing. I had hoped that an entirely new project wasn't going to be necessary.... but apparently it is. PySide Released to the Wild: http://labs.trolltech.com/blogs/2009/08/25/pyside-released-to-the-wild/
From the PySide FAQ
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
What about PyQt? Nokia’s initial research into Python bindings for Qt involved speaking with Riverbank Computing, the makers of PyQt. We had several discussions with them to see if it was possible to use PyQt to achieve our goals. Unfortunately, a common agreement could not be found , so in the end we decided to proceed with PySide. We will however maintain API compatibility with PyQt (you can use the same method names but can’t inter-operate with PyQt), at least for the initial release. To import PySide you have to use “import PySide” instead of “import PyQt4″. <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< I didn't know where to post this. PySide needs to mature a bit (support more than Linux for example) but both Matplotlib and Enthought are affected. PyQt will likely need to be replaced in both packages once PySide becomes more mature as the licensing of PyQt is problematic now that Qt is LGPL. Its also likely that with Nokia's backing, the PySide API will eventually dominate. Hopefully, the above statement regarding the similarity of the API will make moving over easy. Personally I'd like to see a focus on Qt vs Wx by Enthought as I believe it to be much more powerful... but thats my personal opinion and what I use. As a side note, I've successfully nailed my C++ Qt code to IPython using a Cython shim. The PyQt event loop is available and all seems to work great. -glenn -- Glenn H. Tarbox, PhD || 206-274-6919 http://www.tarbox.org _______________________________________________ Enthought-Dev mailing list Enthought-Dev@enthought.com https://mail.enthought.com/mailman/listinfo/enthought-dev ---------- From: Eric Jones <eric@enthought.com> Date: Wed, Aug 26, 2009 at 1:04 AM To: enthought-dev@enthought.com Here are my thoughts and comments: 1. We are switching our focus to Qt and away from wx for all new work. That happened when the Qt LGPL was announced. We aren't abandoning wx in the near future, though. To much of our legacy stuff relies on it. 2. Evan Patterson has done excellent work this summer, and switching between wx and qt backends on traits.ui/Envisage applications work pretty dang well. At least two of our large (consulting) applications work well under either one without a line of code changed to switch between the two. 3. We're going to use PyQt (purchasing the requisite licenses) for consulting project releases later this year. 4. We are pained to see that Nokia and Riverbank didn't come to an agreement. a. It has led to an awkward in-between period where Nokia's solution isn't ready, and Phil's is inevitably losing part of its mind share. b. We like Phil and appreciate the huge contributions he has made with PyQt and also all the work he put into traits.ui for the Qt backend. I really would like to see the code purchased by Nokia. With the limited information we all have, it does seem that all parties (Nokia, Phil, the community) would have come out ahead had they reached an agreement. Of course, limited information is of limited value... c. We feel there are several iterations before PySide performs as well (cpu and memory) and is as robust as PyQt. That leads to more work for all of us to use PyQt now and switch to/test on PySide later. d. It just hurts to think about talented engineers re-solving a well solved problem with little engineering benefit. The planet is losing many man years of engineering effort that could be applied to new problems. Talented man years are harder to come by than people think... 5. QScintilla is part of PyQt, but I am not sure (even doubt) it will be in PySide. It is a useful widget in the software IDE world, and it'll take a lot of work to reproduce the wrapper in a clean room. I'm not sure QTextEdit will suffice as a replacement. We'll have to see how this pans out. 6. Inevitably the licensing issue will lead to a larger community using PySide. 7. Much work is being done on IPython to make it easier to fit into a GUI. We also have a version that Gael put together last year for wx. We are waiting to move this to Qt until the huge IPython re-factor going on is finished. There are many subtleties in the corner's of IPython and GUIs that are hard to get right. The wx version we have is passable, but not robust enough to be an IPython-in-console replacement. Sigh. eric _______________________________________________ Enthought-Dev mailing list Enthought-Dev@enthought.com https://mail.enthought.com/mailman/listinfo/enthought-dev _______________________________________________ Enthought-Dev mailing list Enthought-Dev@enthought.com https://mail.enthought.com/mailman/listinfo/enthought-dev
participants (1)
-
Matthew Turk