discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] new feature work: qtgui support in grc


From: Josh Blum
Subject: [Discuss-gnuradio] new feature work: qtgui support in grc
Date: Tue, 01 Mar 2011 17:52:01 -0800
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101208 Lightning/1.0b2 Thunderbird/3.1.7

Hey list,

I have been working on supporting PyQt widgets and the qtgui sinks in
the Gnuradio Companion. Get the code on my wip/qtgui/grc branch on
jblum.git http://gnuradio.org/cgit/jblum.git/log/?h=wip/qtgui/grc

Available widgets:
 * qtgui plotter (dft, scope, etc)
 * tabbed panel
 * slider
 * combo box
 * radio buttons
 * text entry
 * label

1) The slider adds a new requirement of PyQwt (python Qwt bindings). Qwt
should already be installed for the qtgui sinks themselves.

2) The qtgui and wxgui widgets are distinctly separated. Previously, the
"variable slider" was a wx slider form. Now, there is a WX GUI Slider
and a QT GUI Slider. And the generate options now have a QT GUI option.
You cannot mix and match widgets from different graphics libraries.

3) No attempt was made to make the existence of different graphics
toolkits transparent to the user. That would have been a huge pain on my
part and I couldn't try new things. If this Qt thing catches on, I am
considering a migration script from wx->qt.

4) The Qt widgets in grc do not have a python wrapper/forms library like
they do in gnuradio. All the generated code uses the PyQt API directly.
This is in-part possible because Qwt supplies its own set of useful
wrappers around Qt widgets. Examples: http://qwt.sourceforge.net/sliders.png

5) Each widget block in grc has a gui hint parameter. This parameter is
a combination of the grid parameter and notebook parameter seen in the
wx widget blocks. It also allowed the implementation code to be a lot
more generic.

Whats missing?
I feel that the widgets still need a bit of polishing. Engineering
notation would be nice. I'd like to see features in the wx scope sink
brought to the qtgui scope such as trigger modes and multiple channels.
I think the qt equivalent of the numbersink would be nice too (and that
could use some of those real fancy qwt widets):
http://read.pudn.com/downloads186/sourcecode/embed/872381/qwt/doc/images/dials2.png

Why qtgui stuff?
The WX stuff in gnuradio is fairly polished in comparison; and when it
works, it works. But we have seen many issues with wx outside of the
linux+x86 world, not to mention opengl issues on the x86. I hope that
the qt stuff is a viable, cross platform option for live gnuradio
plotting and graphical applications.

Please try it out. Feedback is welcome!
-Josh



reply via email to

[Prev in Thread] Current Thread [Next in Thread]