This function allows for a simplified interface for automatically creating UI’s to control numeric values.
A dictionary of keywords shared by all controls can be created and passed to this function and settings which don’t pertain to the element being created will will be ignore. For example, ‘precision’ will be ignored by all non-float UI and ‘sliderSteps’ will be ignore by all non-slider UIs.
Parameters: |
|
---|
A straightforward example:
settings = {}
settings['step'] = 1
settings['precision'] = 3
settings['vertical'] = True # for all checkBoxGrps, lay out vertically
win = window()
columnLayout()
setUITemplate( 'attributeEditorTemplate', pushTemplate=1 )
boolCtr = valueControlGrp( dataType='bool', label='bool', **settings)
bool3Ctr = valueControlGrp( dataType='bool', label='bool', numberOfControls=3, **settings)
intCtr = valueControlGrp( dataType=int, label='int', slider=False, **settings)
intSldr = valueControlGrp( dataType=int, label='int', slider=True, **settings)
int3Ctrl= valueControlGrp( dataType=int, label='int', numberOfControls=3, **settings)
floatCtr = valueControlGrp( dataType=float, label='float', slider=False, **settings)
floatSldr = valueControlGrp( dataType=float, label='float', slider=True, **settings)
pathCtrl = valueControlGrp( dataType=Path, label='path', **settings)
win.show()
Here’s an example of how this is meant to be used in practice:
settings = {}
settings['step'] = 1
settings['precision'] = 3
win = window()
columnLayout()
types=[ ( 'donuts?',
bool,
True ),
# bool arrays have a special label syntax that allow them to pass sub-labels
( [ 'flavors', ['jelly', 'sprinkles', 'glazed']],
'bool3',
[0,1,0]),
( 'quantity',
int,
12 ),
( 'delivery time',
float,
.69)
]
for label, dt, val in types:
valueControlGrp( dataType=dt, label=label, value=val, **settings)
win.show()