本文整理汇总了Python中widgets.Qt4_data_path_widget.DataPathWidget.setEnabled方法的典型用法代码示例。如果您正苦于以下问题:Python DataPathWidget.setEnabled方法的具体用法?Python DataPathWidget.setEnabled怎么用?Python DataPathWidget.setEnabled使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类widgets.Qt4_data_path_widget.DataPathWidget
的用法示例。
在下文中一共展示了DataPathWidget.setEnabled方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: EnergyScanParametersWidget
# 需要导入模块: from widgets.Qt4_data_path_widget import DataPathWidget [as 别名]
# 或者: from widgets.Qt4_data_path_widget.DataPathWidget import setEnabled [as 别名]
#.........这里部分代码省略.........
# Other ---------------------------------------------------------------
self.scan_actual_plot_widget.hide()
self.scan_result_plot_widget.hide()
def _prefix_ledit_change(self, new_value):
self.energy_scan_model.set_name(str(new_value))
self._tree_view_item.setText(0, self.energy_scan_model.get_name())
def _run_number_ledit_change(self, new_value):
if str(new_value).isdigit():
self.energy_scan_model.set_number(int(new_value))
self._tree_view_item.setText(0, self.energy_scan_model.get_name())
def tab_changed(self):
if self._tree_view_item:
self.populate_widget(self._tree_view_item)
def populate_widget(self, item):
self._tree_view_item = item
self.energy_scan_model = item.get_model()
executed = self.energy_scan_model.is_executed()
is_running = self.energy_scan_model.is_running()
self.data_path_widget.setDisabled(executed or is_running)
self.periodic_table_widget.setDisabled(executed or is_running)
#self.scan_actual_plot_widget.setEnabled()
#self.scan_actual_plot_widget.setEnabled(not executed)
#self.chooch_plot_widget.setEnabled(not executed)
width = self.data_path_widget.width() + \
self.snapshot_widget.width()
self.scan_actual_plot_widget.setFixedWidth(width)
self.scan_result_plot_widget.setFixedWidth(width)
self.chooch_plot_widget.setFixedWidth(width)
self.chooch_plot_widget.clear()
title = "Element: %s, Edge: %s" % (\
self.energy_scan_model.element_symbol,
self.energy_scan_model.edge)
if executed:
self.scan_actual_plot_widget.hide()
self.scan_result_plot_widget.show()
result = self.energy_scan_model.get_scan_result()
self.scan_result_plot_widget.plot_energy_scan_curve(result.data,
title)
self.chooch_plot_widget.plot_energy_scan_results(\
result.pk, result.fppPeak, result.fpPeak, result.ip,
result.fppInfl, result.fpInfl, result.rm,
result.chooch_graph_x, result.chooch_graph_y1,
result.chooch_graph_y2, result.title)
elif is_running:
self.scan_actual_plot_widget.show()
self.scan_result_plot_widget.hide()
else:
self.scan_actual_plot_widget.hide()
self.scan_result_plot_widget.show()
self.scan_result_plot_widget.clear()
self.data_path_widget.update_data_model(self.energy_scan_model.path_template)
self.periodic_table_widget.set_current_element_edge(\
self.energy_scan_model.element_symbol,
self.energy_scan_model.edge)
image = self.energy_scan_model.centred_position.snapshot_image
self.snapshot_widget.display_snapshot(image, width=400)
def element_clicked(self, symbol, energy):
self.energy_scan_model.element_symbol = symbol
self.energy_scan_model.edge = energy
def set_enegy_scan_hwobj(self, energy_scan_hwobj):
if self.energy_scan_hwobj is None:
self.energy_scan_hwobj = energy_scan_hwobj
self.energy_scan_hwobj.connect("energyScanStarted", self.energy_scan_started)
self.energy_scan_hwobj.connect("scanNewPoint", self.energy_scan_new_point)
self.energy_scan_hwobj.connect("choochFinished", self.chooch_finished)
def energy_scan_started(self, scan_info):
self.scan_actual_plot_widget.clear()
self.scan_actual_plot_widget.show()
self.scan_result_plot_widget.clear()
self.scan_result_plot_widget.hide()
self.chooch_plot_widget.clear()
self.scan_actual_plot_widget.start_new_scan(scan_info)
self.data_path_widget.setEnabled(False)
self.periodic_table_widget.setEnabled(False)
def energy_scan_new_point(self, x, y):
self.scan_actual_plot_widget.add_new_plot_value(x, y)
def chooch_finished(self, pk, fppPeak, fpPeak, ip, fppInfl, fpInfl, rm, \
chooch_graph_x, chooch_graph_y1, chooch_graph_y2, title):
self.chooch_plot_widget.plot_energy_scan_results(pk, fppPeak, fpPeak,
ip, fppInfl, fpInfl, rm, chooch_graph_x, chooch_graph_y1,
chooch_graph_y2, title)
self.scan_actual_plot_widget.plot_finished()
示例2: AdvancedParametersWidget
# 需要导入模块: from widgets.Qt4_data_path_widget import DataPathWidget [as 别名]
# 或者: from widgets.Qt4_data_path_widget.DataPathWidget import setEnabled [as 别名]
class AdvancedParametersWidget(QWidget):
def __init__(self, parent = None, name = "advanced_parameters_widget"):
QWidget.__init__(self, parent)
# Hardware objects ----------------------------------------------------
self._queue_model_hwobj = None
self._beamline_setup_hwobj = None
# Internal values -----------------------------------------------------
self._data_collection = None
self._tree_view_item = None
# Properties ----------------------------------------------------------
# Signals -------------------------------------------------------------
# Slots ---------------------------------------------------------------
# Graphic elements ----------------------------------------------------
_dc_parameters_widget = QWidget(self)
self._data_path_widget = DataPathWidget(_dc_parameters_widget)
self._acq_widget = AcquisitionWidget(_dc_parameters_widget,
layout = 'horizontal')
# Layout --------------------------------------------------------------
_dc_parameters_widget_layout = QVBoxLayout(_dc_parameters_widget)
_dc_parameters_widget_layout.addWidget(self._data_path_widget)
_dc_parameters_widget_layout.addWidget(self._acq_widget)
_dc_parameters_widget_layout.setSpacing(2)
_dc_parameters_widget_layout.addStretch(10)
_dc_parameters_widget_layout.setContentsMargins(0, 0, 0, 0)
_main_hlayout = QHBoxLayout(self)
_main_hlayout.addWidget(_dc_parameters_widget)
_main_hlayout.setSpacing(2)
_main_hlayout.setContentsMargins(2, 2, 2, 2)
_main_hlayout.addStretch(0)
# Qt signal/slot connections ------------------------------------------
#self._acq_widget.acqParametersChangedSignal.\
# connect(self.acq_parameters_changed)
#self._data_path_widget.pathTemplateChangedSignal.\
# connect(self.acq_parameters_changed)
self._acq_widget.madEnergySelectedSignal.connect(\
self.mad_energy_selected)
# Ohter ---------------------------------------------------------------
self._acq_widget.use_osc_start(False)
self._acq_widget.acq_widget_layout.mad_cbox.hide()
self._acq_widget.acq_widget_layout.energies_combo.hide()
self._acq_widget.acq_widget_layout.shutterless_cbx.hide()
def set_beamline_setup(self, bl_setup):
self._beamline_setup_hwobj = bl_setup
self._acq_widget.set_beamline_setup(bl_setup)
def mad_energy_selected(self, name, energy, state):
path_template = self._data_collection.acquisitions[0].path_template
if state:
path_template.mad_prefix = name
else:
path_template.mad_prefix = ''
run_number = self._beamline_setup_hwobj.queue_model_hwobj.\
get_next_run_number(path_template)
self._data_path_widget.set_run_number(run_number)
self._data_path_widget.set_prefix(path_template.base_prefix)
model = self._tree_view_item.get_model()
model.set_name(path_template.get_prefix())
self._tree_view_item.setText(0, model.get_name())
def tab_changed(self):
if self._tree_view_item:
self.populate_widget(self._tree_view_item)
def populate_widget(self, tree_view_item, data_collection):
self._tree_view_item = tree_view_item
self._data_collection = data_collection
#if isinstance(tree_view_item, Qt4_queue_item.XrayCenteringQueueItem):
# self._data_collection = tree_view_item.get_model().reference_image_collection
#else:
# self._data_collection = tree_view_item.get_model()
executed = self._data_collection.is_executed()
self._acq_widget.setEnabled(not executed)
self._data_path_widget.setEnabled(not executed)
self._acquisition_mib = DataModelInputBinder(self._data_collection.\
acquisitions[0].acquisition_parameters)
# The acq_widget sends a signal to the path_widget, and it relies
# on that both models upto date, we need to refactor this part
# so that both models are set before taking ceratin actions.
# This workaround, works for the time beeing.
self._data_path_widget._data_model = self._data_collection.\
acquisitions[0].path_template
self._data_path_widget.update_data_model(self._data_collection.\
#.........这里部分代码省略.........
示例3: XRFScanParametersWidget
# 需要导入模块: from widgets.Qt4_data_path_widget import DataPathWidget [as 别名]
# 或者: from widgets.Qt4_data_path_widget.DataPathWidget import setEnabled [as 别名]
#.........这里部分代码省略.........
_parameters_widget_layout = QtGui.QVBoxLayout(_parameters_widget)
_parameters_widget_layout.addWidget(self.data_path_widget)
_parameters_widget_layout.addWidget(self.other_parameters_gbox)
_parameters_widget_layout.addStretch(0)
_parameters_widget_layout.setSpacing(2)
_parameters_widget_layout.setContentsMargins(0, 0, 0, 0)
_snapshots_vlayout = QtGui.QVBoxLayout(_snapshot_widget)
_snapshots_vlayout.addWidget(self.position_widget)
_snapshots_vlayout.setContentsMargins(0, 0, 0, 0)
_snapshots_vlayout.setSpacing(2)
_snapshots_vlayout.addStretch(0)
_top_widget_layout = QtGui.QHBoxLayout(_top_widget)
_top_widget_layout.addWidget(_parameters_widget)
_top_widget_layout.addWidget(_snapshot_widget)
_top_widget_layout.setSpacing(2)
_top_widget_layout.setContentsMargins(0, 0, 0, 0)
_main_vlayout = QtGui.QVBoxLayout(self)
_main_vlayout.addWidget(_top_widget)
_main_vlayout.addWidget(self.mca_spectrum_widget)
_main_vlayout.setSpacing(2)
_main_vlayout.setContentsMargins(0, 0, 0, 0)
# SizePolicies -------------------------------------------------------
self.position_widget.setFixedSize(457, 350)
self.mca_spectrum_widget.setSizePolicy(QtGui.QSizePolicy.Expanding,
QtGui.QSizePolicy.Expanding)
_top_widget.setSizePolicy(QtGui.QSizePolicy.Expanding,
QtGui.QSizePolicy.Fixed)
# Qt signal/slot connections ------------------------------------------
self.data_path_widget.data_path_layout.prefix_ledit.\
textChanged.connect(self._prefix_ledit_change)
self.data_path_widget.data_path_layout.run_number_ledit.\
textChanged.connect(self._run_number_ledit_change)
self.count_time_ledit.textChanged.connect(self._count_time_ledit_change)
# Other ---------------------------------------------------------------
Qt4_widget_colors.set_widget_color(self.other_parameters_gbox,
Qt4_widget_colors.GROUP_BOX_GRAY)
Qt4_widget_colors.set_widget_color(self.data_path_widget,
Qt4_widget_colors.GROUP_BOX_GRAY)
Qt4_widget_colors.set_widget_color(self.position_widget,
Qt4_widget_colors.GROUP_BOX_GRAY)
def _prefix_ledit_change(self, new_value):
self.xrf_scan_model.set_name(str(new_value))
self._tree_view_item.setText(0, self.xrf_scan_model.get_display_name())
def _run_number_ledit_change(self, new_value):
if str(new_value).isdigit():
self.xrf_scan_model.set_number(int(new_value))
self._tree_view_item.setText(0, self.xrf_scan_model.get_display_name())
def _count_time_ledit_change(self, new_value):
if str(new_value).isdigit():
self.xrf_scan_model.set_count_time(float(new_value))
def tab_changed(self):
if self._tree_view_item:
self.populate_widget(self._tree_view_item)
def populate_widget(self, item):
self._tree_view_item = item
self.xrf_scan_model = item.get_model()
executed = self.xrf_scan_model.is_executed()
self.data_path_widget.setEnabled(not executed)
self.other_parameters_gbox.setEnabled(not executed)
self.mca_spectrum_widget.setEnabled(executed)
if executed:
result = self.xrf_scan_model.get_scan_result()
self.mca_spectrum_widget.setData(result.mca_data, result.mca_calib, result.mca_config)
else:
self.mca_spectrum_widget.clear()
self.data_path_widget.update_data_model(self.xrf_scan_model.path_template)
self.count_time_ledit.setText(str(self.xrf_scan_model.count_time))
image = self.xrf_scan_model.centred_position.snapshot_image
if image is not None:
try:
image = image.scaled(427, 320, QtCore.Qt.KeepAspectRatio)
self.position_widget.svideo.setPixmap(QtGui.QPixmap(image))
except:
pass
def set_xrf_scan_hwobj(self, xrf_scan_hwobj):
self.xrf_scan_hwobj = xrf_scan_hwobj
if self.xrf_scan_hwobj:
self.xrf_scan_hwobj.connect("xrfScanFinished", self.scan_finished)
def scan_finished(self, mcaData, mcaCalib, mcaConfig):
self.mca_spectrum_widget.setData(mcaData, mcaCalib, mcaConfig)
示例4: DCParametersWidget
# 需要导入模块: from widgets.Qt4_data_path_widget import DataPathWidget [as 别名]
# 或者: from widgets.Qt4_data_path_widget.DataPathWidget import setEnabled [as 别名]
#.........这里部分代码省略.........
def _prefix_ledit_change(self, new_value):
prefix = self._data_collection.acquisitions[0].\
path_template.get_prefix()
self._data_collection.set_name(prefix)
self._tree_view_item.setText(0, self._data_collection.get_name())
def _run_number_ledit_change(self, new_value):
if str(new_value).isdigit():
self._data_collection.set_number(int(new_value))
self._tree_view_item.setText(0, self._data_collection.get_name())
def acq_parameters_changed(self):
if self._tree_view_item is None:
#TODO fix this
return
dc_tree_widget = self._tree_view_item.listView().parent()
dc_tree_widget.check_for_path_collisions()
path_template = self._data_collection.acquisitions[0].path_template
path_conflict = self.queue_model_hwobj.\
check_for_path_collisions(path_template)
if new_value != '':
if path_conflict:
logging.getLogger("user_level_log").\
error('The current path settings will overwrite data' +\
' from another task. Correct the problem before collecting')
widget.setPaletteBackgroundColor(widget_colors.LIGHT_RED)
else:
widget.setPaletteBackgroundColor(widget_colors.WHITE)
def __add_data_collection(self):
return self.add_dc_cb(self._data_collection, self.collection_type)
def mad_energy_selected(self, name, energy, state):
path_template = self._data_collection.acquisitions[0].path_template
if state:
path_template.mad_prefix = name
else:
path_template.mad_prefix = ''
run_number = self._beamline_setup_hwobj.queue_model_hwobj.\
get_next_run_number(path_template)
self._data_path_widget.set_run_number(run_number)
self._data_path_widget.set_prefix(path_template.base_prefix)
model = self._tree_view_item.get_model()
model.set_name(path_template.get_prefix())
self._tree_view_item.setText(0, model.get_name())
def tab_changed(self):
if self._tree_view_item:
self.populate_parameter_widget(self._tree_view_item)
def set_enabled(self, state):
self._acq_widget.setEnabled(state)
self._data_path_widget.setEnabled(state)
self._processing_widget.setEnabled(state)
def populate_widget(self, item):
data_collection = item.get_model()
self._tree_view_item = item
self._data_collection = data_collection
self._acquisition_mib = DataModelInputBinder(self._data_collection.\
acquisitions[0].acquisition_parameters)
# The acq_widget sends a signal to the path_widget, and it relies
# on that both models upto date, we need to refactor this part
# so that both models are set before taking ceratin actions.
# This workaround, works for the time beeing.
self._data_path_widget._data_model = data_collection.acquisitions[0].path_template
self._acq_widget.set_energies(data_collection.crystal.energy_scan_result)
self._acq_widget.update_data_model(data_collection.acquisitions[0].\
acquisition_parameters,
data_collection.acquisitions[0].\
path_template)
self._data_path_widget.update_data_model(data_collection.\
acquisitions[0].path_template)
self._processing_widget.update_data_model(data_collection.\
processing_parameters)
if data_collection.acquisitions[0].acquisition_parameters.\
centred_position.snapshot_image:
image = data_collection.acquisitions[0].\
acquisition_parameters.centred_position.snapshot_image
ration = image.height() / float(image.width())
image = image.scaled(400, 400 * ration, QtCore.Qt.KeepAspectRatio)
self.position_widget.svideo.setPixmap(QtGui.QPixmap(image))
invalid = self._acquisition_mib.validate_all()
if invalid:
msg = "This data collection has one or more incorrect parameters,"+\
" correct the fields marked in red to solve the problem."
logging.getLogger("user_level_log").\
warning(msg)
示例5: EnergyScanParametersWidget
# 需要导入模块: from widgets.Qt4_data_path_widget import DataPathWidget [as 别名]
# 或者: from widgets.Qt4_data_path_widget.DataPathWidget import setEnabled [as 别名]
#.........这里部分代码省略.........
# Qt signal/slot connections ------------------------------------------
# qt.QObject.connect(self.periodic_table_widget, qt.PYSIGNAL('edgeSelected'),
# self.element_clicked)
self.data_path_widget.data_path_layout.prefix_ledit.textChanged.connect(self._prefix_ledit_change)
self.data_path_widget.data_path_layout.run_number_ledit.textChanged.connect(self._run_number_ledit_change)
# qt.QObject.connect(qt.qApp, qt.PYSIGNAL('tab_changed'),
# self.tab_changed)
# Other ---------------------------------------------------------------
Qt4_widget_colors.set_widget_color(self.periodic_table_widget, Qt4_widget_colors.GROUP_BOX_GRAY)
Qt4_widget_colors.set_widget_color(self.position_widget, Qt4_widget_colors.GROUP_BOX_GRAY)
Qt4_widget_colors.set_widget_color(self.data_path_widget, Qt4_widget_colors.GROUP_BOX_GRAY)
def _prefix_ledit_change(self, new_value):
self.energy_scan_model.set_name(str(new_value))
self._tree_view_item.setText(0, self.energy_scan_model.get_name())
def _run_number_ledit_change(self, new_value):
if str(new_value).isdigit():
self.energy_scan_model.set_number(int(new_value))
self._tree_view_item.setText(0, self.energy_scan_model.get_name())
def tab_changed(self):
if self._tree_view_item:
self.populate_widget(self._tree_view_item)
def populate_widget(self, item):
self._tree_view_item = item
self.energy_scan_model = item.get_model()
executed = self.energy_scan_model.is_executed()
self.data_path_widget.setEnabled(not executed)
self.periodic_table_widget.setEnabled(not executed)
self.scan_plot_widget.setEnabled(not executed)
self.result_plot_widget.setEnabled(not executed)
if executed:
result = self.energy_scan_model.get_scan_result()
self.scan_plot_widget.plot_scan_curve(result.data)
self.result_plot_widget.plot_results(
result.pk,
result.fppPeak,
result.fpPeak,
result.ip,
result.fppInfl,
result.fpInfl,
result.rm,
result.chooch_graph_x,
result.chooch_graph_y1,
result.chooch_graph_y2,
result.title,
)
else:
self.scan_plot_widget.clear()
self.result_plot_widget.clear()
self.data_path_widget.update_data_model(self.energy_scan_model.path_template)
self.periodic_table_widget.set_current_element_edge(
self.energy_scan_model.element_symbol, self.energy_scan_model.edge
)
image = self.energy_scan_model.centred_position.snapshot_image
if image is not None:
try:
image = image.scaled(427, 320, QtCore.Qt.KeepAspectRatio)
self.position_widget.svideo.setPixmap(QtGui.QPixmap(image))
except:
pass
def element_clicked(self, symbol, energy):
self.energy_scan_model.element_symbol = symbol
self.energy_scan_model.edge = energy
def set_enegy_scan_hwobj(self, energy_scan_hwobj):
self.energy_scan_hwobj = energy_scan_hwobj
if self.energy_scan_hwobj:
self.energy_scan_hwobj.connect("scanStart", self.scan_started)
self.energy_scan_hwobj.connect("scanNewPoint", self.scan_new_point)
self.energy_scan_hwobj.connect("choochFinished", self.chooch_finished)
def scan_started(self, scan_parameters):
self.scan_plot_widget.start_new_scan(scan_parameters)
self.data_path_widget.setEnabled(False)
self.periodic_table_widget.setEnabled(False)
def scan_new_point(self, x, y):
self.scan_plot_widget.add_new_plot_value(x, y)
def chooch_finished(
self, pk, fppPeak, fpPeak, ip, fppInfl, fpInfl, rm, chooch_graph_x, chooch_graph_y1, chooch_graph_y2, title
):
self.result_plot_widget.plot_results(
pk, fppPeak, fpPeak, ip, fppInfl, fpInfl, rm, chooch_graph_x, chooch_graph_y1, chooch_graph_y2, title
)
self.scan_plot_widget.plot_finished()
示例6: AdvancedParametersWidget
# 需要导入模块: from widgets.Qt4_data_path_widget import DataPathWidget [as 别名]
# 或者: from widgets.Qt4_data_path_widget.DataPathWidget import setEnabled [as 别名]
class AdvancedParametersWidget(QtGui.QWidget):
def __init__(self, parent = None, name = "advanced_parameters_widget"):
QtGui.QWidget.__init__(self, parent)
# Hardware objects ----------------------------------------------------
self._queue_model_hwobj = None
self._beamline_setup_hwobj = None
# Internal values -----------------------------------------------------
self._data_collection = None
self._tree_view_item = None
# Properties ----------------------------------------------------------
# Signals -------------------------------------------------------------
# Slots ---------------------------------------------------------------
# Graphic elements ----------------------------------------------------
_dc_parameters_widget = QtGui.QWidget(self)
self._data_path_widget = DataPathWidget(_dc_parameters_widget)
self._acq_widget = AcquisitionWidget(_dc_parameters_widget,
layout = 'horizontal')
#self._acq_widget.setFixedHeight(170)
_snapshot_widget = QtGui.QWidget(self)
self.position_widget = uic.loadUi(os.path.join(os.path.dirname(__file__),
'ui_files/Qt4_snapshot_widget_layout.ui'))
# Layout --------------------------------------------------------------
_dc_parameters_widget_layout = QtGui.QVBoxLayout(_dc_parameters_widget)
_dc_parameters_widget_layout.addWidget(self._data_path_widget)
_dc_parameters_widget_layout.addWidget(self._acq_widget)
_dc_parameters_widget_layout.setSpacing(2)
_dc_parameters_widget_layout.addStretch(10)
_dc_parameters_widget_layout.setContentsMargins(0, 0, 0, 0)
_snapshots_vlayout = QtGui.QVBoxLayout(_snapshot_widget)
_snapshots_vlayout.addWidget(self.position_widget)
_snapshots_vlayout.setContentsMargins(0, 0, 0, 0)
_snapshots_vlayout.setSpacing(2)
_snapshots_vlayout.addStretch(10)
_main_hlayout = QtGui.QHBoxLayout(self)
_main_hlayout.addWidget(_dc_parameters_widget)
_main_hlayout.addWidget(_snapshot_widget)
_main_hlayout.setSpacing(2)
_main_hlayout.setContentsMargins(2, 2, 2, 2)
_main_hlayout.addStretch(0)
# Qt signal/slot connections ------------------------------------------
self._data_path_widget.data_path_layout.prefix_ledit.textChanged.connect(
self._prefix_ledit_change)
self._data_path_widget.data_path_layout.run_number_ledit.textChanged.connect(
self._run_number_ledit_change)
self._acq_widget.madEnergySelectedSignal.connect(\
self.mad_energy_selected)
self._acq_widget.acqParametersChangedSignal.connect(\
self.handle_path_conflict)
# Ohter ---------------------------------------------------------------
self._acq_widget.use_osc_start(False)
self._acq_widget.acq_widget_layout.mad_cbox.hide()
self._acq_widget.acq_widget_layout.energies_combo.hide()
self._acq_widget.acq_widget_layout.num_images_ledit.setEnabled(False)
self._acq_widget.acq_widget_layout.inverse_beam_cbx.hide()
self._acq_widget.acq_widget_layout.shutterless_cbx.hide()
self._acq_widget.acq_widget_layout.subwedge_size_label.hide()
self._acq_widget.acq_widget_layout.subwedge_size_ledit.hide()
def set_beamline_setup(self, bl_setup):
self._beamline_setup_hwobj = bl_setup
self._acq_widget.set_beamline_setup(bl_setup)
def _prefix_ledit_change(self, new_value):
prefix = self._data_collection.acquisitions[0].\
path_template.get_prefix()
self._data_collection.set_name(prefix)
self._tree_view_item.setText(0, self._data_collection.get_name())
def _run_number_ledit_change(self, new_value):
if str(new_value).isdigit():
self._data_collection.set_number(int(new_value))
self._tree_view_item.setText(0, self._data_collection.get_name())
def handle_path_conflict(self):
if self._tree_view_item:
dc_tree_widget = self._tree_view_item.listView().parent()
dc_tree_widget.check_for_path_collisions()
path_template = self._data_collection.acquisitions[0].path_template
path_conflict = self.queue_model_hwobj.\
check_for_path_collisions(path_template)
if path_conflict:
logging.getLogger("user_level_log").\
error('The current path settings will overwrite data' +\
' from another task. Correct the problem before collecting')
Qt4_widget_colors.set_widget_color(widget, Qt4_widget_colors.LIGHT_RED)
else:
Qt4_widget_colors.set_widget_color(widget, Qt4_widget_colors.LIGHT_WHITE)
#.........这里部分代码省略.........
示例7: XRFSpectrumParametersWidget
# 需要导入模块: from widgets.Qt4_data_path_widget import DataPathWidget [as 别名]
# 或者: from widgets.Qt4_data_path_widget.DataPathWidget import setEnabled [as 别名]
class XRFSpectrumParametersWidget(QtGui.QWidget):
def __init__(self, parent = None, name = "xrf_spectrum_parameters_widget"):
QtGui.QWidget.__init__(self, parent)
if name is not None:
self.setObjectName(name)
# Hardware objects ----------------------------------------------------
self.xrf_spectrum_hwobj = None
# Internal variables --------------------------------------------------
self.xrf_spectrum_model = queue_model_objects.XRFSpectrum()
self._tree_view_item = None
# Graphic elements ----------------------------------------------------
_top_widget = QtGui.QWidget(self)
_parameters_widget = QtGui.QWidget(_top_widget)
self.data_path_widget = DataPathWidget(_parameters_widget)
self.other_parameters_gbox = QtGui.QGroupBox("Other parameters", _parameters_widget)
self.count_time_label = QtGui.QLabel("Count time:",
self.other_parameters_gbox)
self.count_time_ledit = QtGui.QLineEdit(self.other_parameters_gbox)
self.count_time_ledit.setFixedWidth(50)
self.adjust_transmission_cbox = QtGui.QCheckBox("Adjust transmission", \
self.other_parameters_gbox)
self.adjust_transmission_cbox.hide()
self.mca_spectrum_widget = McaSpectrumWidget(self)
self.snapshot_widget = SnapshotWidget(self)
# Layout -------------------------------------------------------------
_other_parameters_gbox_hlayout = QtGui.QHBoxLayout(self.other_parameters_gbox)
_other_parameters_gbox_hlayout.addWidget(self.count_time_label)
_other_parameters_gbox_hlayout.addWidget(self.count_time_ledit)
_other_parameters_gbox_hlayout.addWidget(self.adjust_transmission_cbox)
_other_parameters_gbox_hlayout.addStretch(0)
_other_parameters_gbox_hlayout.setSpacing(2)
_other_parameters_gbox_hlayout.setContentsMargins(0, 0, 0, 0)
_parameters_widget_layout = QtGui.QVBoxLayout(_parameters_widget)
_parameters_widget_layout.addWidget(self.data_path_widget)
_parameters_widget_layout.addWidget(self.other_parameters_gbox)
_parameters_widget_layout.addStretch(0)
_parameters_widget_layout.setSpacing(2)
_parameters_widget_layout.setContentsMargins(0, 0, 0, 0)
_top_widget_layout = QtGui.QHBoxLayout(_top_widget)
_top_widget_layout.addWidget(_parameters_widget)
_top_widget_layout.addWidget(self.snapshot_widget)
_top_widget_layout.setSpacing(2)
_top_widget_layout.addStretch(0)
_top_widget_layout.setContentsMargins(0, 0, 0, 0)
_main_vlayout = QtGui.QVBoxLayout(self)
_main_vlayout.addWidget(_top_widget)
_main_vlayout.addWidget(self.mca_spectrum_widget)
_main_vlayout.setSpacing(2)
_main_vlayout.setContentsMargins(0, 0, 0, 0)
# SizePolicies -------------------------------------------------------
self.mca_spectrum_widget.setSizePolicy(QtGui.QSizePolicy.Expanding,
QtGui.QSizePolicy.Expanding)
_top_widget.setSizePolicy(QtGui.QSizePolicy.Expanding,
QtGui.QSizePolicy.Fixed)
# Qt signal/slot connections ------------------------------------------
self.data_path_widget.data_path_layout.prefix_ledit.textChanged.\
connect(self._prefix_ledit_change)
self.data_path_widget.data_path_layout.run_number_ledit.textChanged.\
connect(self._run_number_ledit_change)
self.count_time_ledit.textChanged.connect(\
self._count_time_ledit_change)
# Other ---------------------------------------------------------------
def _prefix_ledit_change(self, new_value):
self.xrf_spectrum_model.set_name(str(new_value))
self._tree_view_item.setText(\
0, self.xrf_spectrum_model.get_display_name())
def _run_number_ledit_change(self, new_value):
if str(new_value).isdigit():
self.xrf_spectrum_model.set_number(int(new_value))
self._tree_view_item.setText(\
0, self.xrf_spectrum_model.get_display_name())
def _count_time_ledit_change(self, new_value):
if str(new_value).isdigit():
self.xrf_spectrum_model.set_count_time(float(new_value))
def tab_changed(self):
if self._tree_view_item:
self.populate_widget(self._tree_view_item)
def populate_widget(self, item):
self._tree_view_item = item
self.xrf_spectrum_model = item.get_model()
executed = self.xrf_spectrum_model.is_executed()
self.data_path_widget.setEnabled(not executed)
#.........这里部分代码省略.........
示例8: CreateAdvancedWidget
# 需要导入模块: from widgets.Qt4_data_path_widget import DataPathWidget [as 别名]
# 或者: from widgets.Qt4_data_path_widget.DataPathWidget import setEnabled [as 别名]
class CreateAdvancedWidget(CreateTaskBase):
"""Widget used to create advanced collection methods
"""
def __init__(self, parent=None,name=None, fl=0):
CreateTaskBase.__init__(self, parent, name,
Qt.WindowFlags(fl), 'Advanced')
if not name:
self.setObjectName("create_advanced_widget")
# Hardware objects ----------------------------------------------------
# Internal variables --------------------------------------------------
self.init_models()
self._advanced_methods = None
self._grid_map = {}
self.spacing = [0, 0]
self.dc_selected = False
# Graphic elements ----------------------------------------------------
self._advanced_methods_widget = loadUi(os.path.join(\
os.path.dirname(__file__), "ui_files/Qt4_advanced_methods_layout.ui"))
self._acq_widget = AcquisitionWidget(self, "acquisition_widget",
layout='vertical', acq_params=self._acquisition_parameters,
path_template=self._path_template)
self._acq_widget.grid_mode = True
self._data_path_widget = DataPathWidget(self, 'create_dc_path_widget',
data_model = self._path_template, layout = 'vertical')
# Layout --------------------------------------------------------------
_main_vlayout = QVBoxLayout(self)
_main_vlayout.addWidget(self._advanced_methods_widget)
_main_vlayout.addWidget(self._acq_widget)
_main_vlayout.addWidget(self._data_path_widget)
_main_vlayout.addStretch(0)
_main_vlayout.setSpacing(6)
_main_vlayout.setContentsMargins(2, 2, 2, 2)
# SizePolicies --------------------------------------------------------
# Qt signal/slot connections ------------------------------------------
self._acq_widget.acqParametersChangedSignal.\
connect(self.acq_parameters_changed)
self._acq_widget.madEnergySelectedSignal.\
connect(self.mad_energy_selected)
self._acq_widget.acq_widget_layout.osc_range_ledit.textEdited.connect(\
self.grid_osc_range_ledit_changed)
self._acq_widget.acq_widget_layout.osc_total_range_ledit.textEdited.connect(\
self.grid_osc_total_range_ledit_changed)
self._data_path_widget.pathTemplateChangedSignal.\
connect(self.path_template_changed)
self._advanced_methods_widget.grid_treewidget.itemSelectionChanged.\
connect(self.grid_treewidget_item_selection_changed)
self._advanced_methods_widget.draw_grid_button.clicked.\
connect(self.draw_grid_button_clicked)
self._advanced_methods_widget.remove_grid_button.clicked.\
connect(self.remove_grid_button_clicked)
self._advanced_methods_widget.hor_spacing_ledit.textEdited.\
connect(self.hor_spacing_changed)
self._advanced_methods_widget.ver_spacing_ledit.textEdited.\
connect(self.ver_spacing_changed)
self._advanced_methods_widget.move_right_button.clicked.\
connect(lambda : self.move_grid("right"))
self._advanced_methods_widget.move_left_button.clicked.\
connect(lambda : self.move_grid("left"))
self._advanced_methods_widget.move_up_button.clicked.\
connect(lambda : self.move_grid("up"))
self._advanced_methods_widget.move_down_button.clicked.\
connect(lambda : self.move_grid("down"))
self._advanced_methods_widget.overlay_cbox.toggled.\
connect(self.overlay_toggled)
self._advanced_methods_widget.overlay_slider.valueChanged.\
connect(self.overlay_alpha_changed)
self._advanced_methods_widget.overlay_color_button.clicked.\
connect(self.overlay_change_color)
self._advanced_methods_widget.move_to_grid_button.clicked.\
connect(self.move_to_grid)
# Other ---------------------------------------------------------------
self._acq_widget.use_osc_start(False)
self._acq_widget.use_kappa(False)
self._acq_widget.acq_widget_layout.num_images_label.setEnabled(False)
self._acq_widget.acq_widget_layout.num_images_ledit.setEnabled(False)
for col in range(self._advanced_methods_widget.\
grid_treewidget.columnCount()):
self._advanced_methods_widget.grid_treewidget.\
resizeColumnToContents(col)
self._acq_widget.acq_widget_layout.osc_total_range_label.setText(\
"Total osc. range per line")
#self.enable_widgets(False)
#.........这里部分代码省略.........
示例9: DCParametersWidget
# 需要导入模块: from widgets.Qt4_data_path_widget import DataPathWidget [as 别名]
# 或者: from widgets.Qt4_data_path_widget.DataPathWidget import setEnabled [as 别名]
#.........这里部分代码省略.........
_main_hlayout.addStretch(0)
# SizePolicies --------------------------------------------------------
# Qt signal/slot connections ------------------------------------------
self._data_path_widget.data_path_layout.prefix_ledit.textChanged.\
connect(self._prefix_ledit_change)
self._data_path_widget.data_path_layout.run_number_ledit.textChanged.\
connect(self._run_number_ledit_change)
self._acq_widget.madEnergySelectedSignal.\
connect(self.mad_energy_selected)
self._acq_widget.acqParametersChangedSignal.\
connect(self.acq_parameters_changed)
# Other ---------------------------------------------------------------
def set_beamline_setup(self, bl_setup):
self._acq_widget.set_beamline_setup(bl_setup)
self._beamline_setup_hwobj = bl_setup
def _prefix_ledit_change(self, new_value):
prefix = self._data_collection.acquisitions[0].\
path_template.get_prefix()
self._data_collection.set_name(prefix)
self._tree_view_item.setText(0, self._data_collection.get_name())
def _run_number_ledit_change(self, new_value):
if str(new_value).isdigit():
self._data_collection.set_number(int(new_value))
self._tree_view_item.setText(0, self._data_collection.get_name())
def acq_parameters_changed(self):
if self._tree_view_item is None:
#TODO fix this
return
dc_tree_widget = self._tree_view_item.listView().parent()
dc_tree_widget.check_for_path_collisions()
path_template = self._data_collection.acquisitions[0].path_template
path_conflict = self.queue_model_hwobj.\
check_for_path_collisions(path_template)
def __add_data_collection(self):
return self.add_dc_cb(self._data_collection, self.collection_type)
def mad_energy_selected(self, name, energy, state):
path_template = self._data_collection.acquisitions[0].path_template
if state:
path_template.mad_prefix = name
else:
path_template.mad_prefix = ''
run_number = self._beamline_setup_hwobj.queue_model_hwobj.\
get_next_run_number(path_template)
self._data_path_widget.set_run_number(run_number)
self._data_path_widget.set_prefix(path_template.base_prefix)
model = self._tree_view_item.get_model()
model.set_name(path_template.get_prefix())
self._tree_view_item.setText(0, model.get_name())
def tab_changed(self):
if self._tree_view_item:
self.populate_parameter_widget(self._tree_view_item)
def set_enabled(self, state):
self._acq_widget.setEnabled(state)
self._data_path_widget.setEnabled(state)
self._processing_widget.setEnabled(state)
def populate_widget(self, item):
data_collection = item.get_model()
self._tree_view_item = item
self._data_collection = data_collection
self._acquisition_mib = DataModelInputBinder(self._data_collection.\
acquisitions[0].acquisition_parameters)
# The acq_widget sends a signal to the path_widget, and it relies
# on that both models upto date, we need to refactor this part
# so that both models are set before taking ceratin actions.
# This workaround, works for the time beeing.
self._data_path_widget._data_model = data_collection.acquisitions[0].path_template
self._acq_widget.set_energies(data_collection.crystal.energy_scan_result)
self._acq_widget.update_data_model(data_collection.acquisitions[0].\
acquisition_parameters,
data_collection.acquisitions[0].\
path_template)
self._data_path_widget.update_data_model(data_collection.\
acquisitions[0].path_template)
self._processing_widget.update_data_model(data_collection.\
processing_parameters)
invalid = self._acquisition_mib.validate_all()
if invalid:
msg = "This data collection has one or more incorrect parameters,"+\
" correct the fields marked in red to solve the problem."
logging.getLogger("GUI").warning(msg)