1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
<?xml version="1.0"?>
<!--
###################################################
##Variable Label Text:
## a gui static text form
###################################################
-->
<block>
<name>QT GUI Label</name>
<key>variable_qtgui_label</key>
<import>from PyQt5 import Qt</import>
<import>from gnuradio import eng_notation</import>
<var_make>self.$(id) = $(id) = $value</var_make>
<make>#set $win = 'self._%s_tool_bar'%$id
$win = Qt.QToolBar(self)
#if not $label()
#set $label = '"%s"'%$id
#end if
if $(formatter):
self._$(id)_formatter = $formatter
else:
self._$(id)_formatter = lambda x: $(type.str)(x)
$(win).addWidget(Qt.QLabel($label+": "))
self._$(id)_label = Qt.QLabel(str(self._$(id)_formatter(self.$id)))
self._$(id)_tool_bar.addWidget(self._$(id)_label)
$(gui_hint() % $win)</make>
<callback>self.set_$(id)(self._$(id)_formatter($value))</callback>
<callback>Qt.QMetaObject.invokeMethod(self._$(id)_label, "setText", Qt.Q_ARG("QString", $id))</callback>
<param>
<name>Label</name>
<key>label</key>
<value></value>
<type>string</type>
<hide>#if $label() then 'none' else 'part'#</hide>
</param>
<param>
<name>Type</name>
<key>type</key>
<value>int</value>
<type>enum</type>
<hide>part</hide>
<option><name>Float</name><key>real</key><opt>conv:eng_notation.str_to_num</opt><opt>str:eng_notation.num_to_str</opt></option>
<option><name>Integer</name><key>int</key><opt>conv:int</opt><opt>str:str</opt></option>
<option><name>String</name><key>string</key><opt>conv:str</opt><opt>str:str</opt></option>
<option><name>Boolean</name><key>bool</key><opt>conv:bool</opt><opt>str:str</opt></option>
<option><name>Any</name><key>raw</key><opt>conv:eval</opt><opt>str:repr</opt></option>
</param>
<param>
<name>Default Value</name>
<key>value</key>
<value>0</value>
<type>$type</type>
</param>
<param>
<name>Formatter</name>
<key>formatter</key>
<value>None</value>
<type>raw</type>
<hide>part</hide>
</param>
<param>
<name>GUI Hint</name>
<key>gui_hint</key>
<value></value>
<type>gui_hint</type>
<hide>part</hide>
</param>
<doc>
This block creates a variable with a label widget for text. \
Leave the label blank to use the variable id as the label.
The GUI hint can be used to position the widget within the application. \
The hint is of the form [tab_id@tab_index]: [row, col, row_span, col_span]. \
Both the tab specification and the grid position are optional.
</doc>
</block>
|