by running the following python script
from taurus.qt.qtgui.taurusgui.utils import PanelDescription,\ ExternalApp, ToolBarDescription, AppletDescription GUI_NAME = 'dcmform' ORGANIZATION = 'DESY' dcm_motor_control = PanelDescription('DCM motor positions', classname = 'TaurusForm', model = [ 'tango://haso228k:10000/p09/motor/exp.29/position', 'tango://haso228k:10000/p09/motor/exp.30/position']) und_motor_control = PanelDescription('PETRA beam', classname = 'TaurusForm', model = [ 'tango://haso228k:10000/petra/globals/keyword/Energy', 'tango://haso228k:10000/petra/globals/keyword/BeamCurrent']) dcm_motor_setup = PanelDescription('DCM motor setup', classname = 'TaurusForm', model = [ 'tango://haso228k:10000/p09/motor/exp.29', 'tango://haso228k:10000/p09/motor/exp.30']) if __name__ == '__main__': from taurus.qt.qtgui.application import TaurusApplication from taurus.qt.qtgui.taurusgui import TaurusGui from taurus.external.qt import Qt app = TaurusApplication() gui = TaurusGui(confname=__file__) #: heartbeat period in ms period = 1000 #: panels with fast motors panelnames = ['DCM motor positions', 'PETRA beam'] for name in panelnames: fastpanel = gui.getPanel(name) taurusform = fastpanel.widget() for taurusvalue in taurusform: taurusvalue.setEventBufferPeriod(period) gui.show() app.exec_()
For TaurusForms containing frequently changing motor positions it is recommended to use the heartbeat mechanism. This mechanism protect against GUI freezing which can be caused by evaluating of too many events coming from moving motors.
In the above example these settings are done just before the gui.show() command. The panelnames list contains names of PanelDesciptions with fast motors.