Not only should it be possible to reproduce the exact look and feel, it may even be fun to do it.
I didn't look at the python too closely though. I've been working on copying some things from python to php over the past couple of days (xmlrpc logins over https, generating and validating checksum files) so I know that all the basics can be copied over...
Well... I first tried QT using the php extension and I could not really get my head around it.
After I did it in C++, the php extension was easy. BUT it's not really that useful, because nobody ships it. Debian, for instance, had a proposition to package it but then threw it out because at the time it was only available under the GPL, which according to FSF is incompatible with the PHP license due to a an "obnoxious advertising clause" or something (The PHP license forbids the use of the name "PHP" in derivative works).
Now QT is available under the LGPL and I don't think that restriction applies under the new license, but we've gone around in a full circle. Regardless of its legal status, no distribution that I know of ships a package for PHP-QT. I don't think it's in PECL either.
It's really a fantastic extension - one that you can't use in redistributable code unless you box the extension up with your code, but still fantastic... And then in that case, as you say, these sorts of obstacles start making look C++ look much more attractive.
Having said all that, bigger picture, time for threadjacking. There's no reason to not use PHP in desktop apps at least privately. The "It's only for the web" argument doesn't really work, and neither does "but it's not a compiled language".
Frozen-bubble, gstreamer, cowsay and gnome-system-tools all want to use PERL for something or other.
Eclipse, Mercury Messenger, Azureus and a number of other programs are written in humble Java. Java was first made public in 1995 targeting web applications (although they had originally intended it for embedded systems, say in appliances).
The team originally considered using C++, but it was rejected for several reasons. Because they were developing an embedded system with limited resources, they decided that C++ demanded too large a footprint and that its complexity led to developer errors. The language's lack of garbage collection meant that programmers had to manually manage system memory, a challenging and error-prone task. The team was also troubled by the language's lack of portable facilities for security, distributed programming, and threading. Finally, they wanted a platform that could be easily ported to all types of devices.
I used to use an instant messaging client called imvu (before it became a chat client and game), which is a Windows program written in Python.