跳至主要內容

布局

Jia-Yin大约 2 分钟coursecomm

GUI Hint

所有 QT GUI 元件都有一个名为 GUI Hint 的参数。此参数可以用来设定元件在视窗内排列的位置和大小,以及位在哪一个 QT GUI Tab Widget 的分页中。

来源: wiki.gnuradio.org
来源: wiki.gnuradio.org

GUI 提示的格式为:(row, column, row span, column span)
例如,我们可能有一个4x3的网格布局,每个 GUI 元件的排列如右侧图中所示。

来源: wiki.gnuradio.org
来源: wiki.gnuradio.org

让我们看一个 幅度调制 (AM) 的示例:

参数如下:

  • samp_rate: 1e6
  • Wav File Source: Download file hereopen in new window (You can use an Audio source with sample rate=44.1k)
  • Signal Source: Frequency=400e3
  • GUI Range: Default=1, Start=0, Stop=2, Step=0.1, GUI Hint:0,0,1,8
  • Frequency Sink (Source): GUI Hint:1,0,4,8
  • Frequency Sink (AM): GUI Hint:5,0,4,8

仿真结果:

QT GUI Tab Widget

Tab Widget 在图形介面的应用程式中经常看到,如下图所示。

QT GUI Tab Widget 最重要的参数是 Num Tabs,用于设定分页数量。假设其名称为 qtab,且 Num Tabs=2。那么,我们可以使用 GUI Hint: qtab@0 将元件放置在分页 0;用 GUI Hint: qtab@1 将元件放置在分页 1。

相关信息

注意:QT GUI Tab Widget 也是一个 GUI 元件,因此我们可以使用 GUI Hint 来设定其大小和位置。

让我们利用 QT GUI Tab Widget 来建立一个简单的系统。

仿真结果:

我们可以使用以下的 GUI Hint 语法将元件放置在为特定分页的某个位置和大小:
tab_id@tab_index:row,col,row_span,col_span


練習 3

修改上面的系统示例,以产生下图的结果,其中有两个分页:一个为"Time",另一个为"Frequency"。对于每个分页,上面应显示原始信号,下面则显示相对应的幅度调制 (AM) 信号。