Take the 2-minute tour ×
Raspberry Pi Stack Exchange is a question and answer site for users and developers of hardware and software for Raspberry Pi. It's 100% free, no registration required.

I am building a data visualization application. It is a multithreaded Gui without user interaction. I have 24 widgets that shall be updated any 100ms. 16 widgets are PyCairo rectangles and the other 8 widgets are matplotlib plots. The data being represented are just some GPIO values or in another setup higher layer (layer 5 - using UDP) network traffic data.

I am doing it with PyGTK. I have no other experiences yet.

Now my question is:

Is PyGTK the right choice for multithreaded visualization, or should I have a look at Qt or TclTk, or something else?

share|improve this question
    
do you have anymore information? Is this application to be used on the Raspberry Pi? –  kolin Jan 29 '13 at 11:09

1 Answer 1

up vote 3 down vote accepted

I think you should just go ahead and do it in PyGTK. If it turns out to be too resource hungry, you can at least use what you have as a prototype for a GTK version in C or C++. If you are squeamish about C, you can use the native GTK libraries in C++ or else the existing C++ interface, gtkmm.

I do not think Qt is a good choice because, unless you are running KDE on the pi (which is probably not wise, if it is even possible), this means loading a bunch of big fat libraries just for the application, whereas the GTK ones will already be in use.

Also, your application will look and feel right using GTK on a primarily GTK-based system, and all the lightweight linux desktop environments (eg. LDXE, used by raspbian) appropriate to the pi are GTK.

I doubt TclTk is going to provide you an advantage over PyGTK, but I could be wrong.

So whatever language you choose, stick with GTK. Python should be fine, but even if it isn't, the work will not be wasted, since you can use it as a prototype for a C or C++ version.

Actually determining the feasibility of the project in (useful) concrete terms would require a fairly complex and systematic appraisal of it, meaning:

A) That you have a complete and detailed design to use in the appraisal.

B) That such a system exists for PyGTK. The definitive way to answer that question is to ask on a dedicated Python/PyGTK forum or mailing list, but most likely the answer is no, such a system does not exist.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.