Discussion:
Emc-developers Digest, Vol 132, Issue 12
(too old to reply)
s***@btinternet.com
2017-04-18 13:45:58 UTC
Permalink
Raw Message
On 18/04/17 11:15, emc-developers-***@lists.sourceforge.net wrote:
> I've been working on a branch that would supply linuxcnc with a python QT based vcp program.
>
> This is capable of GLADEvcp type panels and operator screens including python handler files.
>
> Qt seems to be the future of GUIs

Good to see the idea came to fruition Chris.
Seems a long time ago we were kicking this around previously.
>
>
> The questions I am wonder on are:
>
>
> python 2 or 3 ?

Python 3 came out 9 years ago and has never taken off because of the
backward incompatibilities with python 2
Until the major libraries available in 2 are ported to 3, that looks
likely to continue.

The EOL for python 2.7 (which already has some of the major changes in 3
backported to it) was originally 2015 and this was extended
again to 2020. That could happen again, or the python org could finally
admit they made a massive mistake and try to fix it :)

>
>
> PYQT4 or 5 ?
>
>
> Currently it's built with python 2 and PYQT4.
>
>
> My personal opinion is that I see little reason to use python 3 yet - it seems many libraries are slow to switch.
>
>
> QT5 is not available in wheezy but is available in Mint (a fairly common used distribution)
>
> Looks like debian Jessie has PYQT5 in both styles of python.
>
>
> So to use QT5 we would not be able to use QTvcp in wheezy and i would need some make file help
>
> to juggle when to build and not.

Qt4.8 is EOL and even Qt5 is getting near to spawning into v6

Wheezy likewise is only receiving security updates, with more backports
are available and Debian will pull the plug on it completely next year.

Qt5 and Jessie is the only sane option to my mind, Qt5 is now default in
Stretch too, but 4.8 is still supported probably for the reasons below.
>
>
> I haven't read any significant differences between qt4/5 I just would like to future proof the work.

There are problems with Qt5, specifically in the area of X.
The X implementation in Qt5 will prevent any Qt5 program from displaying
at all, in an icewm window manager system for instance.
A lot of the problems I have read about centre on video cards, GUIs,
openGL etc

More serious potentially to a VCP, is X embedding.
Under 4.8 I could embed a gremlin window into a Q11XEmbedContainer or
Q11XEmbedWidget quite simply.

Qt5 did away with these classes.
They maintain that you can use other classes to achieve the same, but
last time I tried it, they didn't work.
I haven't tried for quite a while and this suggests it can be done by
another route
http://stackoverflow.com/questions/32703557/qx11embedcontainer-equivalent-in-qt5

Just be sure that whatever you produce can embed and be embedded OK.

The other changes are largely headers due to class reorganisation
changes etc etc, in C++ at least, I don't use python.

Good luck.
>
> it's really disappointing the debacle of GTK2 and 3.
>
>
> Opinions other comments?
>
>
> Chris M
Chris Morley
2017-04-18 19:00:36 UTC
Permalink
Raw Message
________________________________
From: ***@btinternet.com <***@btinternet.com>
Sent: April 18, 2017 1:45 PM
To: emc-***@lists.sourceforge.net
Subject: Re: [Emc-developers] Emc-developers Digest, Vol 132, Issue 12


Python 3 came out 9 years ago and has never taken off because of the
backward incompatibilities with python 2
Until the major libraries available in 2 are ported to 3, that looks
likely to continue.

The EOL for python 2.7 (which already has some of the major changes in 3
backported to it) was originally 2015 and this was extended
again to 2020. That could happen again, or the python org could finally
admit they made a massive mistake and try to fix it :)

>
>

Yes I feel python 2.x is where I will stay for now.
I also don't see it too bad to convert in the future if warranted.

> PYQT4 or 5 ?
>


Qt4.8 is EOL and even Qt5 is getting near to spawning into v6

Wheezy likewise is only receiving security updates, with more backports
are available and Debian will pull the plug on it completely next year.

Qt5 and Jessie is the only sane option to my mind, Qt5 is now default in
Stretch too, but 4.8 is still supported probably for the reasons below.
>
>
> I haven't read any significant differences between qt4/5 I just would like to future proof the work.

There are problems with Qt5, specifically in the area of X.
The X implementation in Qt5 will prevent any Qt5 program from displaying
at all, in an icewm window manager system for instance.
A lot of the problems I have read about centre on video cards, GUIs,
openGL etc

More serious potentially to a VCP, is X embedding.
Under 4.8 I could embed a gremlin window into a Q11XEmbedContainer or
Q11XEmbedWidget quite simply.

Qt5 did away with these classes.
They maintain that you can use other classes to achieve the same, but
last time I tried it, they didn't work.
I haven't tried for quite a while and this suggests it can be done by
another route
http://stackoverflow.com/questions/32703557/qx11embedcontainer-equivalent-in-qt5

Just be sure that whatever you produce can embed and be embedded OK.

The other changes are largely headers due to class reorganisation
changes etc etc, in C++ at least, I don't use python.

Good luck.
>

Ok that is more more serious -thanks for the heads up.
I currently embed Gremlin just as you did.
I tried to peek at your (I assume C++) display widget in machinekit to see if i could
pythonize it (gasp I know ) but stopped when I figured out how to embed gremlin.

That is a real shame about lack of embedding.
Thanks for the info.

Chris M
Loading...