Пример #1
0
    def __init__(self, widget_type, parameter_path, parent=None):
        QtWidgets.QWidget.__init__(self, parent)
        self.widget_type = widget_type

        self.layout = QtWidgets.QHBoxLayout()

        self.parameter_label = QtWidgets.QLabel(parameter_path)
        self.parameter_widget, self.change_signal = get_widget_by_type(self.widget_type)
        self.parameter_label.setBuddy(self.parameter_widget)
        self.parameter_widget.setObjectName(parameter_path)
        self.parameter_units = QtWidgets.QLabel()

        self.layout.addWidget(self.parameter_label)
        self.layout.addWidget(self.parameter_widget)
        self.layout.addWidget(self.parameter_units)
Пример #2
0
    def create_widget(self, wtype, name, qualifier=None, layout=None, rows=None, mapping=None):
        """Create a parameter widget.

        Parameters
        ----------
        wtype : str
            The representation string for the parameter type.
        name : str
            The name of the parameter.
        qualifier : str, optional
            A prefix to the name for setting to the object name.
        layout : QGridLayout, optional
            An alternate layout instance.
        rows : int, optional
            An alternate value for rows in a layout
        """
        parameter_label = QtWidgets.QLabel(name)
        parameter_widget, change_signal = get_widget_by_type(wtype)
        parameter_label.setBuddy(parameter_widget)
        if qualifier is not None:
            full_name = "{}/{}".format(qualifier, name)
        else:
            full_name = name
        parameter_widget.setObjectName(full_name)
        parameter_units = QtWidgets.QLabel()

        signal = getattr(parameter_widget, change_signal)
        signal.connect(self.signal_mapper.map)
        self.signal_mapper.setMapping(parameter_widget, parameter_widget)

        if layout is None:
            layout = self.layout

        if rows is None:
            current_row = self.rows
        else:
            current_row = rows

        layout.addWidget(parameter_label, current_row, 0)
        layout.addWidget(parameter_widget, current_row, 1)
        layout.addWidget(parameter_units, current_row, 2)

        if rows is None:
            self.rows += 1
        else:
            rows += 1

        return rows
Пример #3
0
    def create_widget(self, wtype, name, qualifier=None, layout=None, rows=None, mapping=None):
        """Create a parameter widget.

        Parameters
        ----------
        wtype : str
            The representation string for the parameter type.
        name : str
            The name of the parameter.
        qualifier : str, optional
            A prefix to the name for setting to the object name.
        layout : QGridLayout, optional
            An alternate layout instance.
        rows : int, optional
            An alternate value for rows in a layout
        """
        parameter_label = QtWidgets.QLabel(name)
        parameter_widget, change_signal = get_widget_by_type(wtype)
        parameter_label.setBuddy(parameter_widget)
        if qualifier is not None:
            full_name = "{}/{}".format(qualifier, name)
        else:
            full_name = name
        parameter_widget.setObjectName(full_name)
        parameter_units = QtWidgets.QLabel()

        signal = getattr(parameter_widget, change_signal)
        signal.connect(self.signal_mapper.map)
        self.signal_mapper.setMapping(parameter_widget, parameter_widget)

        if layout is None:
            layout = self.layout

        if rows is None:
            current_row = self.rows
        else:
            current_row = rows

        layout.addWidget(parameter_label, current_row, 0)
        layout.addWidget(parameter_widget, current_row, 1)
        layout.addWidget(parameter_units, current_row, 2)

        if rows is None:
            self.rows += 1
        else:
            rows += 1

        return rows