# A few questions regarding QT GUI development

**URL:** <https://www.ruby-forum.com/t/a-few-questions-regarding-qt-gui-development/234721>\
**Category:** GNU Radio\
**Created:** [March 24, 2015, 5:06pm UTC](https://www.ruby-forum.com/t/a-few-questions-regarding-qt-gui-development/234721 "2015-03-24T17:06:25Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![addis\_a](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/c4cdca/32.png) [@addis\_a](https://www.ruby-forum.com/u/addis_a)\
**Post date:** [March 24, 2015, 5:06pm UTC](https://www.ruby-forum.com/t/a-few-questions-regarding-qt-gui-development/234721/1 "2015-03-24T17:06:25Z")

</div>

Greetings all,

```
     I recently began using gnuradio and GRC with a pair of USRPs.

```

It’s my understanding that plans are underway to ultimately remove WX in  
v3.9 as a GUI option from gnuradio, and replace it with QT. It’s also my  
understanding that QT GUI development is underway in future versions of  
gnuradio. I’m interested in attempting to help develop for gnuradio and  
have forked a copy of the source from github.

```
     With that in mind, I have a few questions:

 1. Who is involved with QT GUI development for gnuradio?
 2. What future improvements, especially functionality related, are
    planned for gnuradio QT? All I have been able to find in the
    3.8.0 roadmap is that grc will "introduce a QT version of GRC"
    (what does that mean?) and that gr-qtgui will be switching
    examples to use gr-qtgui instead of gr-wxgui. Functionality I'm
    most interested in includes X/Y mode for the QT GUI Time Sink
    and the ability to pause the output of the Time, Frequency, and
    Waterfall sinks (as is available via the "Stop" button in the WX
    counterparts.
 3. In looking over the WX and QT GUI options, I personally prefer
    the layout and functionality of the WX GUI components
    (specifically, the instrumentation options). Are there any plans
    to attempt to replicate the layout and options of the WX
    components? (Perhaps the old WX layout style and functionality
    are being abandoned for good reason; if that's the case, if
    anybody could clarify that for me or point me in the right
    direction I would be most appreciative.)

Thanks everyone, and I look forward to hearing from you!

```

–George

---

<div class="post-metadata">

**Author:** ![george29](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/df705f/32.png) [@george29](https://www.ruby-forum.com/u/george29)\
**Post date:** [March 24, 2015, 5:32pm UTC](https://www.ruby-forum.com/t/a-few-questions-regarding-qt-gui-development/234721/2 "2015-03-24T17:32:18Z")

</div>

Hi George,

> It’s also my understanding that QT GUI development is underway in  
> future versions of gnuradio.  
> I’d say it’s pretty usable and stable in _current_ versions of gnuradio.  
> It’s also my understanding that QT GUI development is underway in  
> future versions of gnuradio.  
> Have a git blame one the gr-qtgui subdirectory. You’ll mainly find Tom  
> as contributor, but of course, a lot of people contribute features, new  
> sinks, bugfixes etc.  
> So, I’d say, it’s an overall community effort.  
> will “introduce a QT version of GRC” (what does that mean?)  
> GRC (GNU Radio Companion) is, to date, a GTK application, and there’s  
> work going on to “port it” to Qt (I’d rather say, there’s someone who’s  
> rewriting the GUI part completely, but in effect, it’s a port).

> gr-qtgui will be switching examples to use gr-qtgui instead of gr-wxgui  
> Um, I don’t understand that, either, but it means that in the future,  
> examples will be based on Qt GUI (rather than WX _or_ QT, depending on  
> when/who wrote them).

> Functionality I’m most interested in includes X/Y mode for the QT GUI  
> Time Sink and the ability to pause the output of the Time, Frequency,  
> and Waterfall sinks (as is available via the “Stop” button in the WX  
> counterparts.  
> Have you tried middle mouse button, for example on the waterfall sink?

All in all, the Qt widgets are easier to integrate into “real world”  
applications, and they are far more easily customized – a CSS might be  
all you need.

Greetings,  
Marcus

---

<div class="post-metadata">

**Author:** ![george29](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/df705f/32.png) [@george29](https://www.ruby-forum.com/u/george29)\
**Post date:** [March 24, 2015, 5:53pm UTC](https://www.ruby-forum.com/t/a-few-questions-regarding-qt-gui-development/234721/3 "2015-03-24T17:53:51Z")

</div>

* * *

Discuss-gnuradio mailing list  
removed\_email\_address@domain.invalid  
[https://lists.gnu.org/mailman/listinfo/discuss-gnuradio](https://lists.gnu.org/mailman/listinfo/discuss-gnuradio)

---

<div class="post-metadata">

**Author:** ![george29](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/df705f/32.png) [@george29](https://www.ruby-forum.com/u/george29)\
**Post date:** [March 24, 2015, 5:58pm UTC](https://www.ruby-forum.com/t/a-few-questions-regarding-qt-gui-development/234721/4 "2015-03-24T17:58:11Z")

</div>

On 24.03.2015 09:04, George H. wrote:

> Greetings all,
> 
> ```
> I recently began using gnuradio and GRC with a pair of USRPs.
> 
> ```
> 
> It’s my understanding that plans are underway to ultimately remove WX in  
> v3.9 as a GUI option from gnuradio, and replace it with QT. It’s also my  
> understanding that QT GUI development is underway in future versions of  
> gnuradio. I’m interested in attempting to help develop for gnuradio and  
> have forked a copy of the source from github.

Whoooo! We are really very happy about new developers, _especially_ on  
the GUI side.

> ```
> With that in mind, I have a few questions:
> 
> 1. Who is involved with QT GUI development for gnuradio?
> 
> ```

Tom is the main guy for this, and he’ll probably chip in.

> ```
> 2. What future improvements, especially functionality related, are
> planned for gnuradio QT? All I have been able to find in the
> 3.8.0 roadmap is that grc will "introduce a QT version of GRC"
> (what does that mean?) and that gr-qtgui will be switching
> examples to use gr-qtgui instead of gr-wxgui. Functionality I'm
> most interested in includes X/Y mode for the QT GUI Time Sink
> and the ability to pause the output of the Time, Frequency, and
> Waterfall sinks (as is available via the "Stop" button in the WX
> counterparts.
> 
> ```

Before you rush ahead, X/Y mode is already available through the  
‘constellation’ sink. But that’s not to say we can’t change the time  
sink. Particularly for people who are used to it.

Pause is already in QT – check out the menu.

> ```
> 3. In looking over the WX and QT GUI options, I personally prefer
> the layout and functionality of the WX GUI components
> (specifically, the instrumentation options). Are there any plans
> to attempt to replicate the layout and options of the WX
> components? (Perhaps the old WX layout style and functionality
> are being abandoned for good reason; if that's the case, if
> anybody could clarify that for me or point me in the right
> direction I would be most appreciative.)
> 
> ```

Yes, but don’t want it to be permanent. Ideal woulde be a sidebar with  
instrumentation buttons that is collapsible, or hidable or something  
like that.

There’s a couple of things we’d like to add to the QT widgets, let me  
have a look if I can find that list.

Cheers,  
M

---

<div class="post-metadata">

**Author:** ![george29](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/df705f/32.png) [@george29](https://www.ruby-forum.com/u/george29)\
**Post date:** [March 24, 2015, 6:42pm UTC](https://www.ruby-forum.com/t/a-few-questions-regarding-qt-gui-development/234721/5 "2015-03-24T18:42:09Z")

</div>

On Tue, Mar 24, 2015 at 10:00 AM, Richard B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> Is there a plan to improve the layout customizability beyond the GUI  
> Hints? I think the gui hints are counter-intuitive and don’t provide a lot  
> of control.
> 
> Rich

I don’t find them that counter-intuitive. The (row, col, rowspan,  
colspan)  
is a fairly often used concept in grid layouts. Still, I don’t disagree  
that we can make this better and offer more flexibility. Do you specific  
suggestions that we could discuss?

Tom

---

<div class="post-metadata">

**Author:** ![george29](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/df705f/32.png) [@george29](https://www.ruby-forum.com/u/george29)\
**Post date:** [March 24, 2015, 6:03pm UTC](https://www.ruby-forum.com/t/a-few-questions-regarding-qt-gui-development/234721/6 "2015-03-24T18:03:22Z")

</div>

Is there a plan to improve the layout customizability beyond the GUI  
Hints?  
I think the gui hints are counter-intuitive and don’t provide a lot of  
control.

Rich

On Tue, Mar 24, 2015 at 9:57 AM, Martin B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![george29](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/df705f/32.png) [@george29](https://www.ruby-forum.com/u/george29)\
**Post date:** [March 24, 2015, 7:01pm UTC](https://www.ruby-forum.com/t/a-few-questions-regarding-qt-gui-development/234721/7 "2015-03-24T19:01:59Z")

</div>

Yes. I’m glad you asked :-).

The counter-intuitiveness of it for me, comes from rowspan and colspan.  
I  
might make an incorrect statement here, so please correct me if I do.

1. I think rowspan and colspan should give you control over the height  
and  
width of the widget. Instead, it defines how many columns or rows the  
widget is allowed to spill into. Without having control over column and  
row  
width, you don’t have control over widget height and width.

2. Allow control of grid positions height/width. This would allow one  
widget to dominate the screen and other lesser widgets to be sprinkled  
around it.

3. If you don’t add any GUI Hints, Have the widgets auto-fit to your  
monitors screen size so that you don’t have to scroll up and down the  
window to see plots.

4. When using the GUI Tabs feature (which I love), don’t connect one  
tabs  
grid layout to the other tabs. Let them have independent sizing. I’m  
struggling with this now.

Those are the main ones I can think of.

v/r,  
Rich

---

<div class="post-metadata">

**Author:** ![george29](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/df705f/32.png) [@george29](https://www.ruby-forum.com/u/george29)\
**Post date:** [March 24, 2015, 7:40pm UTC](https://www.ruby-forum.com/t/a-few-questions-regarding-qt-gui-development/234721/8 "2015-03-24T19:40:06Z")

</div>

Thanks, Rich, see below for some comments.

On Tue, Mar 24, 2015 at 11:00 AM, Richard B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> Yes. I’m glad you asked :-).
> 
> The counter-intuitiveness of it for me, comes from rowspan and colspan. I  
> might make an incorrect statement here, so please correct me if I do.
> 
> 1. I think rowspan and colspan should give you control over the height and  
> width of the widget. Instead, it defines how many columns or rows the  
> widget is allowed to spill into. Without having control over column and row  
> width, you don’t have control over widget height and width.

The rowspan and colspan come directly from how QT handles this stuff  
itself. It’s a grid layout, and so by default, all elements in the grid  
are  
given equal slices of the window. The span is how many elements the  
widget  
will span.

There are (read: should be) ways to control sizing, though, but I’m not  
familiar enough to know exactly how to do this off the top of my head.  
In  
fact, in my playing with adding the instrumentation panel that I  
mentioned,  
I’m needing to look into this exact issue. What we might be able to do  
is  
provide another tab for more properties like max/min height and width.  
Because yeah, I agree that it’d be nice to have this kind of control,  
even  
though I think the basic (row, col, rowspan, colspan) will probably  
stick  
around.

> 1. Allow control of grid positions height/width. This would allow one  
> widget to dominate the screen and other lesser widgets to be sprinkled  
> around it.

Sure. I think this falls into the issues in 1 that can be handled at the  
same time.

> 1. If you don’t add any GUI Hints, Have the widgets auto-fit to your  
> monitors screen size so that you don’t have to scroll up and down the  
> window to see plots.

I’m not sure if you can actually do that. It’d be great if someone more  
knowledgeable about GUI and QT could weigh in here. But figuring out the  
size of the screen isn’t something that I think we can know. And even if  
we  
do, how to go about properly scaling things might work better for some  
than  
others. Anyways, I think this is a nice thought, but I’m not sure how  
doable and/or practical it is.

> 1. When using the GUI Tabs feature (which I love), don’t connect one tabs  
> grid layout to the other tabs. Let them have independent sizing. I’m  
> struggling with this now.

Indeed. I feel like this is just default QT behavior. It’ll again take  
some  
time and expertise to fix this.

> Those are the main ones I can think of.
> 
> v/r,  
> Rich

Thanks again.

Tom
