Greetings, Fellow Developers,
[I am using the digest method for list mails delivery, so I cannot reply cleanly
to a defined message ]
Subject: Re: [Interest] Qt program scripting with PySide2
On 9/2/20 11:32 AM, Filippo Rusconi via Interest wrote:
> Greetings, Fellow Developers,
>
> [snip]
>>
>> I hope that helps you,
>
> Thank you so much, Cristián, for your answer.
>
> I have looked into the documents that you referred to above and found
> them very
> exciting. I have a question, though:
> Logically, all the examples are citing the creation of Python bindings
> to C++
> Qt-based libraries.
The ones I included yes,
but we do have cases with non-Qt projects,
for example:
https://code.qt.io/cgit/pyside/pyside-setup.git/tree/examples/samplebinding?h=5.15
which has this blog post associated:
https://www.qt.io/blog/2018/05/31/write-python-bindings
If you would like to see and even minimal example
on how to generate bindings, you can check this 'hello world'
example from the Virtual Tech Summit 2020:
http://maureira.xyz/talks/qt/qtforpython_vts2020/code/example_module.html
Thank you, Cristian for these pointers.
Yes, I have looked into them and definitely I will try the Qt
for Python journey.
I have indeed followed the install instructions, at
https://doc.qt.io/qtforpython/gettingstarted-linux.html.
Using a virtual environment I could perform all the steps on my Debian box,
until bulding where an error was encountered. Where can I find a place to report
that error and try to resolve it with the help of gurus ? Maybe #qt-pyside on
freenode ?
> In my GUI software, I use one public library that I co-develop with a
> colleague,
> and making Python bindings to it appears to be perfectly feasible. The
> point is
> that my program (executable GUI binary) is written in C++ and not using
> PySide2.
> How can I make the features in the GUI binary's code accessible to
> Python users?
> That is, can bindings be created not only for libs but also for executable
> binaries? Or, in other words, how can I take control of the C++-based
> program
> using Python? If this is no possible, then what should be the course of
> development? Switch all the GUI code to PySide2, put any non-GUI code in a
> private lib to which Python bindings would be created ?
I guess with the previous links you will be able to expose C++ code
to Python, independent of the libraries you use, however keep in mind
that if you want to expose a specific aspect of the library you wrote,
you might need bindings for it too.
You cannot create bindings for a specific executable,
but you can expose 'something' from what's forming that executable
to Python, and create bindings for it, for example, on the
'scriptableapplication' example, we expose only the 'MainWindow' class
to Python, that's why that can provide control of the C++ application,
although, since that depended on a 'QMainWindow' which had bindings
for Python, it was simpler. If something that you want to expose to
Python, does not have a plain C++ type, that type will require
additional bindings.
Understood.
If I may ask, what are you using for your GUI related code?
Sure, I have been writing Qt-based software for a long time. My GUI code is
Qt-based. For all the line and heat map plots that I need to display, I use the
wonderful library called QCustomPlot (see https://www.qcustomplot.com/, GPL
software by Emanuel Eichhammer).
Most sincerely,
Filippo
--
⢀⣴⠾⠻⢶⣦⠀ Filippo Rusconi, PhD
⣾⠁⢠⠒⠀⣿⡁ Research scientist at CNRS
⢿⡄⠘⠷⠚⠋⠀ Debian Developer
⠈⠳⣄⠀⠀⠀⠀ http://msxpertsuite.org
http://www.debian.org
_______________________________________________
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest