本文整理汇总了Python中widgets.Qt4_widget_utils.DataModelInputBinder._update_widget方法的典型用法代码示例。如果您正苦于以下问题:Python DataModelInputBinder._update_widget方法的具体用法?Python DataModelInputBinder._update_widget怎么用?Python DataModelInputBinder._update_widget使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类widgets.Qt4_widget_utils.DataModelInputBinder
的用法示例。
在下文中一共展示了DataModelInputBinder._update_widget方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: GphlSetupWidget
# 需要导入模块: from widgets.Qt4_widget_utils import DataModelInputBinder [as 别名]
# 或者: from widgets.Qt4_widget_utils.DataModelInputBinder import _update_widget [as 别名]
class GphlSetupWidget(QtGui.QWidget):
"""Superclass for GPhL interface widgets"""
def __init__(self, parent=None, name='gphl_setup_widget'):
QtGui.QWidget.__init__(self,parent)
if name is not None:
self.setObjectName(name)
# Properties ----------------------------------------------------------
# Signals ------------------------------------------------------------
# Slots ---------------------------------------------------------------
dispatcher.connect(self._refresh_interface, 'model_update',
dispatcher.Any)
# Hardware objects ----------------------------------------------------
# Internal variables -------------------------------------------------
self._widget_data = OrderedDict()
self._data_object = GphlAcquisitionData()
self._pulldowns = {}
self._parameter_mib = DataModelInputBinder(self._data_object)
# Graphic elements ----------------------------------------------------
_parameters_widget = self._parameters_widget = QtGui.QWidget(self)
QtGui.QGridLayout(_parameters_widget)
_parameters_widget.layout().setColumnStretch(2, 1)
# Layout --------------------------------------------------------------
# This seems to be necessary to make widget visible
_main_vlayout = QtGui.QVBoxLayout(self)
_main_vlayout.addWidget(_parameters_widget)
_main_vlayout.setSpacing(0)
_main_vlayout.setContentsMargins(0, 0, 0, 0)
def setEnabled(self, value):
super(GphlSetupWidget, self).setEnabled(value)
for tag in self._widget_data:
self.set_parameter_enabled(tag, value, warn=False)
def set_parameter_enabled(self, tag, value, warn=True):
tt = self._widget_data.get(tag)
if tt:
if hasattr(tt[0], 'setEnabled'):
tt[0].setEnabled(value)
elif warn:
logging.getLogger().warning(
"%s Widget has no attribute setEnabled" % tag
)
elif warn:
logging.getLogger().warning(
"%s field not found in GphlSetupWidget" % tag
)
def get_data_object(self):
return self._data_object
def populate_widget(self, **kw):
self._data_object = data_object = GphlAcquisitionData()
self._parameter_mib.bindings.clear()
# NB must be done here to set empty model, and also in subclasses:
self._parameter_mib.set_model(data_object)
for field_name, tags in self._pulldowns.items():
widget = self._widget_data[field_name][0]
widget.clear()
widget.addItems(list(QtCore.QString(tag) for tag in tags))
widget.setCurrentIndex(0)
def set_parameter_value(self, name, value):
"""Set value - NB ComboBoxes are set by text, not index"""
if hasattr(self._data_object, name):
tags = self._pulldowns.get(name)
if tags is None:
# Not a pulldown
setattr(self._data_object, name, value)
else:
# This is a pulldown
if value in tags:
indx = tags.index(value)
setattr(self._data_object, name, indx)
else:
raise ValueError(
"GPhL acquisition widget %s pulldown has no value %s"
% (name, value)
)
self._parameter_mib._update_widget(name, None)
else:
raise ValueError(
"GPhL acquisition widget has no parameter named %s" % name
)
def get_parameter_value(self, name):
"""Return value of parameter <name> or None if it does not exist
NB ComboBoxes return text values, not indices
#.........这里部分代码省略.........