Esempio n. 1
0
    def initUI(self):
        
        self.setGeometry(300, 300, 300, 220)
        self.setWindowTitle('Icon')
        self.setWindowIcon(QIcon('web.png'))        

        # Charge l'interface utilisateur dans gui.ui
        uic.loadUi("gui.ui",self)
        
        # btPressMe définit dans gui.ui
        # On associé l'action clicked à la CallBack btPressMeClicked
        self.btPressMe.clicked.connect(self.btPressMeClicked)
    
        # Crée une figure
        fig=plt.Figure(figsize=(4,1))
        ax=fig.add_subplot(1,1,1)
        t=np.arange(0,0.1,0.001)
        ax.plot(t,np.sin(2*np.pi*t)+np.random.randn(len(t)))
        
        # Ajoute un figure canvas (non disponible dans QtDesigner)
        canvas=pltqt5.FigureCanvasQTAgg(fig)
        canvas.setParent(self)
        canvas.move(0,200)
        
        
    
        self.show()
Esempio n. 2
0
    def plotOnCanvas(self,
                     plotLayout,
                     pointsToPlot,
                     title,
                     xLabel='Segundos',
                     yLabel='bytes',
                     graphicColor='red'):
        if self.canvasX is None:
            canvas = backQt5.FigureCanvasQTAgg(Figure((5, 3)))
            navi_bar = NavigationToolbar(canvas, self.uiMainWindow.widgetWEB)

            plotLayout.addWidget(canvas)
            plotLayout.addWidget(navi_bar)

            self.canvasX = canvas.figure.subplots()
            self.canvasX.set_title(title)
        else:
            self.canvasX.clear()

        t = np.linspace(0, len(pointsToPlot) - 1, len(pointsToPlot))
        self.canvasX.vlines(t, [0], pointsToPlot, colors=graphicColor)

        self.canvasX.set_xlabel(xLabel)
        self.canvasX.set_ylabel(yLabel)
        self.canvasX.axis(ymax=max(pointsToPlot) * 4 / 3)
        self.canvasX.figure.canvas.draw()
Esempio n. 3
0
 def __init__(self):
     self._fig: figure.Figure = figure.Figure(frameon=False, dpi=100.0)
     self._figure_canvas: backend_qt5agg.FigureCanvasQTAgg = backend_qt5agg.FigureCanvasQTAgg(self._fig)
     # Space around axes. Documentation not helpful. Taken from stack-overflow.
     self._fig.subplots_adjust(top=1, bottom=0, right=1, left=0, hspace=0, wspace=0)
     self._ax: figure.Axes = self._fig.subplots()
     self._drawable: Optional[drawable.Drawable] = None
     self._buf: Optional[memoryview] = None
     self._rgba_output: Optional[np.ndarray] = None
     self._current_shape: Optional[tuples.ImageShape] = None
Esempio n. 4
0
 def __init__(self):
     super(MPLplot, self).__init__()
     self.figure = plt.Figure()
     self.canvas = bkend.FigureCanvasQTAgg(self.figure)
     self.toolbar = bkend.NavigationToolbar2QT(self.canvas, self)
     self.ax = self.figure.add_subplot(111)
     layout = QVBoxLayout()
     layout.addWidget(self.toolbar)
     layout.addWidget(self.canvas)
     self.setLayout(layout)
Esempio n. 5
0
 def _create_content_chart_area(self):
     """ """
     # Matplotlib figure and canvas for Qt5.
     self._figure = mpl_figure.Figure()
     self._canvas = mpl_backend.FigureCanvasQTAgg(self._figure)        
     self._canvas.show()
     # Layout widgets.
     layout = QtWidgets.QVBoxLayout()
     layout.addWidget(self._canvas)
     #
     return layout
Esempio n. 6
0
 def createMplInterface(self, tab):
     """Create mpl interface as grid of figure and navigation toolbar."""
     fig = plt.figure(dpi=self.dpi)
     canvas = backend_qt5agg.FigureCanvasQTAgg(fig)
     canvas.mpl_connect("resize_event", self.tightLayout)
     toolbar = backend_qt5agg.NavigationToolbar2QT(canvas, self)
     grid = QtWidgets.QGridLayout()
     tab.setLayout(grid)
     grid.addWidget(toolbar, 0, 0)
     grid.addWidget(canvas, 1, 0)
     return fig, canvas
Esempio n. 7
0
    def __init__(self):
        # was in learnpyqt tutorial and probably no harm but doesn't seem to do anything
        matplotlib.use('Qt5Agg')

        self._dpi: int = self._get_dpi()
        self._fig: figure.Figure = figure.Figure(frameon=False, dpi=self._dpi)
        self._ax: figure.Axes = self._fig.subplots()
        self._figure_canvas: backend_qt5agg.FigureCanvasQTAgg = backend_qt5agg.FigureCanvasQTAgg(self._fig)
        self._snake: snake.Snake = snake.Snake(fig=self._fig, ax=self._ax)
        self._z_model: Optional[z_model.ZModel] = None
        self._image_shape: Optional[tuples.ImageShape] = None
Esempio n. 8
0
    def __init__(self, name, image, feature, alpha=0.5):
        super(Visualizer, self).__init__()
        self.name = name
        self.image = image
        self.feature = feature
        self.draw_feature = utils.visualize.DrawFeature(alpha)

        layout = QtWidgets.QVBoxLayout(self)
        fig = plt.Figure()
        self.ax = fig.gca()
        self.canvas = qtagg.FigureCanvasQTAgg(fig)
        layout.addWidget(self.canvas)
        toolbar = qtagg.NavigationToolbar2QT(self.canvas, self)
        layout.addWidget(toolbar)
        self.slider = QtWidgets.QSlider(QtCore.Qt.Horizontal, self)
        self.slider.setRange(0, feature.shape[0] - 1)
        layout.addWidget(self.slider)
        self.slider.valueChanged[int].connect(self.on_progress)

        self.ax.imshow(self.image)
        self.ax.set_xticks([])
        self.ax.set_yticks([])
        self.on_progress(0)
    def _content_spectrogram(self):
        """ """
        widget = QtWidgets.QWidget()
        
#         self.workspacedir_label = QtWidgets.QLabel('Workspace: -     ')
        self.survey_label = QtWidgets.QLabel('Survey: ')
        self.itemid_label = QtWidgets.QLabel('Item id: ')
        self.title_label = QtWidgets.QLabel('Title: ')
        self.survey_edit = QtWidgets.QLineEdit('')
        self.itemid_edit = QtWidgets.QLineEdit('')
        self.title_edit = QtWidgets.QLineEdit('')
        self.survey_edit.setReadOnly(True)
        self.itemid_edit.setReadOnly(True)
        self.title_edit.setReadOnly(True)
        self.survey_edit.setMaximumWidth(1000)
        self.itemid_edit.setMaximumWidth(1000)
        self.title_edit.setMaximumWidth(1000)
        self.survey_edit.setFrame(False)
        self.itemid_edit.setFrame(False)
        self.title_edit.setFrame(False)
        font = QtGui.QFont('Helvetica', pointSize=-1, weight=QtGui.QFont.Bold)
        self.survey_edit.setFont(font)
        self.itemid_edit.setFont(font)
        self.title_edit.setFont(font)
        
        self.windowsize_combo = QtWidgets.QComboBox()
        self.windowsize_combo.setEditable(False)
        self.windowsize_combo.setMinimumWidth(80)
        self.windowsize_combo.setMaximumWidth(150)
        self.windowsize_combo.addItems(['128', 
                                        '256', 
                                        '512', 
                                        '1024', 
                                        '2048', 
                                        '4096', 
                                        ])
        self.windowsize_combo.setCurrentIndex(3)
        self.windowsize_combo.currentIndexChanged.connect(self.plot_spectrogram)
        
        self.timeresolution_combo = QtWidgets.QComboBox()
        self.timeresolution_combo.setEditable(False)
        self.timeresolution_combo.setMinimumWidth(80)
        self.timeresolution_combo.setMaximumWidth(150)
        self.timeresolution_combo.addItems(['2 ms', 
                                             '1 ms', 
                                             '1/2 ms', 
                                             '1/4 ms', 
                                             '1/8 ms', 
                                             ])
        self.timeresolution_combo.setCurrentIndex(1)
        self.timeresolution_combo.currentIndexChanged.connect(self.plot_spectrogram)
        
        self.viewpart_combo = QtWidgets.QComboBox()
        self.viewpart_combo.setEditable(False)
        self.viewpart_combo.setMinimumWidth(80)
        self.viewpart_combo.setMaximumWidth(150)
        self.viewpart_combo.addItems(['All', 
                                      '0-1 s', 
                                      '1-2 s', 
                                      '2-3 s', 
                                      '3-4 s', 
                                      '4-5 s', 
                                      '5-6 s', 
                                      '6-7 s', 
                                      '7-8 s', 
                                      '8-9 s', 
                                      '9-10 s', 
                                      ])
        self.viewpart_combo.setCurrentIndex(0)
        self.viewpart_combo.currentIndexChanged.connect(self.plot_spectrogram)
        
        # Matplotlib figure and canvas for Qt5.
        self._figure = mpl_figure.Figure()
        self._canvas = mpl_backend.FigureCanvasQTAgg(self._figure)
        self.axes = self._figure.add_subplot(111)
        self._figure.tight_layout()
        self._canvas.show()
        
        # Layout widgets.
        form1 = QtWidgets.QGridLayout()
        form1.setSpacing(5)
        form1.setContentsMargins(5,5,5,5)
        
        gridrow = 0
        form1.addWidget(self.survey_label, gridrow, 0, 1, 1)
        form1.addWidget(self.survey_edit, gridrow, 1, 1, 27)
        label = app_framework.RightAlignedQLabel('FFT window size:')
        form1.addWidget(label, gridrow, 28, 1, 1)
        form1.addWidget(self.windowsize_combo, gridrow, 29, 1, 1)
        gridrow += 1
        form1.addWidget(self.itemid_label, gridrow, 0, 1, 1)
        form1.addWidget(self.itemid_edit, gridrow, 1, 1, 27)
        label = app_framework.RightAlignedQLabel('Time resolution:')
        form1.addWidget(label, gridrow, 28, 1, 1)
        form1.addWidget(self.timeresolution_combo, gridrow, 29, 1, 1)
        gridrow += 1
        form1.addWidget(self.title_label, gridrow, 0, 1, 1)
        form1.addWidget(self.title_edit, gridrow, 1, 1, 27)
        label = app_framework.RightAlignedQLabel('View part:')
        form1.addWidget(label, gridrow, 28, 1, 1)
        form1.addWidget(self.viewpart_combo, gridrow, 29, 1, 1)
        gridrow += 1
        form1.addWidget(self._canvas, gridrow, 0, 100, 30)
        #
        layout = QtWidgets.QVBoxLayout()
        layout.addLayout(form1)
        widget.setLayout(layout)
        #
        return widget        
Esempio n. 10
0
    def widgetsSetup(self):
        # 左侧按钮
        self.FileInputButton = QtWidgets.QPushButton(self)
        self.FileInputButton.setObjectName('AudiInput')
        self.FileInputButton.setText('Input File')
        self.FileInputButton.clicked.connect(self.slot_button_fileinput)

        self.SpecTransformButton = QtWidgets.QPushButton(self)
        self.SpecTransformButton.setObjectName('SpecTransform')
        self.SpecTransformButton.setText('Spec Transformation')
        self.SpecTransformButton.clicked.connect(
            self.slot_button_spectransform)

        self.ModelPredictButton = QtWidgets.QPushButton(self)
        self.ModelPredictButton.setObjectName('ModelPredict')
        self.ModelPredictButton.setText('Model Predictor')
        self.ModelPredictButton.clicked.connect(self.slot_button_modelpredict)

        self.MidiPlayerButton = QtWidgets.QPushButton(self)
        self.MidiPlayerButton.setObjectName('MidiPlayer')
        self.MidiPlayerButton.setText('MIDI Player')
        self.MidiPlayerButton.clicked.connect(self.slot_button_midiplayer)

        self.MidiOutputButton = QtWidgets.QPushButton(self)
        self.MidiOutputButton.setObjectName('MidiOutput')
        self.MidiOutputButton.setText('Output MIDI')
        self.MidiOutputButton.clicked.connect(self.slot_button_midioutput)

        self.CloseFileButton = QtWidgets.QPushButton(self)
        self.CloseFileButton.setObjectName('CloseFile')
        self.CloseFileButton.setText('Close File')
        self.CloseFileButton.clicked.connect(self.slot_button_closefile)

        self.AboutButton = QtWidgets.QPushButton(self)
        self.AboutButton.setObjectName('About')
        self.AboutButton.setText('About')
        self.AboutButton.clicked.connect(self.slot_button_about)

        # 右侧图表
        # 参考: https://blog.csdn.net/qq_40587575/article/details/85171401,
        # 参考: https://www.geeksforgeeks.org/how-to-embed-matplotlib-graph-in-pyqt5/
        self.SpecDiagramFigure = plt.figure(figsize=(3, 2), dpi=100)
        self.SpecDiagramFigure.suptitle('Spectrogram Transformation')
        self.SpecDiagramCanvas = matplotlib_qt5agg.FigureCanvasQTAgg(
            self.SpecDiagramFigure)
        self.SpecDiagramToolbar = matplotlib_qt5agg.NavigationToolbar2QT(
            self.SpecDiagramCanvas, self)

        self.PredDiagramFigure = plt.figure(figsize=(3, 2), dpi=100)
        self.PredDiagramFigure.suptitle('Piano-roll Prediction')
        self.PredDiagramCanvas = matplotlib_qt5agg.FigureCanvasQTAgg(
            self.PredDiagramFigure)
        self.PredDiagramToolbar = matplotlib_qt5agg.NavigationToolbar2QT(
            self.PredDiagramCanvas, self)

        # 右侧按钮
        self.SpecLeftButton = QtWidgets.QPushButton(self)
        self.SpecLeftButton.setObjectName('SpecLeft')
        self.SpecLeftButton.setText('<')
        self.SpecLeftButton.clicked.connect(self.slot_button_specleft)

        self.SpecRightButton = QtWidgets.QPushButton(self)
        self.SpecRightButton.setObjectName('SpecRight')
        self.SpecRightButton.setText('>')
        self.SpecRightButton.clicked.connect(self.slot_button_specright)

        self.PredLeftButton = QtWidgets.QPushButton(self)
        self.PredLeftButton.setObjectName('PredLeft')
        self.PredLeftButton.setText('<')
        self.PredLeftButton.clicked.connect(self.slot_button_predleft)

        self.PredRightButton = QtWidgets.QPushButton(self)
        self.PredRightButton.setObjectName('PredRight')
        self.PredRightButton.setText('>')
        self.PredRightButton.clicked.connect(self.slot_button_predright)

        # 右侧文本
        self.SpecOffsetLabel = QtWidgets.QLabel(self)
        self.SpecOffsetLabel.setObjectName('SpecOffset')
        self.SpecOffsetLabel.setText('?/?')
        self.SpecOffsetLabel.setAlignment(QtCore.Qt.AlignCenter)

        self.PredOffsetLabel = QtWidgets.QLabel(self)
        self.PredOffsetLabel.setObjectName('PredOffset')
        self.PredOffsetLabel.setText('?/?')
        self.PredOffsetLabel.setAlignment(QtCore.Qt.AlignCenter)

        # 利用信号和槽实现初始化
        self.buttonLock.emit(False)
        self.buttonLock.emit(True)
    def _content_map(self):
        """ """
        widget = QtWidgets.QWidget()

        # Workspace and survey..
        self.survey_label = QtWidgets.QLabel('Survey: ')
        self.itemid_label = QtWidgets.QLabel('Item id: ')
        self.title_label = QtWidgets.QLabel('Title: ')
        self.survey_edit = QtWidgets.QLineEdit('')
        self.itemid_edit = QtWidgets.QLineEdit('')
        self.title_edit = QtWidgets.QLineEdit('')
        self.survey_edit.setReadOnly(True)
        self.itemid_edit.setReadOnly(True)
        self.title_edit.setReadOnly(True)
        self.survey_edit.setMaximumWidth(1000)
        self.itemid_edit.setMaximumWidth(1000)
        self.title_edit.setMaximumWidth(1000)
        self.survey_edit.setFrame(False)
        self.itemid_edit.setFrame(False)
        self.title_edit.setFrame(False)
        font = QtGui.QFont('Helvetica', pointSize=-1, weight=QtGui.QFont.Bold)
        self.survey_edit.setFont(font)
        self.itemid_edit.setFont(font)
        self.title_edit.setFont(font)
        #
        self.zoom_combo = QtWidgets.QComboBox()
        self.zoom_combo.setEditable(False)
        self.zoom_combo.setMinimumWidth(80)
        self.zoom_combo.setMaximumWidth(150)
        self.zoom_combo.addItems([
            '10.0',
            '3.0',
            '1.0',
            '0.3',
            '0.1',
            '0.03',
            '0.01',
            '0.003',
            '0.001',
        ])
        self.zoom_combo.setCurrentIndex(4)
        self.zoom_combo.currentIndexChanged.connect(self.plot_map)

        # Matplotlib figure and canvas for Qt5.
        self._figure = mpl_figure.Figure()
        self._canvas = mpl_backend.FigureCanvasQTAgg(self._figure)
        self._canvas.setMinimumWidth(300)
        self._canvas.setMinimumHeight(300)
        self.axes = self._figure.add_subplot(111)
        self._figure.tight_layout()
        self.axes.xaxis.set_visible(False)
        self.axes.yaxis.set_visible(False)
        self._canvas.show()

        # Layout widgets.
        form1 = QtWidgets.QGridLayout()
        gridrow = 0
        form1.addWidget(self.survey_label, gridrow, 0, 1, 1)
        form1.addWidget(self.survey_edit, gridrow, 1, 1, 27)
        form1.addWidget(app_framework.RightAlignedQLabel('Zoom:'), gridrow, 28,
                        1, 1)
        form1.addWidget(self.zoom_combo, gridrow, 29, 1, 1)
        gridrow += 1
        #         form1.addWidget(self.itemid_label, gridrow, 0, 1, 100)
        form1.addWidget(self.itemid_label, gridrow, 0, 1, 1)
        form1.addWidget(self.itemid_edit, gridrow, 1, 1, 30)
        gridrow += 1
        #         form1.addWidget(self.title_label, gridrow, 0, 1, 100)
        form1.addWidget(self.title_label, gridrow, 0, 1, 1)
        form1.addWidget(self.title_edit, gridrow, 1, 1, 30)
        gridrow += 1
        hlayout = QtWidgets.QHBoxLayout()
        hlayout.addWidget(self._canvas)
        hlayout.addStretch(50)
        form1.addLayout(hlayout, gridrow, 0, 1, 30)
        gridrow += 1
        form1.addWidget(
            app_framework.CenterAlignedQLabel('© OpenStreetMap contributors'),
            gridrow, 0, 1, 30)
        #
        layout = QtWidgets.QVBoxLayout()
        layout.addLayout(form1)
        widget.setLayout(layout)
        #
        return widget
Esempio n. 12
0
    def setupApp(self, MainWindow):
        # Sets up UI elements generated by Qt Designer.
        self.devicePixelRatio = MainWindow.devicePixelRatio()
        self.setupUi(MainWindow)
        MainWindow.showMaximized()
        
        # Raw data file import.
        self.fListModel = DataFilesListModel()
        self.comboBox_Select_File.setModel(self.fListModel)        
        self.comboBox_Select_File.setInsertPolicy(QtWidgets.QComboBox.NoInsert)
        self.pushButton_Import_Raw_Data.clicked.connect(self.importRawFiles)
        self.toolButton_Remove_File.clicked.connect(self.removeFileFromList)
        
        # Lets user pick time traces or spectra from raw data files.
        self.__axisType = True
        self.toolButton_Toggle_Axis.clicked.connect(self.toggleAxis)
        self.comboBox_Select_File.currentIndexChanged.connect(self.fileSelected)
        self.toolButton_Add_This_File.clicked.connect(self.addSelectedToPlot)
        self.toolButton_Add_All_Files.clicked.connect(self.addFromAllFilesToPlot)
        self.toolButton_SVD.clicked.connect(self.addSVDResultsToPlot)
        self.toolButton_Range_Select_Linear.clicked.connect(self.rangeSelectLinear)
        self.toolButton_Range_Select_Log.clicked.connect(self.rangeSelectLog)
        
        # Plot controls.
        self.__epsilon = 0.0001
        PlotListModel.fontSize = float(self.spinBox_Font_Size.value()) * self.devicePixelRatio
        PlotListModel.lineWidth = self.doubleSpinBox_Line_Width.value() * self.devicePixelRatio
        PlotListModel.markerRatio = self.doubleSpinBox_Marker_Size.value() * self.devicePixelRatio
        self.spinBox_Font_Size.valueChanged.connect(self.changeFontSize)
        self.doubleSpinBox_Line_Width.valueChanged.connect(self.changeLineWidth)
        self.doubleSpinBox_Marker_Size.valueChanged.connect(self.changeMarkerSize)
        self.spinBox_Markevery.valueChanged.connect(self.changeMarkEvery)
        self.checkBox_LogX.stateChanged.connect(self.setXScale)
        self.checkBox_LogY.stateChanged.connect(self.setYScale)
        self.checkBox_Grid.stateChanged.connect(self.setPlotGrid)
        self.checkBox_Legend.stateChanged.connect(self.setPlotLegend)
        self.toolButton_Apply_Range.clicked.connect(self.applyRange)
        self.toolButton_Auto_Range.clicked.connect(self.autoResizePlotRange)
        self.pushButton_Save_Figure.clicked.connect(self.saveFigure)
        self.doubleSpinBox_xMin.valueChanged.connect(self.xMinChanged)
        self.doubleSpinBox_xMax.valueChanged.connect(self.xMaxChanged)
        self.doubleSpinBox_yMin.valueChanged.connect(self.yMinChanged)
        self.doubleSpinBox_yMax.valueChanged.connect(self.yMaxChanged)
        self.toolButton_Remove_Selected_Traces.clicked.connect(self.removeSelectedTraces)
        self.toolButton_All_Traces.clicked.connect(self.selectAllTraces)
        self.toolButton_None_Traces.clicked.connect(self.selectNoneTraces)
        self.toolButton_Line.clicked.connect(self.linePlotSelected)
        self.toolButton_Scatter.clicked.connect(self.scatterPlotSelected)
        self.toolButton_Hide.clicked.connect(self.hidePlotSelected)
        self.pushButton_Export_Traces.clicked.connect(self.saveSelectedTracesToTxt)
        MainWindow.windowSizeChanged.connect(self.resizedWindowArea)
        MainWindow.filesDropped.connect(self.importDroppedFiles)
        
        # Embeds matplotlib plots.        
        self.figures = [mpl_figure.Figure(), mpl_figure.Figure()]
        self.canvases = [mpl_qt5.FigureCanvasQTAgg(fig) for fig in self.figures]
        self.toolbars = [MPLToolbar_Modified(self.canvases[0], self.stackedWidget_Traces_Plot), \
            MPLToolbar_Modified(self.canvases[1], self.stackedWidget_Spectra_Plot)]
        self.toolbars[0].locLabel.setFont( \
            QtGui.QFontDatabase.systemFont(QtGui.QFontDatabase.FixedFont))
        self.toolbars[0].locLabel.setAlignment( \
            QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
        self.toolbars[1].locLabel.setFont( \
            QtGui.QFontDatabase.systemFont(QtGui.QFontDatabase.FixedFont))
        self.toolbars[1].locLabel.setAlignment( \
            QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
        self.verticalLayout_4.addWidget(self.canvases[0])
        self.verticalLayout_4.addWidget(self.toolbars[0])
        self.verticalLayout_5.addWidget(self.canvases[1])
        self.verticalLayout_5.addWidget(self.toolbars[1])
        self.plotListModels = [PlotListModel(fig) for fig in self.figures]
        self.tableView_Traces.setModel(self.plotListModels[0])
        self.tableView_Spectra.setModel(self.plotListModels[1])

        self.figures[0].axes[0].set_xlabel('Time (s)', fontsize = PlotListModel.fontSize)
        self.figures[0].axes[0].tick_params(labelsize=PlotListModel.fontSize)
        self.figures[1].axes[0].set_xlabel('Wavelength (nm)', fontsize = PlotListModel.fontSize)
        self.figures[1].axes[0].tick_params(labelsize=PlotListModel.fontSize)
        self.tabWidget.currentChanged.connect(self.tabSwitch)

        # Specials
        self.toolButton_Reset.clicked.connect(self.resetCurrentCanvas)
        self.pushButton_Exec.clicked.connect(self.execPlotCommand)
        self.lineEdit_Exec_Command.returnPressed.connect(self.execPlotCommand)
        self.pushButton_About.clicked.connect(aboutMessage)
        
        # Editing data
        self.toolButton_Add_By.clicked.connect(self.addSelectedBy)
        self.toolButton_Mul_By.clicked.connect(self.mulSelectedBy)
        self.toolButton_Ref_To.clicked.connect(self.refSelectedTo)
        self.toolButton_Internal_Ref.clicked.connect(self.internalRef)
        self.toolButton_Mean_Std_Dev.clicked.connect(self.addMeanStdDev)