本文整理汇总了Python中widgets.data_path_widget.DataPathWidget类的典型用法代码示例。如果您正苦于以下问题:Python DataPathWidget类的具体用法?Python DataPathWidget怎么用?Python DataPathWidget使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了DataPathWidget类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: ReferenceImageWidget
class ReferenceImageWidget(QWidget):
def __init__(self,parent = None,name = None,fl = 0):
QWidget.__init__(self,parent,name,fl)
if not name:
self.setName("ReferenceImageWidget")
self.main_layout = QVBoxLayout(self, 0, 4, "main_layout")
self.gbox = QVGroupBox(self, "group_box")
self.gbox.setTitle("Reference images")
self.tool_box = QToolBox(self.gbox, "tool_box")
self.page_layout = QVBox(self.tool_box, "page_layout")
self.page_layout.setSpacing(7)
self.path_widget = DataPathWidget(self.page_layout)
self.path_widget.setBackgroundMode(QWidget.PaletteBackground)
self.acq_gbox = QVGroupBox(self.page_layout)
self.acq_gbox.setInsideMargin(2)
self.acq_gbox.setTitle("Acquisition")
self.acq_widget = AcquisitionWidget(self.acq_gbox, 'horizontal')
self.acq_widget.setBackgroundMode(QWidget.PaletteBackground)
self.acq_widget.acq_widget_layout.child('inverse_beam_cbx').hide()
self.acq_widget.acq_widget_layout.child('shutterless_cbx').hide()
self.acq_widget.acq_widget_layout.child('subwedge_size_label').hide()
self.acq_widget.acq_widget_layout.child('subwedge_size_ledit').hide()
self.acq_widget.acq_widget_layout.setFixedHeight(160)
self.tool_box.addItem(self.page_layout, "Acquisition parameters")
self.main_layout.addWidget(self.gbox)
示例2: __init__
def __init__(self, parent=None, name=None, fl=0):
CreateTaskBase.__init__(self, parent, name, fl, 'Discrete')
if not name:
self.setName("create_discrete_widget")
self.previous_energy = None
self.init_models()
#
# Layout
#
v_layout = qt.QVBoxLayout(self, 2, 5, "v_layout")
self._acq_gbox = qt.QVGroupBox('Acquisition', self, 'acq_gbox')
self._acq_widget = \
AcquisitionWidget(self._acq_gbox,
"acquisition_widget",
layout='vertical',
acq_params=self._acquisition_parameters,
path_template=self._path_template)
self._data_path_gbox = qt.QVGroupBox('Data location',
self, 'data_path_gbox')
self._data_path_widget = \
DataPathWidget(self._data_path_gbox,
'create_dc_path_widget',
data_model=self._path_template,
layout=DataPathWidgetVerticalLayout)
self._processing_gbox = qt.QVGroupBox('Processing', self,
'processing_gbox')
self._processing_widget = \
ProcessingWidget(self._processing_gbox,
data_model=self._processing_parameters)
v_layout.addWidget(self._acq_gbox)
v_layout.addWidget(self._data_path_gbox)
v_layout.addWidget(self._processing_gbox)
v_layout.addStretch()
dp_layout = self._data_path_widget.data_path_widget_layout
self.connect(self._acq_widget, qt.PYSIGNAL('mad_energy_selected'),
self.mad_energy_selected)
self.connect(dp_layout.prefix_ledit,
qt.SIGNAL("textChanged(const QString &)"),
self._prefix_ledit_change)
self.connect(dp_layout.run_number_ledit,
qt.SIGNAL("textChanged(const QString &)"),
self._run_number_ledit_change)
self.connect(self._acq_widget,
qt.PYSIGNAL("path_template_changed"),
self.handle_path_conflict)
self.connect(self._data_path_widget,
qt.PYSIGNAL("path_template_changed"),
self.handle_path_conflict)
示例3: __init__
def __init__(self, parent = None, name = "xrf_scan_tab_widget"):
qt.QWidget.__init__(self, parent, name)
# Data Attributes
self.xrf_scan_hwobj = None
self.xrf_scan = queue_model_objects.XRFScan()
self._tree_view_item = None
self.data_path_widget = DataPathWidget(self)
#self.data_path_widget.setSizePolicy(qt.QSizePolicy.Expanding,qt.QSizePolicy.Fixed)
self.other_parameters_gbox = qt.QHGroupBox("Other parameters", self)
#self.other_parameters_gbox.setSizePolicy(qt.QSizePolicy.Expanding,qt.QSizePolicy.Fixed)
self.count_time_label = qt.QLabel("Count time:", self.other_parameters_gbox)
self.count_time_ledit = qt.QLineEdit(self.other_parameters_gbox,"count_time_ledit")
self.count_time_ledit.setFixedWidth(50)
spacer = qt.QWidget(self.other_parameters_gbox)
spacer.setSizePolicy(qt.QSizePolicy.Expanding,qt.QSizePolicy.Fixed)
widget_ui = os.path.join(os.path.dirname(__file__),
'ui_files/snapshot_widget_layout.ui')
widget = qtui.QWidgetFactory.create(widget_ui)
widget.reparent(self, qt.QPoint(0, 0))
self.position_widget = widget
self.position_widget.setFixedSize(457, 350)
#self.position_widget.setSizePolicy(qt.QSizePolicy.Fixed, qt.QSizePolicy.Fixed)
self.mca_spectrum = McaSpectrumBrick(self)
self.mca_spectrum.setSizePolicy(qt.QSizePolicy.Expanding,qt.QSizePolicy.Expanding)
self.mca_spectrum.setMinimumHeight(700)
v_layout = qt.QVBoxLayout(self)
rone_hlayout = qt.QHBoxLayout(v_layout)
rone_vlayout = qt.QVBoxLayout(rone_hlayout)
rone_sv_layout = qt.QVBoxLayout(rone_hlayout)
rone_vlayout.addWidget(self.data_path_widget)
rone_vlayout.addWidget(self.other_parameters_gbox)
rone_vlayout.addStretch()
rone_sv_layout.addWidget(self.position_widget)
rone_sv_layout.addStretch()
v_layout.addWidget(self.mca_spectrum)
v_layout.addStretch()
qt.QObject.connect(self.data_path_widget.data_path_widget_layout.child('prefix_ledit'),
qt.SIGNAL("textChanged(const QString &)"),
self._prefix_ledit_change)
qt.QObject.connect(self.data_path_widget.data_path_widget_layout.child('run_number_ledit'),
qt.SIGNAL("textChanged(const QString &)"),
self._run_number_ledit_change)
qt.QObject.connect(self.count_time_ledit,
qt.SIGNAL("textChanged(const QString &)"),
self._count_time_ledit_change)
qt.QObject.connect(qt.qApp, qt.PYSIGNAL('tab_changed'),
self.tab_changed)
示例4: __init__
def __init__(self, parent=None, name=None, fl=0):
CreateTaskBase.__init__(self, parent, name, fl, "XRF-spectrum")
self.count_time = None
# Data attributes
self.init_models()
xrfspectrum_model = queue_model_objects.XRFSpectrum()
self.xrfspectrum_mib = DataModelInputBinder(xrfspectrum_model)
# Layout
v_layout = qt.QVBoxLayout(self, 2, 6, "main_v_layout")
self._data_path_gbox = qt.QVGroupBox("Data location", self, "data_path_gbox")
self._data_path_widget = DataPathWidget(
self._data_path_gbox, data_model=self._path_template, layout="vertical"
)
parameters_hor_gbox = qt.QHGroupBox("Parameters", self)
self.count_time_label = qt.QLabel("Count time", parameters_hor_gbox)
self.count_time_label.setFixedWidth(83)
self.count_time_ledit = qt.QLineEdit(
"1.0", parameters_hor_gbox, "count_time_ledit"
)
self.count_time_ledit.setFixedWidth(50)
self.xrfspectrum_mib.bind_value_update(
"count_time", self.count_time_ledit, float
) # ,
spacer = qt.QWidget(parameters_hor_gbox)
spacer.setSizePolicy(qt.QSizePolicy.Expanding, qt.QSizePolicy.Fixed)
v_layout.addWidget(self._data_path_gbox)
v_layout.addWidget(parameters_hor_gbox)
v_layout.addStretch()
self.connect(
self._data_path_widget.data_path_widget_layout.child("run_number_ledit"),
qt.SIGNAL("textChanged(const QString &)"),
self._run_number_ledit_change,
)
self.connect(
self._data_path_widget.data_path_widget_layout.child("prefix_ledit"),
qt.SIGNAL("textChanged(const QString &)"),
self._prefix_ledit_change,
)
self.connect(
self._data_path_widget,
qt.PYSIGNAL("path_template_changed"),
self.handle_path_conflict,
)
示例5: __init__
def __init__(self, parent=None, name=None, fl=0):
CreateTaskBase.__init__(self, parent, name, fl, "Workflow")
# Data attributes
self.workflow_hwobj = None
self.workflows = {}
self.init_models()
# Layout
v_layout = qt.QVBoxLayout(self, 2, 5, "main_v_layout")
self._workflow_type_gbox = qt.QVGroupBox(
"Workflow type", self, "workflow_rtype"
)
self._workflow_cbox = qt.QComboBox(self._workflow_type_gbox)
self._data_path_gbox = qt.QVGroupBox("Data location", self, "data_path_gbox")
self._data_path_widget = DataPathWidget(
self._data_path_gbox, data_model=self._path_template, layout="vertical"
)
self._data_path_widget.data_path_widget_layout.child("file_name_label").setText(
""
)
self._data_path_widget.data_path_widget_layout.child(
"file_name_value_label"
).hide()
# self._grid_widget = MxLookupScanBrick.MxLookupScanBrick(self, 'grid_widget')
v_layout.addWidget(self._workflow_type_gbox)
v_layout.addWidget(self._data_path_gbox)
# v_layout.addWidget(self._grid_widget)
v_layout.addStretch()
self.connect(
self._data_path_widget.data_path_widget_layout.child("prefix_ledit"),
qt.SIGNAL("textChanged(const QString &)"),
self._prefix_ledit_change,
)
self.connect(
self._data_path_widget.data_path_widget_layout.child("run_number_ledit"),
qt.SIGNAL("textChanged(const QString &)"),
self._run_number_ledit_change,
)
self.connect(
self._data_path_widget,
qt.PYSIGNAL("path_template_changed"),
self.handle_path_conflict,
)
示例6: __init__
def __init__(self, parent=None, name="energy_scan_tab_widget"):
qt.QWidget.__init__(self, parent, name)
# Data Attributes
self.energy_scan = queue_model_objects.EnergyScan()
self._tree_view_item = None
# Layout
h_layout = qt.QHBoxLayout(self, 0, 0, "main_v_layout")
col_one_vlayout = qt.QVBoxLayout(h_layout, 0, "row_one")
periodic_table_gbox = qt.QHGroupBox("Available Elements", self)
self.periodic_table = PeriodicTableBrick(periodic_table_gbox)
# QPeriodicTable.QPeriodicTable(periodic_table_gbox)
self.periodic_table.setFixedHeight(341)
self.periodic_table.setFixedWidth(650)
# font = periodic_table.font()
# font.setPointSize(8)
# periodic_table.setFont(font)
# scan_plot_gbox = qt.QHGroupBox("Scan plot", self)
# spec_scan_plot_brick = SpecScanPlotBrick(scan_plot_gbox)
self.data_path_widget = DataPathWidget(self)
self.data_path_widget.data_path_widget_layout.child("file_name_label").setText(
""
)
self.data_path_widget.data_path_widget_layout.child(
"file_name_value_label"
).hide()
col_one_vlayout.add(periodic_table_gbox)
col_one_vlayout.add(self.data_path_widget)
col_one_vlayout.addStretch(10)
qt.QObject.connect(
self.periodic_table, qt.PYSIGNAL("edgeSelected"), self.element_clicked
)
qt.QObject.connect(
self.data_path_widget.data_path_widget_layout.child("prefix_ledit"),
qt.SIGNAL("textChanged(const QString &)"),
self._prefix_ledit_change,
)
qt.QObject.connect(
self.data_path_widget.data_path_widget_layout.child("run_number_ledit"),
qt.SIGNAL("textChanged(const QString &)"),
self._run_number_ledit_change,
)
qt.QObject.connect(qt.qApp, qt.PYSIGNAL("tab_changed"), self.tab_changed)
示例7: __init__
def __init__(self, parent=None, name=None, fl=0):
CreateTaskBase.__init__(self, parent, name, fl, "Energy-scan")
# Data attributes
self.init_models()
# Layout
v_layout = qt.QVBoxLayout(self, 2, 5, "main_v_layout")
h_box = qt.QHGroupBox("Available elements", self)
self.periodic_table = PeriodicTableBrick(h_box)
font = self.periodic_table.font()
font.setPointSize(8)
self.periodic_table.setFont(font)
h_box.setMaximumWidth(470)
h_box.setMaximumHeight(310)
self._data_path_gbox = qt.QVGroupBox("Data location", self, "data_path_gbox")
self._data_path_widget = DataPathWidget(
self._data_path_gbox, data_model=self._path_template, layout="vertical"
)
v_layout.addWidget(h_box)
v_layout.addWidget(self._data_path_gbox)
v_layout.addStretch()
self.connect(
self._data_path_widget.data_path_widget_layout.child("prefix_ledit"),
qt.SIGNAL("textChanged(const QString &)"),
self._prefix_ledit_change,
)
self.connect(
self._data_path_widget.data_path_widget_layout.child("run_number_ledit"),
qt.SIGNAL("textChanged(const QString &)"),
self._run_number_ledit_change,
)
self.connect(
self._data_path_widget,
qt.PYSIGNAL("path_template_changed"),
self.handle_path_conflict,
)
qt.QObject.connect(
self.periodic_table, qt.PYSIGNAL("edgeSelected"), self.element_clicked
)
示例8: __init__
def __init__(self, parent = None, name = None, fl = 0):
CreateTaskBase.__init__(self, parent, name, fl, 'Workflow')
# Data attributes
self.workflow_hwobj = None
self.workflows = {}
self.init_models()
#Layout
v_layout = qt.QVBoxLayout(self, 2, 5, "main_v_layout")
self._workflow_type_gbox = qt.QVGroupBox('Workflow type', self,
'workflow_rtype')
self._workflow_cbox = qt.QComboBox(self._workflow_type_gbox)
self._data_path_gbox = qt.QVGroupBox('Data location', self,
'data_path_gbox')
self._data_path_widget = DataPathWidget(self._data_path_gbox,
data_model = self._path_template,
layout = DataPathWidgetVerticalLayout)
self._data_path_widget.data_path_widget_layout.file_name_label.setText('')
self._data_path_widget.data_path_widget_layout.file_name_value_label.hide()
self._grid_widget = MxLookupScanBrick.\
MxLookupScanBrick(self, 'grid_widget')
v_layout.addWidget(self._workflow_type_gbox)
v_layout.addWidget(self._data_path_gbox)
v_layout.addWidget(self._grid_widget)
v_layout.addStretch()
self.connect(self._data_path_widget.data_path_widget_layout.prefix_ledit,
qt.SIGNAL("textChanged(const QString &)"),
self._prefix_ledit_change)
self.connect(self._data_path_widget.data_path_widget_layout.run_number_ledit,
qt.SIGNAL("textChanged(const QString &)"),
self._run_number_ledit_change)
self.connect(self._data_path_widget,
qt.PYSIGNAL("path_template_changed"),
self.handle_path_conflict)
示例9: __init__
def __init__(self, parent = None, name = None, fl = 0):
CreateTaskBase.__init__(self, parent, name, fl, 'Energy-scan')
# Data attributes
self.init_models()
#Layout
v_layout = qt.QVBoxLayout(self, 2, 5, "main_v_layout")
h_box = qt.QHGroupBox('Available elements', self)
self.periodic_table = PeriodicTableBrick(h_box)
font = self.periodic_table.font()
font.setPointSize(8)
self.periodic_table.setFont(font)
h_box.setMaximumWidth(454)
h_box.setMaximumHeight(300)
self._data_path_gbox = qt.QVGroupBox('Data location', self, 'data_path_gbox')
self._data_path_widget = DataPathWidget(self._data_path_gbox,
data_model = self._path_template,
layout = DataPathWidgetVerticalLayout)
v_layout.addWidget(h_box)
v_layout.addWidget(self._data_path_gbox)
v_layout.addStretch()
self.connect(self._data_path_widget.data_path_widget_layout.prefix_ledit,
qt.SIGNAL("textChanged(const QString &)"),
self._prefix_ledit_change)
self.connect(self._data_path_widget.data_path_widget_layout.run_number_ledit,
qt.SIGNAL("textChanged(const QString &)"),
self._run_number_ledit_change)
self.connect(self._data_path_widget,
qt.PYSIGNAL("path_template_changed"),
self.handle_path_conflict)
示例10: CreateWorkflowWidget
class CreateWorkflowWidget(CreateTaskBase):
def __init__(self, parent = None, name = None, fl = 0):
CreateTaskBase.__init__(self, parent, name, fl, 'Workflow')
# Data attributes
self.workflow_hwobj = None
self.workflows = {}
self.init_models()
#Layout
v_layout = qt.QVBoxLayout(self, 2, 5, "main_v_layout")
self._workflow_type_gbox = qt.QVGroupBox('Workflow type', self,
'workflow_rtype')
self._workflow_cbox = qt.QComboBox(self._workflow_type_gbox)
self._data_path_gbox = qt.QVGroupBox('Data location', self,
'data_path_gbox')
self._data_path_widget = DataPathWidget(self._data_path_gbox,
data_model = self._path_template,
layout = 'vertical')
self._data_path_widget.data_path_widget_layout.child('file_name_label').setText('')
self._data_path_widget.data_path_widget_layout.child('file_name_value_label').hide()
#self._grid_widget = MxLookupScanBrick.MxLookupScanBrick(self, 'grid_widget')
v_layout.addWidget(self._workflow_type_gbox)
v_layout.addWidget(self._data_path_gbox)
#v_layout.addWidget(self._grid_widget)
v_layout.addStretch()
self.connect(self._data_path_widget.data_path_widget_layout.child('prefix_ledit'),
qt.SIGNAL("textChanged(const QString &)"),
self._prefix_ledit_change)
self.connect(self._data_path_widget.data_path_widget_layout.child('run_number_ledit'),
qt.SIGNAL("textChanged(const QString &)"),
self._run_number_ledit_change)
self.connect(self._data_path_widget,
qt.PYSIGNAL("path_template_changed"),
self.handle_path_conflict)
def set_workflow(self, workflow_hwobj):
self._workflow_hwobj = workflow_hwobj
self.workflows.clear()
self._workflow_cbox.clear()
if self._workflow_hwobj is not None:
for workflow in self._workflow_hwobj.get_available_workflows():
self._workflow_cbox.insertItem(workflow['name'])
self.workflows[workflow['name']] = workflow
def set_shape_history(self, shape_history_hwobj):
pass
#self._grid_widget._shape_history = shape_history_hwobj
#motor = self._beamline_setup_hwobj.\
# getObjectByRole('horizontal_motors')
#self._grid_widget.initialize_motors('horizontal', motor)
#motor = self._beamline_setup_hwobj.\
# getObjectByRole('vertical_motors')
#self._grid_widget.initialize_motors('vertical', motor)
def init_models(self):
CreateTaskBase.init_models(self)
def single_item_selection(self, tree_item):
CreateTaskBase.single_item_selection(self, tree_item)
wf_model = tree_item.get_model()
if isinstance(tree_item, queue_item.GenericWorkflowQueueItem):
if tree_item.get_model().is_executed():
self.setDisabled(True)
else:
self.setDisabled(False)
if wf_model.get_path_template():
self._path_template = wf_model.get_path_template()
self._data_path_widget.update_data_model(self._path_template)
elif not(isinstance(tree_item, queue_item.SampleQueueItem) or \
isinstance(tree_item, queue_item.DataCollectionGroupQueueItem)):
self.setDisabled(True)
def approve_creation(self):
return CreateTaskBase.approve_creation(self)
# Called by the owning widget (task_toolbox_widget) to create
# a collection. When a data collection group is selected.
def _create_task(self, sample, shape):
#.........这里部分代码省略.........
示例11: __init__
def __init__(self, parent=None, name=None, fl=0):
CreateTaskBase.__init__(self, parent, name, fl, "Standard")
if not name:
self.setName("create_discrete_widget")
self.previous_energy = None
self.init_models()
#
# Layout
#
v_layout = qt.QVBoxLayout(self, 2, 5, "v_layout")
self._acq_gbox = qt.QVGroupBox("Acquisition", self, "acq_gbox")
self._acq_widget = AcquisitionWidget(
self._acq_gbox,
"acquisition_widget",
layout="vertical",
acq_params=self._acquisition_parameters,
path_template=self._path_template,
)
self._data_path_gbox = qt.QVGroupBox("Data location", self, "data_path_gbox")
self._data_path_widget = DataPathWidget(
self._data_path_gbox,
"create_dc_path_widget",
data_model=self._path_template,
layout="vertical",
)
self._processing_gbox = qt.QVGroupBox("Processing", self, "processing_gbox")
self._processing_widget = ProcessingWidget(
self._processing_gbox, data_model=self._processing_parameters
)
v_layout.addWidget(self._acq_gbox)
v_layout.addWidget(self._data_path_gbox)
v_layout.addWidget(self._processing_gbox)
v_layout.addStretch()
dp_layout = self._data_path_widget.data_path_widget_layout
self.connect(
self._acq_widget,
qt.PYSIGNAL("mad_energy_selected"),
self.mad_energy_selected,
)
self.connect(
dp_layout.child("prefix_ledit"),
qt.SIGNAL("textChanged(const QString &)"),
self._prefix_ledit_change,
)
self.connect(
dp_layout.child("run_number_ledit"),
qt.SIGNAL("textChanged(const QString &)"),
self._run_number_ledit_change,
)
self.connect(
self._acq_widget,
qt.PYSIGNAL("path_template_changed"),
self.handle_path_conflict,
)
self.connect(
self._data_path_widget,
qt.PYSIGNAL("path_template_changed"),
self.handle_path_conflict,
)
示例12: CreateDiscreteWidget
class CreateDiscreteWidget(CreateTaskBase):
def __init__(self, parent=None, name=None, fl=0):
CreateTaskBase.__init__(self, parent, name, fl, "Standard")
if not name:
self.setName("create_discrete_widget")
self.previous_energy = None
self.init_models()
#
# Layout
#
v_layout = qt.QVBoxLayout(self, 2, 5, "v_layout")
self._acq_gbox = qt.QVGroupBox("Acquisition", self, "acq_gbox")
self._acq_widget = AcquisitionWidget(
self._acq_gbox,
"acquisition_widget",
layout="vertical",
acq_params=self._acquisition_parameters,
path_template=self._path_template,
)
self._data_path_gbox = qt.QVGroupBox("Data location", self, "data_path_gbox")
self._data_path_widget = DataPathWidget(
self._data_path_gbox,
"create_dc_path_widget",
data_model=self._path_template,
layout="vertical",
)
self._processing_gbox = qt.QVGroupBox("Processing", self, "processing_gbox")
self._processing_widget = ProcessingWidget(
self._processing_gbox, data_model=self._processing_parameters
)
v_layout.addWidget(self._acq_gbox)
v_layout.addWidget(self._data_path_gbox)
v_layout.addWidget(self._processing_gbox)
v_layout.addStretch()
dp_layout = self._data_path_widget.data_path_widget_layout
self.connect(
self._acq_widget,
qt.PYSIGNAL("mad_energy_selected"),
self.mad_energy_selected,
)
self.connect(
dp_layout.child("prefix_ledit"),
qt.SIGNAL("textChanged(const QString &)"),
self._prefix_ledit_change,
)
self.connect(
dp_layout.child("run_number_ledit"),
qt.SIGNAL("textChanged(const QString &)"),
self._run_number_ledit_change,
)
self.connect(
self._acq_widget,
qt.PYSIGNAL("path_template_changed"),
self.handle_path_conflict,
)
self.connect(
self._data_path_widget,
qt.PYSIGNAL("path_template_changed"),
self.handle_path_conflict,
)
def init_models(self):
CreateTaskBase.init_models(self)
self._energy_scan_result = queue_model_objects.EnergyScanResult()
self._processing_parameters = queue_model_objects.ProcessingParameters()
def set_tunable_energy(self, state):
self._acq_widget.set_tunable_energy(state)
def update_processing_parameters(self, crystal):
self._processing_parameters.space_group = crystal.space_group
self._processing_parameters.cell_a = crystal.cell_a
self._processing_parameters.cell_alpha = crystal.cell_alpha
self._processing_parameters.cell_b = crystal.cell_b
self._processing_parameters.cell_beta = crystal.cell_beta
self._processing_parameters.cell_c = crystal.cell_c
self._processing_parameters.cell_gamma = crystal.cell_gamma
self._processing_widget.update_data_model(self._processing_parameters)
def mad_energy_selected(self, name, energy, state):
item = self._current_selected_items[0]
model = item.get_model()
if state:
self._path_template.mad_prefix = name
else:
self._path_template.mad_prefix = ""
#.........这里部分代码省略.........
示例13: __init__
def __init__(self,parent = None,name = None, fl = 0):
CreateTaskBase.__init__(self, parent, name, fl, 'Characterisation')
if not name:
self.setName("create_char_widget")
#
# Data attributes
#
self._current_selected_item = None
self.init_models()
self._char_params_mib = DataModelInputBinder(self._char_params)
#
# Layout
#
v_layout = qt.QVBoxLayout(self, 2, 6, "v_layout")
self._acq_widget = \
AcquisitionWidgetSimple(self, acq_params = self._acquisition_parameters,
path_template = self._path_template)
current_dir = os.path.dirname(__file__)
ui_file = 'ui_files/vertical_crystal_dimension_widget_layout.ui'
widget = qtui.QWidgetFactory.\
create(os.path.join(current_dir, ui_file))
widget.reparent(self, qt.QPoint(0,0))
self._vertical_dimension_widget = widget
ui_file = 'ui_files/characterise_simple_widget_vertical_layout.ui'
widget = qtui.QWidgetFactory.\
create(os.path.join(current_dir, ui_file))
widget.reparent(self, qt.QPoint(0,0))
self._char_widget = widget
self._data_path_gbox = \
qt.QVGroupBox('Data location', self, 'data_path_gbox')
self._data_path_widget = \
DataPathWidget(self._data_path_gbox,
data_model = self._path_template,
layout = DataPathWidgetVerticalLayout)
v_layout.addWidget(self._acq_widget)
v_layout.addWidget(self._char_widget)
v_layout.addWidget(self._vertical_dimension_widget)
v_layout.addWidget(self._data_path_gbox)
v_layout.addStretch(10)
#
# Logic
#
optimised_sad_cbx = self._char_widget.\
child('optimised_sad_cbx')
account_rad_dmg_cbx = self._char_widget.\
child('account_rad_dmg_cbx')
start_comp_cbox = self._char_widget.child('start_comp_cbox')
induced_burn_cbx = self._char_widget.child('induced_burn_cbx')
max_vdim_ledit = self._vertical_dimension_widget.\
child('max_vdim_ledit')
min_vdim_ledit = self._vertical_dimension_widget.\
child('min_vdim_ledit')
min_vphi_ledit = self._vertical_dimension_widget.\
child('min_vphi_ledit')
max_vphi_ledit = self._vertical_dimension_widget.\
child('max_vphi_ledit')
space_group_ledit = self._vertical_dimension_widget.\
child('space_group_ledit')
self._char_params_mib.bind_value_update('opt_sad',
optimised_sad_cbx,
bool, None)
self._char_params_mib.bind_value_update('account_rad_damage',
account_rad_dmg_cbx,
bool, None)
self._char_params_mib.bind_value_update('determine_rad_params',
induced_burn_cbx,
bool, None)
self._char_params_mib.bind_value_update('strategy_complexity',
start_comp_cbox,
int, None)
self._char_params_mib.\
bind_value_update('max_crystal_vdim',
max_vdim_ledit, float,
qt.QDoubleValidator(0.0, 1000, 2, self))
self._char_params_mib.\
bind_value_update('min_crystal_vdim',
min_vdim_ledit, float,
qt.QDoubleValidator(0.0, 1000, 2, self))
#.........这里部分代码省略.........
示例14: XRFSpectrumParametersWidget
class XRFSpectrumParametersWidget(qt.QWidget):
def __init__(self, parent=None, name="xrf_spectrum_tab_widget"):
qt.QWidget.__init__(self, parent, name)
# Data Attributes
self.xrf_spectrum_hwobj = None
self.xrf_spectrum = queue_model_objects.XRFSpectrum()
self._tree_view_item = None
self.data_path_widget = DataPathWidget(self)
self.other_parameters_gbox = qt.QHGroupBox("Other parameters", self)
self.count_time_label = qt.QLabel("Count time:", self.other_parameters_gbox)
self.count_time_ledit = qt.QLineEdit(
self.other_parameters_gbox, "count_time_ledit"
)
self.count_time_ledit.setFixedWidth(50)
spacer = qt.QWidget(self.other_parameters_gbox)
spacer.setSizePolicy(qt.QSizePolicy.Expanding, qt.QSizePolicy.Fixed)
widget_ui = os.path.join(
os.path.dirname(__file__), "ui_files/snapshot_widget_layout.ui"
)
widget = qtui.QWidgetFactory.create(widget_ui)
widget.reparent(self, qt.QPoint(0, 0))
self.position_widget = widget
self.position_widget.setFixedSize(457, 350)
# self.position_widget.setSizePolicy(qt.QSizePolicy.Fixed, qt.QSizePolicy.Fixed)
self.mca_spectrum = McaSpectrumBrick(self)
self.mca_spectrum.setSizePolicy(
qt.QSizePolicy.Expanding, qt.QSizePolicy.Expanding
)
self.mca_spectrum.setMinimumHeight(700)
v_layout = qt.QVBoxLayout(self)
rone_hlayout = qt.QHBoxLayout(v_layout)
rone_vlayout = qt.QVBoxLayout(rone_hlayout)
rone_sv_layout = qt.QVBoxLayout(rone_hlayout)
rone_vlayout.addWidget(self.data_path_widget)
rone_vlayout.addWidget(self.other_parameters_gbox)
rone_vlayout.addStretch()
rone_sv_layout.addWidget(self.position_widget)
rone_sv_layout.addStretch()
v_layout.addWidget(self.mca_spectrum)
v_layout.addStretch()
qt.QObject.connect(
self.data_path_widget.data_path_widget_layout.child("prefix_ledit"),
qt.SIGNAL("textChanged(const QString &)"),
self._prefix_ledit_change,
)
qt.QObject.connect(
self.data_path_widget.data_path_widget_layout.child("run_number_ledit"),
qt.SIGNAL("textChanged(const QString &)"),
self._run_number_ledit_change,
)
qt.QObject.connect(
self.count_time_ledit,
qt.SIGNAL("textChanged(const QString &)"),
self._count_time_ledit_change,
)
qt.QObject.connect(qt.qApp, qt.PYSIGNAL("tab_changed"), self.tab_changed)
def _prefix_ledit_change(self, new_value):
self.xrf_spectrum.set_name(str(new_value))
self._tree_view_item.setText(0, self.xrf_spectrum.get_display_name())
def _run_number_ledit_change(self, new_value):
if str(new_value).isdigit():
self.xrf_spectrum.set_number(int(new_value))
self._tree_view_item.setText(0, self.xrf_spectrum.get_display_name())
def _count_time_ledit_change(self, new_value):
if str(new_value).isdigit():
self.xrf_spectrum.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 = item.get_model()
self.data_path_widget.update_data_model(self.xrf_spectrum.path_template)
self.count_time_ledit.setText(str(self.xrf_spectrum.count_time))
executed = self.xrf_spectrum.is_executed()
self.data_path_widget.setEnabled(not executed)
self.other_parameters_gbox.setEnabled(not executed)
self.mca_spectrum.setEnabled(executed)
image = self.xrf_spectrum.centred_position.snapshot_image
#.........这里部分代码省略.........
示例15: CreateXRFSpectrumWidget
class CreateXRFSpectrumWidget(CreateTaskBase):
def __init__(self, parent=None, name=None, fl=0):
CreateTaskBase.__init__(self, parent, name, fl, "XRF-spectrum")
self.count_time = None
# Data attributes
self.init_models()
xrfspectrum_model = queue_model_objects.XRFSpectrum()
self.xrfspectrum_mib = DataModelInputBinder(xrfspectrum_model)
# Layout
v_layout = qt.QVBoxLayout(self, 2, 6, "main_v_layout")
self._data_path_gbox = qt.QVGroupBox("Data location", self, "data_path_gbox")
self._data_path_widget = DataPathWidget(
self._data_path_gbox, data_model=self._path_template, layout="vertical"
)
parameters_hor_gbox = qt.QHGroupBox("Parameters", self)
self.count_time_label = qt.QLabel("Count time", parameters_hor_gbox)
self.count_time_label.setFixedWidth(83)
self.count_time_ledit = qt.QLineEdit(
"1.0", parameters_hor_gbox, "count_time_ledit"
)
self.count_time_ledit.setFixedWidth(50)
self.xrfspectrum_mib.bind_value_update(
"count_time", self.count_time_ledit, float
) # ,
spacer = qt.QWidget(parameters_hor_gbox)
spacer.setSizePolicy(qt.QSizePolicy.Expanding, qt.QSizePolicy.Fixed)
v_layout.addWidget(self._data_path_gbox)
v_layout.addWidget(parameters_hor_gbox)
v_layout.addStretch()
self.connect(
self._data_path_widget.data_path_widget_layout.child("run_number_ledit"),
qt.SIGNAL("textChanged(const QString &)"),
self._run_number_ledit_change,
)
self.connect(
self._data_path_widget.data_path_widget_layout.child("prefix_ledit"),
qt.SIGNAL("textChanged(const QString &)"),
self._prefix_ledit_change,
)
self.connect(
self._data_path_widget,
qt.PYSIGNAL("path_template_changed"),
self.handle_path_conflict,
)
def init_models(self):
CreateTaskBase.init_models(self)
self._path_template.start_num = 1
self._path_template.num_files = 1
self._path_template.suffix = "raw"
def single_item_selection(self, tree_item):
CreateTaskBase.single_item_selection(self, tree_item)
if isinstance(tree_item, queue_item.XRFSpectrumQueueItem):
xrfspectrum_model = tree_item.get_model()
self.xrfspectrum_mib.set_model(xrfspectrum_model)
if xrfspectrum_model.is_executed():
self.setDisabled(True)
else:
self.setDisabled(False)
if xrfspectrum_model.get_path_template():
self._path_template = xrfspectrum_model.get_path_template()
self._data_path_widget.update_data_model(self._path_template)
elif isinstance(tree_item, queue_item.BasketQueueItem):
self.setDisabled(False)
elif not (
isinstance(tree_item, queue_item.SampleQueueItem)
or isinstance(tree_item, queue_item.DataCollectionGroupQueueItem)
):
self.setDisabled(True)
def approve_creation(self):
result = CreateTaskBase.approve_creation(self)
selected_shapes = self._shape_history.selected_shapes
for shape in selected_shapes:
if isinstance(shape, shape_history.Line) or isinstance(
shape, shape_history.CanvasGrid
):
result = False
self.count_time = None
try:
#.........这里部分代码省略.........