[Kst] Adding functionality to KST2

Barth Netterfield barth.netterfield at utoronto.ca
Thu Jul 10 21:53:36 UTC 2014

I've been working pretty steadily at adding a python interface to kst.

The current (alpha level) interface can add, remove, and manipulate all 
objects inside kst (ie, view items like plots and labels, primitives like 
scalars and vectors, data objects, like equations and filters, and relations, 
like curves and images.)  So the python program can start kst, add whatever it 
wants to the session, query it to and find out whatever one could find out from 
the interface, and then change anything that you could change from the 

Additionally, it can add buttons and text boxes to the canvas if you want to 
send user input back to python.

All the while, the kst gui remains fully live.

So with this, you might write a simple PySide or PyQt4 gui app which controls 
kst.  Rather than starting kst directly, you would start this app, which would 
then start kst, and tell it what to do.  The kst gui remains live.

Does it seem like this would work?

If so... you could become my first Python bindings beta tester :-)

What data rate do you need to read stuff?  What is the data?


On July 10, 2014 2:33:11 PM Kevin Burr wrote:

> Hi,
>      In various places in the documentation it mentions that if you are
> considering extending KST to let the community know.  So...
>      We need a Window's visualization tool that can handle a high data rate
> in real time.  KST seems to be an obvious choice, but we need to be able to
> send configuration data back to the application that is generating the data.
> (Right now the data is being sent to a text file. In the future if that is
> not fast enough we may use a different data format, but KST doesn't seem to
> have any problems snapping up the data as it arrives, so text seems good)
>      My question is how *difficult* is it to extend KST2's MS-Window's GUI
> to add menu items to send configuration data back to the data application
> (as well as other things like open a log browser, etc. - but we don't need
> to add any filters, fits, or custom data sources)
>      Looking through the documentation there seems to be four ways to do
> this:
> 1 :-    *Extensions* seem just what we need, but they are not supported on
> Windows.  (...although we do not need NumPy)
> 2 :-    A *DataObject* plugin sounds like a good idea, but I can't find any
> examples and the API looks daunting.
> 3 :-    All the plugins I looked at were based on the *BasicPlugin* plugin,
> but we don't need to manipulate the data.  KST has all the functionality we
> need already.
> 4 :-    Go into KST's code and add the functionality directly.  That looked
> much more daunting than figuring out the DataObject's interfaces...
>        We have an experienced programmer (me :-) but uneducated to the ways
> of KST, Qt, KDE, etc., what would be the simplest way to add the
> functionality we need?
> Thank-you.
> --
> View this message in context:
> http://kde.6490.n7.nabble.com/Adding-functionality-to-KST2-tp1576582.html
> Sent from the kst mailing list archive at Nabble.com.
> _______________________________________________
> Kst mailing list
> Kst at kde.org
> https://mail.kde.org/mailman/listinfo/kst

Barth Netterfield
University of Toronto

More information about the Kst mailing list