⇤ ← Revision 1 as of 2005-05-30 05:43:03
Size: 143
Comment:
|
Size: 2260
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
One key advantage of wxPython over Py''''''Qt is that wxPython is FreeSoftware on all its supported platforms, while Qt for Windows is not. | |
Line 2: | Line 3: |
One key advantage of wxPython over Py''''''Qt is that wxPython is FreeSoftware on all its supported platforms, while Qt for Windows is not. | - I believe that, with version 4, Qt is available under a free software license on all platforms, including Windows. I've used wxPy a lot (several medium-to-large programs), and PyQt only a little (one program, 500 lines), but these are my initial impressions: * Some things seem more intuitive in PyQt, some more so in wxPy. I'd say overall wxPy seems slightly nicer, but the difference isn't that great. Both are *far* ahead of Tkinter in this aspect. (I wouldn't want to write a non-trivial program with Tkinter, but I'd be fine with writing a large PyQt program.) * With wxPy, I can avoid C++ entirely (especially with the nice new docs on wxpython.org). With PyQt, you can't avoid it: to connect a signal ("bind an event", in wxPy terminology), you specify the C++ method signature. For example: self.connect(self.tree, SIGNAL('rightButtonPressed(QListViewItem *, const QPoint &, int)'), self.show_popup). This feels like a kluge to me, and I had to keep hitting my brain-clutch when shifting to C++ and back. * With wxPy, you generally "import wx", and then use classes like wx.App; with PyQt, you generally "from qt import *", and then use classes like QApplication. I guess this is a really minor point, but wxPy seems more Pythonic to me: it feels like wxPy *uses* Python namespaces, while Qt lets the C++ naming overflow into the actual class names. * wxPy's documentation seems to be better. The wxWidgets API says what's different in Python (or Perl). In Qt, Python feels very much like a second-class citizen. The main Qt documentation is very C++-specific, and there's another webpage that says what's different (or missing) in Python. There didn't seem to be any "one-stop-shopping" for the PyQt API. Keep in mind this was 3.3, so newer versions of PyQt are sure to be better. I don't want to be anti-Qt, so if anything here is incorrect or misleading, please add a note! Also, since I've been using wxPy for a while, I surely did things using a wxPy approach, and missed out completely on some things that PyQt does better. PyQt programmers, please enlighten me. :-) |
One key advantage of wxPython over PyQt is that wxPython is FreeSoftware on all its supported platforms, while Qt for Windows is not.
- I believe that, with version 4, Qt is available under a free software license on all platforms, including Windows.
I've used wxPy a lot (several medium-to-large programs), and PyQt only a little (one program, 500 lines), but these are my initial impressions:
Some things seem more intuitive in PyQt, some more so in wxPy. I'd say overall wxPy seems slightly nicer, but the difference isn't that great. Both are *far* ahead of Tkinter in this aspect. (I wouldn't want to write a non-trivial program with Tkinter, but I'd be fine with writing a large PyQt program.)
With wxPy, I can avoid C++ entirely (especially with the nice new docs on wxpython.org). With PyQt, you can't avoid it: to connect a signal ("bind an event", in wxPy terminology), you specify the C++ method signature. For example: self.connect(self.tree, SIGNAL('rightButtonPressed(QListViewItem *, const QPoint &, int)'), self.show_popup). This feels like a kluge to me, and I had to keep hitting my brain-clutch when shifting to C++ and back.
With wxPy, you generally "import wx", and then use classes like wx.App; with PyQt, you generally "from qt import *", and then use classes like QApplication. I guess this is a really minor point, but wxPy seems more Pythonic to me: it feels like wxPy *uses* Python namespaces, while Qt lets the C++ naming overflow into the actual class names.
wxPy's documentation seems to be better. The wxWidgets API says what's different in Python (or Perl). In Qt, Python feels very much like a second-class citizen. The main Qt documentation is very C++-specific, and there's another webpage that says what's different (or missing) in Python. There didn't seem to be any "one-stop-shopping" for the PyQt API.
Keep in mind this was 3.3, so newer versions of PyQt are sure to be better. I don't want to be anti-Qt, so if anything here is incorrect or misleading, please add a note!
Also, since I've been using wxPy for a while, I surely did things using a wxPy approach, and missed out completely on some things that PyQt does better. PyQt programmers, please enlighten me.