I have been using REALbasic for a number of years to develop cross-platform apps.  I have become frustrated developing with a proprietary language and so have decided to change languages and have settled on Python and QT.
Since I know no Python, would people recommend Python 2 or 3?
I think I will be using PyQt or PySide. I know that of these two, only PyQt (currently) supports Python 3.  Does this give enough of an advantage over PySide? It's just that PySide seems to have a 'cleaner' syntax.
PySide and PyQt4 are almost identical. In fact, you can often replace PyQt4 with PySide (and vice versa) in your code's import declarations.
Python2 and Python3 are almost identical as well, with a few minor changes that a beginner won't notice for a while (aside from print being made a function).
Python2 has more support in terms of modules (Python3 broke backwards-compatibility with Python2), so I'd suggest you use Python2 until you figure out a reason to switch to Python3. There really is no benefit, as both releases are maintained separately.

In short, stick with the stuff that's known to work.
Best setup to develop cross-platform GUI-based apps using Python