GSoC 2014 wxQT + wxPython (Phoenix) wxWidgets 3.2

FYI

I’ve finished the patches to build wxPython (Phoenix) with the latest wxWidgets master trunk (3.1.0) under the wxQT port (Qt 5.2.1), as part of my last milestone for my the Google Summer of Code 2014 project.

Build instructions (Python 3.4 under Ubuntu) and screenshots:

https://github.com/reingart/wxWidgets/wiki/wxPythonQtPhoenixNotes

Many samples works, and even the demo runs partially (not all controls, some with drawing glitches)

It is not complete (some support and fixes are still needed), but it could be used to experiment and test the latest features of wxWidgets and wxQT.

Note that wxQT is more stable than Phoenix (many wxWidgets demos works ok but there are assertions that affect wxPython).

It complies with the overall interface (701 files are compiled ok out of 711, the difference is webview_webkit that isn’t currently implemented for wxQT and is excluded from the build, but that would be relatively easy to complete).

Most changes to Phoenix were minor issues related to update it for wxWidgets 3.1:

  • wxSVGBitmapHandler new class

  • data view methods issues (GetSortingColumns, IsMultiColumnSortAllowed)

  • missing enum HTMLCursor in html window

  • wxQT version and some conditional guards in listctrl, html2 (not currently implemented) and wxPyApp::IsDisplayAvailable()

Changes needed in wxWidgets trunk due interface problems:

  • fix grid renderer best height/width methods (invalid wxSize return value)

  • fix duplicate methods in rich text control interface

For more info see the tentative pull request for Phoenix

https://github.com/wxWidgets/Phoenix/pull/4

and related commits in wxWidgets SOC2014_QT branch:

https://github.com/reingart/wxWidgets/commits/SOC2014_QT

Sadly I have no more time to complete the last ticket (wxPython for Android) in the short term as the Google Summer of Code 2014 is coming to an end, but if anyone is interested I’ll be glad to advice / help / colaborate, please see the wxQT for Android post as a starting point:

https://groups.google.com/d/msg/wx-dev/JZZi5rVNrlA/uYjUv6z2ofQJ

Best regards

Mariano Reingart
http://www.sistemasagiles.com.ar
http://reingart.blogspot.com

wxQT_wxPython_Phoenix_demo_about.png

Hi Mariano,

···

On 8/12/2014 22:37, Mariano Reingart wrote:

FYI

I've finished the patches to build wxPython (Phoenix) with the latest wxWidgets master trunk (3.1.0) under the wxQT port (Qt 5.2.1), as part of my last milestone for my the Google Summer of Code 2014 project.

It looks like you made huge progress with the wxQT port.

Will this make it possible to deploy a wxPython application to QT supported platforms - e.g. smartphones? Or are there other hurdles to overcome?

Werner

Hi Mariano,

FYI

I've finished the patches to build wxPython (Phoenix) with the latest
wxWidgets master trunk (3.1.0) under the wxQT port (Qt 5.2.1), as part of
my last milestone for my the Google Summer of Code 2014 project.

It looks like you made huge progress with the wxQT port.

Yes, 68% of unit tests are passing for wxQT now :wink:
Most core controls are working, and also some advanced ones like the
listctrl, treectrl and grid.
TLW, dialogs and MDI too.
Even cairo and opengl are working up to a certain extent.
There are still some issues in the wxPython side (and some refactory for
wxWidgets is needed in specific areas), but nothing serious as far I could
experiment with it.

Will this make it possible to deploy a wxPython application to QT
supported platforms - e.g. smartphones? Or are there other hurdles to
overcome?

I didn't cross-compiled wxPython (yet), but wxQT is working for Android:

Compiling Phoenix should be easy, at least for Android, but packaging
Python itself could be more complex.
You can see Python for Android (kivy approach), it uses 2.7.2 but seems
easy to add more external libraries to the build:

Other option should be pyqtdeploy, but it seems more complex and I don't
know much about it, beside that it uses a similar method than wxQT
(embeeding python in a C++ Qt app).

As I said in the previous mail, I run out of time to do this now (I planned
it, but my GSOC mentor, VZ, preferred to prioritize bug-fixing on wxQT).
I'll be glad to help anyone interested to make this happen, fell free to
contact me

Best regards,

Mariano Reingart
http://www.sistemasagiles.com.ar

···

On Wed, Aug 13, 2014 at 2:52 AM, Werner <wernerfbd@gmx.ch> wrote:

On 8/12/2014 22:37, Mariano Reingart wrote: