Exemple #1
0
    def __init__(self):
        super().__init__()
        from .resources import icon_formfilternavigator, icon_nostackdirectboth_52x60, icon_columns_52x60

        self.gridLayout_7 = QGridLayout(self)
        self.gridLayout_7.setObjectName("gridLayout_7")
        self.btn_assess_auc = PMToolButton(self)
        self.btn_assess_auc.setMinimumSize(QSize(80, 60))
        self.btn_assess_auc.setMaximumSize(QSize(80, 60))
        self.btn_assess_auc.setIcon(icon_formfilternavigator)
        self.btn_assess_auc.setIconSize(QSize(32, 32))
        self.btn_assess_auc.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_assess_auc.setObjectName("btn_assess_auc")
        self.gridLayout_7.addWidget(self.btn_assess_auc, 1, 3, 1, 1)
        self.btn_assess_feature_select = PMToolButton(self)
        self.btn_assess_feature_select.setMinimumSize(QSize(80, 60))
        self.btn_assess_feature_select.setMaximumSize(QSize(80, 60))
        self.btn_assess_feature_select.setIcon(icon_formfilternavigator)
        self.btn_assess_feature_select.setIconSize(QSize(32, 32))
        self.btn_assess_feature_select.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.btn_assess_feature_select.setObjectName(
            "btn_assess_feature_select")
        self.gridLayout_7.addWidget(self.btn_assess_feature_select, 0, 3, 1, 1)
        self.btn_assess_iv = PMToolButton(self)
        self.btn_assess_iv.setMinimumSize(QSize(80, 60))
        self.btn_assess_iv.setMaximumSize(QSize(80, 60))
        self.btn_assess_iv.setIcon(icon_columns_52x60)
        self.btn_assess_iv.setIconSize(QSize(32, 32))
        self.btn_assess_iv.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_assess_iv.setObjectName("btn_assess_iv")
        self.gridLayout_7.addWidget(self.btn_assess_iv, 0, 1, 1, 1)
        self.btn_access_fine = PMToolButton(self)
        self.btn_access_fine.setMinimumSize(QSize(80, 60))
        self.btn_access_fine.setMaximumSize(QSize(80, 60))
        self.btn_access_fine.setIcon(icon_formfilternavigator)
        self.btn_access_fine.setIconSize(QSize(32, 32))
        self.btn_access_fine.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_access_fine.setObjectName("btn_access_fine")
        self.gridLayout_7.addWidget(self.btn_access_fine, 1, 0, 1, 1)
        self.btn_assess_psi = PMToolButton(self)
        self.btn_assess_psi.setMinimumSize(QSize(80, 60))
        self.btn_assess_psi.setMaximumSize(QSize(80, 60))
        self.btn_assess_psi.setIcon(icon_formfilternavigator)
        self.btn_assess_psi.setIconSize(QSize(32, 32))
        self.btn_assess_psi.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_assess_psi.setObjectName("btn_assess_psi")
        self.gridLayout_7.addWidget(self.btn_assess_psi, 1, 1, 1, 1)
        spacerItem7 = QSpacerItem(
            20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
        self.gridLayout_7.addItem(spacerItem7, 3, 1, 1, 1)
        self.btn_assess_woe = PMToolButton(self)
        self.btn_assess_woe.setMinimumSize(QSize(80, 60))
        self.btn_assess_woe.setMaximumSize(QSize(80, 60))
        self.btn_assess_woe.setIcon(icon_nostackdirectboth_52x60)
        self.btn_assess_woe.setIconSize(QSize(32, 32))
        self.btn_assess_woe.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_assess_woe.setObjectName("btn_assess_woe")
        self.gridLayout_7.addWidget(self.btn_assess_woe, 0, 0, 1, 1)
        self.btn_access_model = PMToolButton(self)
        self.btn_access_model.setMinimumSize(QSize(80, 60))
        self.btn_access_model.setMaximumSize(QSize(80, 60))
        self.btn_access_model.setIcon(icon_formfilternavigator)
        self.btn_access_model.setIconSize(QSize(32, 32))
        self.btn_access_model.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_access_model.setObjectName("btn_access_model")
        self.gridLayout_7.addWidget(self.btn_access_model, 2, 0, 1, 1)
        self.translate()
 def add_action(self, from_row: int, from_column: int,
                row_span: int, column_span: int, icon_path: str = ''):
     if os.path.isfile(icon_path):
         b = PMToolButton()
         b.setText('hahaha')
         b.setIcon(QIcon(icon_path))
     else:
         b = PMToolButton()
         b.setText('hahaha')
     b.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
     b.setFixedHeight(30 * row_span)
     b.setFixedWidth(30 * column_span)
     self.grid_layout.addWidget(b, from_row, from_column, row_span, column_span,
                                alignment=Qt.AlignTop | Qt.AlignBottom)
Exemple #3
0
 def __init__(self):
     super().__init__()
     from .resources import icon_nostackdirectboth_52x60, icon_delete_columns, icon_formfilternavigator
     self.gridLayout_4 = QGridLayout(self)
     self.gridLayout_4.setObjectName("gridLayout_4")
     self.btn_model_cnn = PMToolButton(self)
     self.btn_model_cnn.setMinimumSize(QSize(80, 60))
     self.btn_model_cnn.setMaximumSize(QSize(80, 60))
     self.btn_model_cnn.setIcon(icon_nostackdirectboth_52x60)
     self.btn_model_cnn.setIconSize(QSize(32, 32))
     self.btn_model_cnn.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
     self.btn_model_cnn.setObjectName("btn_model_cnn")
     self.gridLayout_4.addWidget(self.btn_model_cnn, 1, 2, 1, 1)
     self.btn_model_time_seires = PMToolButton(self)
     self.btn_model_time_seires.setMinimumSize(QSize(80, 60))
     self.btn_model_time_seires.setMaximumSize(QSize(80, 60))
     self.btn_model_time_seires.setIcon(icon_delete_columns)
     self.btn_model_time_seires.setIconSize(QSize(32, 32))
     self.btn_model_time_seires.setToolButtonStyle(
         Qt.ToolButtonTextUnderIcon)
     self.btn_model_time_seires.setObjectName("btn_model_time_seires")
     self.gridLayout_4.addWidget(self.btn_model_time_seires, 1, 1, 1, 1)
     self.btn_model_scorecard = PMToolButton(self)
     self.btn_model_scorecard.setMinimumSize(QSize(80, 60))
     self.btn_model_scorecard.setMaximumSize(QSize(80, 60))
     self.btn_model_scorecard.setIcon(icon_nostackdirectboth_52x60)
     self.btn_model_scorecard.setIconSize(QSize(32, 32))
     self.btn_model_scorecard.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
     self.btn_model_scorecard.setObjectName("btn_model_scorecard")
     self.gridLayout_4.addWidget(self.btn_model_scorecard, 1, 0, 1, 1)
     self.btn_model_3 = PMToolButton(self)
     self.btn_model_3.setMinimumSize(QSize(80, 60))
     self.btn_model_3.setMaximumSize(QSize(80, 60))
     self.btn_model_3.setIcon(icon_nostackdirectboth_52x60)
     self.btn_model_3.setIconSize(QSize(32, 32))
     self.btn_model_3.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
     self.btn_model_3.setObjectName("btn_model_3")
     self.gridLayout_4.addWidget(self.btn_model_3, 2, 2, 1, 1)
     self.btn_model_tree = PMToolButton(self)
     self.btn_model_tree.setMinimumSize(QSize(80, 60))
     self.btn_model_tree.setMaximumSize(QSize(80, 60))
     self.btn_model_tree.setIcon(icon_formfilternavigator)
     self.btn_model_tree.setIconSize(QSize(32, 32))
     self.btn_model_tree.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
     self.btn_model_tree.setObjectName("btn_model_tree")
     self.gridLayout_4.addWidget(self.btn_model_tree, 0, 2, 1, 1)
     self.btn_model_1 = PMToolButton(self)
     self.btn_model_1.setMinimumSize(QSize(80, 60))
     self.btn_model_1.setMaximumSize(QSize(80, 60))
     self.btn_model_1.setIcon(icon_nostackdirectboth_52x60)
     self.btn_model_1.setIconSize(QSize(32, 32))
     self.btn_model_1.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
     self.btn_model_1.setObjectName("btn_model_1")
     self.gridLayout_4.addWidget(self.btn_model_1, 2, 0, 1, 1)
     spacerItem6 = QSpacerItem(
         20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
     self.gridLayout_4.addItem(spacerItem6, 5, 1, 1, 1)
     self.btn_model_2 = PMToolButton(self)
     self.btn_model_2.setMinimumSize(QSize(80, 60))
     self.btn_model_2.setMaximumSize(QSize(80, 60))
     self.btn_model_2.setIcon(icon_nostackdirectboth_52x60)
     self.btn_model_2.setIconSize(QSize(32, 32))
     self.btn_model_2.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
     self.btn_model_2.setObjectName("btn_model_2")
     self.gridLayout_4.addWidget(self.btn_model_2, 2, 1, 1, 1)
     self.btn_model_logist = PMToolButton(self)
     self.btn_model_logist.setMinimumSize(QSize(80, 60))
     self.btn_model_logist.setMaximumSize(QSize(80, 60))
     self.btn_model_logist.setIcon(icon_formfilternavigator)
     self.btn_model_logist.setIconSize(QSize(32, 32))
     self.btn_model_logist.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
     self.btn_model_logist.setObjectName("btn_model_logist")
     self.gridLayout_4.addWidget(self.btn_model_logist, 0, 1, 1, 1)
     self.btn_model_linear_regression = PMToolButton(self)
     self.btn_model_linear_regression.setMinimumSize(QSize(80, 60))
     self.btn_model_linear_regression.setMaximumSize(QSize(80, 60))
     self.btn_model_linear_regression.setIcon(icon_formfilternavigator)
     self.btn_model_linear_regression.setIconSize(QSize(32, 32))
     self.btn_model_linear_regression.setToolButtonStyle(
         Qt.ToolButtonTextUnderIcon)
     self.btn_model_linear_regression.setObjectName(
         "btn_model_linear_regression")
     self.gridLayout_4.addWidget(
         self.btn_model_linear_regression, 0, 0, 1, 1)
     self.btn_model_4 = PMToolButton(self)
     self.btn_model_4.setMinimumSize(QSize(80, 60))
     self.btn_model_4.setMaximumSize(QSize(80, 60))
     self.btn_model_4.setIcon(icon_nostackdirectboth_52x60)
     self.btn_model_4.setIconSize(QSize(32, 32))
     self.btn_model_4.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
     self.btn_model_4.setObjectName("btn_model_4")
     self.gridLayout_4.addWidget(self.btn_model_4, 3, 0, 1, 1)
     self.translate()
Exemple #4
0
class PMPage(QWidget):
    def __init__(self):
        super().__init__()
        from .resources import icon_formfilternavigator, icon_nostackdirectboth_52x60, icon_columns_52x60

        self.gridLayout_7 = QGridLayout(self)
        self.gridLayout_7.setObjectName("gridLayout_7")
        self.btn_assess_auc = PMToolButton(self)
        self.btn_assess_auc.setMinimumSize(QSize(80, 60))
        self.btn_assess_auc.setMaximumSize(QSize(80, 60))
        self.btn_assess_auc.setIcon(icon_formfilternavigator)
        self.btn_assess_auc.setIconSize(QSize(32, 32))
        self.btn_assess_auc.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_assess_auc.setObjectName("btn_assess_auc")
        self.gridLayout_7.addWidget(self.btn_assess_auc, 1, 3, 1, 1)
        self.btn_assess_feature_select = PMToolButton(self)
        self.btn_assess_feature_select.setMinimumSize(QSize(80, 60))
        self.btn_assess_feature_select.setMaximumSize(QSize(80, 60))
        self.btn_assess_feature_select.setIcon(icon_formfilternavigator)
        self.btn_assess_feature_select.setIconSize(QSize(32, 32))
        self.btn_assess_feature_select.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.btn_assess_feature_select.setObjectName(
            "btn_assess_feature_select")
        self.gridLayout_7.addWidget(self.btn_assess_feature_select, 0, 3, 1, 1)
        self.btn_assess_iv = PMToolButton(self)
        self.btn_assess_iv.setMinimumSize(QSize(80, 60))
        self.btn_assess_iv.setMaximumSize(QSize(80, 60))
        self.btn_assess_iv.setIcon(icon_columns_52x60)
        self.btn_assess_iv.setIconSize(QSize(32, 32))
        self.btn_assess_iv.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_assess_iv.setObjectName("btn_assess_iv")
        self.gridLayout_7.addWidget(self.btn_assess_iv, 0, 1, 1, 1)
        self.btn_access_fine = PMToolButton(self)
        self.btn_access_fine.setMinimumSize(QSize(80, 60))
        self.btn_access_fine.setMaximumSize(QSize(80, 60))
        self.btn_access_fine.setIcon(icon_formfilternavigator)
        self.btn_access_fine.setIconSize(QSize(32, 32))
        self.btn_access_fine.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_access_fine.setObjectName("btn_access_fine")
        self.gridLayout_7.addWidget(self.btn_access_fine, 1, 0, 1, 1)
        self.btn_assess_psi = PMToolButton(self)
        self.btn_assess_psi.setMinimumSize(QSize(80, 60))
        self.btn_assess_psi.setMaximumSize(QSize(80, 60))
        self.btn_assess_psi.setIcon(icon_formfilternavigator)
        self.btn_assess_psi.setIconSize(QSize(32, 32))
        self.btn_assess_psi.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_assess_psi.setObjectName("btn_assess_psi")
        self.gridLayout_7.addWidget(self.btn_assess_psi, 1, 1, 1, 1)
        spacerItem7 = QSpacerItem(
            20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
        self.gridLayout_7.addItem(spacerItem7, 3, 1, 1, 1)
        self.btn_assess_woe = PMToolButton(self)
        self.btn_assess_woe.setMinimumSize(QSize(80, 60))
        self.btn_assess_woe.setMaximumSize(QSize(80, 60))
        self.btn_assess_woe.setIcon(icon_nostackdirectboth_52x60)
        self.btn_assess_woe.setIconSize(QSize(32, 32))
        self.btn_assess_woe.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_assess_woe.setObjectName("btn_assess_woe")
        self.gridLayout_7.addWidget(self.btn_assess_woe, 0, 0, 1, 1)
        self.btn_access_model = PMToolButton(self)
        self.btn_access_model.setMinimumSize(QSize(80, 60))
        self.btn_access_model.setMaximumSize(QSize(80, 60))
        self.btn_access_model.setIcon(icon_formfilternavigator)
        self.btn_access_model.setIconSize(QSize(32, 32))
        self.btn_access_model.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_access_model.setObjectName("btn_access_model")
        self.gridLayout_7.addWidget(self.btn_access_model, 2, 0, 1, 1)
        self.translate()

    def translate(self):
        _translate = QCoreApplication.translate
        self.btn_assess_auc.setText(_translate("MainWindow", "AUC"))
        self.btn_assess_feature_select.setText(
            _translate("MainWindow", "特征选择"))
        self.btn_assess_iv.setText(_translate("MainWindow", "IV"))
        self.btn_access_fine.setText(_translate("MainWindow", "特征分箱"))
        self.btn_assess_psi.setText(_translate("MainWindow", "PSI"))
        self.btn_assess_woe.setText(_translate("MainWindow", "WOE"))
        self.btn_access_model.setText(_translate("MainWindow", "模型评价"))

    def bind_events(self, app: QMainWindow):
        self.btn_assess_woe.clicked.connect(app.model_woe_display)
Exemple #5
0
    def __init__(self):
        super().__init__()
        from .resources import icon_dbdistinctvalues, icon_netfill, icon_stockcolumns, icon_bubble, icon_areas, \
            icon_nostackdirectboth_52x60, icon_pie, icon_areaspiled, icon_columns_52x60

        self.gridLayout_3 = QGridLayout(self)
        self.gridLayout_3.setObjectName("gridLayout_3")
        self.btn_plot_box = PMToolButton(self)
        self.btn_plot_box.setMinimumSize(QSize(80, 60))
        self.btn_plot_box.setMaximumSize(QSize(80, 60))

        self.btn_plot_box.setIcon(icon_stockcolumns)
        self.btn_plot_box.setIconSize(QSize(32, 32))
        self.btn_plot_box.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_plot_box.setObjectName("btn_plot_box")
        self.gridLayout_3.addWidget(self.btn_plot_box, 1, 1, 1, 1)
        self.btn_plot_line = PMToolButton(self)
        self.btn_plot_line.setMinimumSize(QSize(80, 60))
        self.btn_plot_line.setMaximumSize(QSize(80, 60))

        self.btn_plot_line.setIcon(icon_nostackdirectboth_52x60)
        self.btn_plot_line.setIconSize(QSize(32, 32))
        self.btn_plot_line.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_plot_line.setObjectName("btn_plot_line")
        self.gridLayout_3.addWidget(self.btn_plot_line, 0, 1, 1, 1)
        spacerItem5 = QSpacerItem(
            20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
        self.gridLayout_3.addItem(spacerItem5, 5, 1, 1, 1)
        self.btn_plot_radar = PMToolButton(self)
        self.btn_plot_radar.setMinimumSize(QSize(80, 60))
        self.btn_plot_radar.setMaximumSize(QSize(80, 60))
        self.btn_plot_radar.setIcon(icon_netfill)
        self.btn_plot_radar.setIconSize(QSize(32, 32))
        self.btn_plot_radar.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_plot_radar.setObjectName("btn_plot_radar")
        self.gridLayout_3.addWidget(self.btn_plot_radar, 3, 0, 1, 1)
        self.btn_plot_scotter = PMToolButton(self)
        self.btn_plot_scotter.setMinimumSize(QSize(80, 60))
        self.btn_plot_scotter.setMaximumSize(QSize(80, 60))

        self.btn_plot_scotter.setIcon(icon_bubble)
        self.btn_plot_scotter.setIconSize(QSize(32, 32))
        self.btn_plot_scotter.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_plot_scotter.setObjectName("btn_plot_scotter")
        self.gridLayout_3.addWidget(self.btn_plot_scotter, 0, 2, 1, 1)
        self.btn_plot_area = PMToolButton(self)
        self.btn_plot_area.setMinimumSize(QSize(80, 60))
        self.btn_plot_area.setMaximumSize(QSize(80, 60))

        self.btn_plot_area.setIcon(icon_areas)
        self.btn_plot_area.setIconSize(QSize(32, 32))
        self.btn_plot_area.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_plot_area.setObjectName("btn_plot_area")
        self.gridLayout_3.addWidget(self.btn_plot_area, 2, 0, 1, 1)
        self.btn_plot_pie = PMToolButton(self)
        self.btn_plot_pie.setMinimumSize(QSize(80, 60))
        self.btn_plot_pie.setMaximumSize(QSize(80, 60))
        self.btn_plot_pie.setIcon(icon_pie)
        self.btn_plot_pie.setIconSize(QSize(32, 32))
        self.btn_plot_pie.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_plot_pie.setObjectName("btn_plot_pie")
        self.gridLayout_3.addWidget(self.btn_plot_pie, 1, 2, 1, 1)
        self.btn_plot_heap = PMToolButton(self)
        self.btn_plot_heap.setMinimumSize(QSize(80, 60))
        self.btn_plot_heap.setMaximumSize(QSize(80, 60))

        self.btn_plot_heap.setIcon(icon_areaspiled)
        self.btn_plot_heap.setIconSize(QSize(32, 32))
        self.btn_plot_heap.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_plot_heap.setObjectName("btn_plot_heap")
        self.gridLayout_3.addWidget(self.btn_plot_heap, 2, 2, 1, 1)
        self.btn_plot_hist = PMToolButton(self)
        self.btn_plot_hist.setMinimumSize(QSize(80, 60))
        self.btn_plot_hist.setMaximumSize(QSize(80, 60))
        self.btn_plot_hist.setIcon(icon_columns_52x60)
        self.btn_plot_hist.setIconSize(QSize(32, 32))
        self.btn_plot_hist.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_plot_hist.setObjectName("btn_plot_hist")
        self.gridLayout_3.addWidget(self.btn_plot_hist, 0, 0, 1, 1)
        self.btn_plot_bar = PMToolButton(self)
        self.btn_plot_bar.setMinimumSize(QSize(80, 60))
        self.btn_plot_bar.setMaximumSize(QSize(80, 60))
        self.btn_plot_bar.setIcon(icon_columns_52x60)
        self.btn_plot_bar.setIconSize(QSize(32, 32))
        self.btn_plot_bar.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_plot_bar.setObjectName("btn_plot_bar")
        self.gridLayout_3.addWidget(self.btn_plot_bar, 1, 0, 1, 1)
        self.btn_plot_missing_value = PMToolButton(self)
        self.btn_plot_missing_value.setMinimumSize(QSize(80, 60))
        self.btn_plot_missing_value.setMaximumSize(QSize(80, 60))
        self.btn_plot_missing_value.setIcon(icon_dbdistinctvalues)
        self.btn_plot_missing_value.setIconSize(QSize(32, 32))
        self.btn_plot_missing_value.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.btn_plot_missing_value.setObjectName("btn_plot_missing_value")
        self.gridLayout_3.addWidget(self.btn_plot_missing_value, 3, 2, 1, 1)
        self.btn_plot_radar_3 = PMToolButton(self)
        self.btn_plot_radar_3.setMinimumSize(QSize(80, 60))
        self.btn_plot_radar_3.setMaximumSize(QSize(80, 60))
        self.btn_plot_radar_3.setIcon(icon_netfill)
        self.btn_plot_radar_3.setIconSize(QSize(32, 32))
        self.btn_plot_radar_3.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_plot_radar_3.setObjectName("btn_plot_radar_3")
        self.gridLayout_3.addWidget(self.btn_plot_radar_3, 2, 1, 1, 1)
        self.btn_plot_radar_4 = PMToolButton(self)
        self.btn_plot_radar_4.setMinimumSize(QSize(80, 60))
        self.btn_plot_radar_4.setMaximumSize(QSize(80, 60))
        self.btn_plot_radar_4.setIcon(icon_netfill)
        self.btn_plot_radar_4.setIconSize(QSize(32, 32))
        self.btn_plot_radar_4.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_plot_radar_4.setObjectName("btn_plot_radar_4")
        self.gridLayout_3.addWidget(self.btn_plot_radar_4, 3, 1, 1, 1)
        self.translate()
Exemple #6
0
class PMPageModel(QWidget):
    def __init__(self):
        super().__init__()
        from .resources import icon_nostackdirectboth_52x60, icon_delete_columns, icon_formfilternavigator
        self.gridLayout_4 = QGridLayout(self)
        self.gridLayout_4.setObjectName("gridLayout_4")
        self.btn_model_cnn = PMToolButton(self)
        self.btn_model_cnn.setMinimumSize(QSize(80, 60))
        self.btn_model_cnn.setMaximumSize(QSize(80, 60))
        self.btn_model_cnn.setIcon(icon_nostackdirectboth_52x60)
        self.btn_model_cnn.setIconSize(QSize(32, 32))
        self.btn_model_cnn.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_model_cnn.setObjectName("btn_model_cnn")
        self.gridLayout_4.addWidget(self.btn_model_cnn, 1, 2, 1, 1)
        self.btn_model_time_seires = PMToolButton(self)
        self.btn_model_time_seires.setMinimumSize(QSize(80, 60))
        self.btn_model_time_seires.setMaximumSize(QSize(80, 60))
        self.btn_model_time_seires.setIcon(icon_delete_columns)
        self.btn_model_time_seires.setIconSize(QSize(32, 32))
        self.btn_model_time_seires.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.btn_model_time_seires.setObjectName("btn_model_time_seires")
        self.gridLayout_4.addWidget(self.btn_model_time_seires, 1, 1, 1, 1)
        self.btn_model_scorecard = PMToolButton(self)
        self.btn_model_scorecard.setMinimumSize(QSize(80, 60))
        self.btn_model_scorecard.setMaximumSize(QSize(80, 60))
        self.btn_model_scorecard.setIcon(icon_nostackdirectboth_52x60)
        self.btn_model_scorecard.setIconSize(QSize(32, 32))
        self.btn_model_scorecard.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_model_scorecard.setObjectName("btn_model_scorecard")
        self.gridLayout_4.addWidget(self.btn_model_scorecard, 1, 0, 1, 1)
        self.btn_model_3 = PMToolButton(self)
        self.btn_model_3.setMinimumSize(QSize(80, 60))
        self.btn_model_3.setMaximumSize(QSize(80, 60))
        self.btn_model_3.setIcon(icon_nostackdirectboth_52x60)
        self.btn_model_3.setIconSize(QSize(32, 32))
        self.btn_model_3.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_model_3.setObjectName("btn_model_3")
        self.gridLayout_4.addWidget(self.btn_model_3, 2, 2, 1, 1)
        self.btn_model_tree = PMToolButton(self)
        self.btn_model_tree.setMinimumSize(QSize(80, 60))
        self.btn_model_tree.setMaximumSize(QSize(80, 60))
        self.btn_model_tree.setIcon(icon_formfilternavigator)
        self.btn_model_tree.setIconSize(QSize(32, 32))
        self.btn_model_tree.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_model_tree.setObjectName("btn_model_tree")
        self.gridLayout_4.addWidget(self.btn_model_tree, 0, 2, 1, 1)
        self.btn_model_1 = PMToolButton(self)
        self.btn_model_1.setMinimumSize(QSize(80, 60))
        self.btn_model_1.setMaximumSize(QSize(80, 60))
        self.btn_model_1.setIcon(icon_nostackdirectboth_52x60)
        self.btn_model_1.setIconSize(QSize(32, 32))
        self.btn_model_1.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_model_1.setObjectName("btn_model_1")
        self.gridLayout_4.addWidget(self.btn_model_1, 2, 0, 1, 1)
        spacerItem6 = QSpacerItem(
            20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
        self.gridLayout_4.addItem(spacerItem6, 5, 1, 1, 1)
        self.btn_model_2 = PMToolButton(self)
        self.btn_model_2.setMinimumSize(QSize(80, 60))
        self.btn_model_2.setMaximumSize(QSize(80, 60))
        self.btn_model_2.setIcon(icon_nostackdirectboth_52x60)
        self.btn_model_2.setIconSize(QSize(32, 32))
        self.btn_model_2.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_model_2.setObjectName("btn_model_2")
        self.gridLayout_4.addWidget(self.btn_model_2, 2, 1, 1, 1)
        self.btn_model_logist = PMToolButton(self)
        self.btn_model_logist.setMinimumSize(QSize(80, 60))
        self.btn_model_logist.setMaximumSize(QSize(80, 60))
        self.btn_model_logist.setIcon(icon_formfilternavigator)
        self.btn_model_logist.setIconSize(QSize(32, 32))
        self.btn_model_logist.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_model_logist.setObjectName("btn_model_logist")
        self.gridLayout_4.addWidget(self.btn_model_logist, 0, 1, 1, 1)
        self.btn_model_linear_regression = PMToolButton(self)
        self.btn_model_linear_regression.setMinimumSize(QSize(80, 60))
        self.btn_model_linear_regression.setMaximumSize(QSize(80, 60))
        self.btn_model_linear_regression.setIcon(icon_formfilternavigator)
        self.btn_model_linear_regression.setIconSize(QSize(32, 32))
        self.btn_model_linear_regression.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.btn_model_linear_regression.setObjectName(
            "btn_model_linear_regression")
        self.gridLayout_4.addWidget(
            self.btn_model_linear_regression, 0, 0, 1, 1)
        self.btn_model_4 = PMToolButton(self)
        self.btn_model_4.setMinimumSize(QSize(80, 60))
        self.btn_model_4.setMaximumSize(QSize(80, 60))
        self.btn_model_4.setIcon(icon_nostackdirectboth_52x60)
        self.btn_model_4.setIconSize(QSize(32, 32))
        self.btn_model_4.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_model_4.setObjectName("btn_model_4")
        self.gridLayout_4.addWidget(self.btn_model_4, 3, 0, 1, 1)
        self.translate()

    def translate(self):
        _translate = QCoreApplication.translate
        self.btn_model_cnn.setText(_translate("MainWindow", "神经网络"))
        self.btn_model_time_seires.setText(_translate("MainWindow", "时间序列"))
        self.btn_model_scorecard.setText(_translate("MainWindow", "评分卡"))
        self.btn_model_3.setText(_translate("MainWindow", "聚类分析"))
        self.btn_model_tree.setText(_translate("MainWindow", "决策树"))
        self.btn_model_1.setText(_translate("MainWindow", "生存分析"))
        self.btn_model_2.setText(_translate("MainWindow", "多元分析"))
        self.btn_model_logist.setText(_translate("MainWindow", "逻辑回归"))
        self.btn_model_linear_regression.setText(
            _translate("MainWindow", "线性模型"))
        self.btn_model_4.setText(_translate("MainWindow", "预测"))

    def bind_events(self, app):
        self.btn_model_linear_regression.clicked.connect(
            app.model_frame_display)  # 展示模型页面
        self.btn_model_tree.clicked.connect(
            app.model_tree_display)  # 打开"模型-决策树"窗口
Exemple #7
0
class PMPagePlot(QWidget):
    def __init__(self):
        super().__init__()
        from .resources import icon_dbdistinctvalues, icon_netfill, icon_stockcolumns, icon_bubble, icon_areas, \
            icon_nostackdirectboth_52x60, icon_pie, icon_areaspiled, icon_columns_52x60

        self.gridLayout_3 = QGridLayout(self)
        self.gridLayout_3.setObjectName("gridLayout_3")
        self.btn_plot_box = PMToolButton(self)
        self.btn_plot_box.setMinimumSize(QSize(80, 60))
        self.btn_plot_box.setMaximumSize(QSize(80, 60))

        self.btn_plot_box.setIcon(icon_stockcolumns)
        self.btn_plot_box.setIconSize(QSize(32, 32))
        self.btn_plot_box.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_plot_box.setObjectName("btn_plot_box")
        self.gridLayout_3.addWidget(self.btn_plot_box, 1, 1, 1, 1)
        self.btn_plot_line = PMToolButton(self)
        self.btn_plot_line.setMinimumSize(QSize(80, 60))
        self.btn_plot_line.setMaximumSize(QSize(80, 60))

        self.btn_plot_line.setIcon(icon_nostackdirectboth_52x60)
        self.btn_plot_line.setIconSize(QSize(32, 32))
        self.btn_plot_line.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_plot_line.setObjectName("btn_plot_line")
        self.gridLayout_3.addWidget(self.btn_plot_line, 0, 1, 1, 1)
        spacerItem5 = QSpacerItem(
            20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
        self.gridLayout_3.addItem(spacerItem5, 5, 1, 1, 1)
        self.btn_plot_radar = PMToolButton(self)
        self.btn_plot_radar.setMinimumSize(QSize(80, 60))
        self.btn_plot_radar.setMaximumSize(QSize(80, 60))
        self.btn_plot_radar.setIcon(icon_netfill)
        self.btn_plot_radar.setIconSize(QSize(32, 32))
        self.btn_plot_radar.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_plot_radar.setObjectName("btn_plot_radar")
        self.gridLayout_3.addWidget(self.btn_plot_radar, 3, 0, 1, 1)
        self.btn_plot_scotter = PMToolButton(self)
        self.btn_plot_scotter.setMinimumSize(QSize(80, 60))
        self.btn_plot_scotter.setMaximumSize(QSize(80, 60))

        self.btn_plot_scotter.setIcon(icon_bubble)
        self.btn_plot_scotter.setIconSize(QSize(32, 32))
        self.btn_plot_scotter.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_plot_scotter.setObjectName("btn_plot_scotter")
        self.gridLayout_3.addWidget(self.btn_plot_scotter, 0, 2, 1, 1)
        self.btn_plot_area = PMToolButton(self)
        self.btn_plot_area.setMinimumSize(QSize(80, 60))
        self.btn_plot_area.setMaximumSize(QSize(80, 60))

        self.btn_plot_area.setIcon(icon_areas)
        self.btn_plot_area.setIconSize(QSize(32, 32))
        self.btn_plot_area.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_plot_area.setObjectName("btn_plot_area")
        self.gridLayout_3.addWidget(self.btn_plot_area, 2, 0, 1, 1)
        self.btn_plot_pie = PMToolButton(self)
        self.btn_plot_pie.setMinimumSize(QSize(80, 60))
        self.btn_plot_pie.setMaximumSize(QSize(80, 60))
        self.btn_plot_pie.setIcon(icon_pie)
        self.btn_plot_pie.setIconSize(QSize(32, 32))
        self.btn_plot_pie.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_plot_pie.setObjectName("btn_plot_pie")
        self.gridLayout_3.addWidget(self.btn_plot_pie, 1, 2, 1, 1)
        self.btn_plot_heap = PMToolButton(self)
        self.btn_plot_heap.setMinimumSize(QSize(80, 60))
        self.btn_plot_heap.setMaximumSize(QSize(80, 60))

        self.btn_plot_heap.setIcon(icon_areaspiled)
        self.btn_plot_heap.setIconSize(QSize(32, 32))
        self.btn_plot_heap.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_plot_heap.setObjectName("btn_plot_heap")
        self.gridLayout_3.addWidget(self.btn_plot_heap, 2, 2, 1, 1)
        self.btn_plot_hist = PMToolButton(self)
        self.btn_plot_hist.setMinimumSize(QSize(80, 60))
        self.btn_plot_hist.setMaximumSize(QSize(80, 60))
        self.btn_plot_hist.setIcon(icon_columns_52x60)
        self.btn_plot_hist.setIconSize(QSize(32, 32))
        self.btn_plot_hist.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_plot_hist.setObjectName("btn_plot_hist")
        self.gridLayout_3.addWidget(self.btn_plot_hist, 0, 0, 1, 1)
        self.btn_plot_bar = PMToolButton(self)
        self.btn_plot_bar.setMinimumSize(QSize(80, 60))
        self.btn_plot_bar.setMaximumSize(QSize(80, 60))
        self.btn_plot_bar.setIcon(icon_columns_52x60)
        self.btn_plot_bar.setIconSize(QSize(32, 32))
        self.btn_plot_bar.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_plot_bar.setObjectName("btn_plot_bar")
        self.gridLayout_3.addWidget(self.btn_plot_bar, 1, 0, 1, 1)
        self.btn_plot_missing_value = PMToolButton(self)
        self.btn_plot_missing_value.setMinimumSize(QSize(80, 60))
        self.btn_plot_missing_value.setMaximumSize(QSize(80, 60))
        self.btn_plot_missing_value.setIcon(icon_dbdistinctvalues)
        self.btn_plot_missing_value.setIconSize(QSize(32, 32))
        self.btn_plot_missing_value.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.btn_plot_missing_value.setObjectName("btn_plot_missing_value")
        self.gridLayout_3.addWidget(self.btn_plot_missing_value, 3, 2, 1, 1)
        self.btn_plot_radar_3 = PMToolButton(self)
        self.btn_plot_radar_3.setMinimumSize(QSize(80, 60))
        self.btn_plot_radar_3.setMaximumSize(QSize(80, 60))
        self.btn_plot_radar_3.setIcon(icon_netfill)
        self.btn_plot_radar_3.setIconSize(QSize(32, 32))
        self.btn_plot_radar_3.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_plot_radar_3.setObjectName("btn_plot_radar_3")
        self.gridLayout_3.addWidget(self.btn_plot_radar_3, 2, 1, 1, 1)
        self.btn_plot_radar_4 = PMToolButton(self)
        self.btn_plot_radar_4.setMinimumSize(QSize(80, 60))
        self.btn_plot_radar_4.setMaximumSize(QSize(80, 60))
        self.btn_plot_radar_4.setIcon(icon_netfill)
        self.btn_plot_radar_4.setIconSize(QSize(32, 32))
        self.btn_plot_radar_4.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_plot_radar_4.setObjectName("btn_plot_radar_4")
        self.gridLayout_3.addWidget(self.btn_plot_radar_4, 3, 1, 1, 1)
        self.translate()

    def translate(self):
        _translate = QCoreApplication.translate
        self.btn_plot_box.setText(_translate("MainWindow", "盒形图"))
        self.btn_plot_line.setText(_translate("MainWindow", "折线图"))
        self.btn_plot_radar.setText(_translate("MainWindow", "雷达图"))
        self.btn_plot_scotter.setText(_translate("MainWindow", "散点图"))
        self.btn_plot_area.setText(_translate("MainWindow", "面积图"))
        self.btn_plot_pie.setText(_translate("MainWindow", "饼图"))
        self.btn_plot_heap.setText(_translate("MainWindow", "热力图"))
        self.btn_plot_hist.setText(_translate("MainWindow", "直方图"))
        self.btn_plot_bar.setText(_translate("MainWindow", "条形图"))
        self.btn_plot_missing_value.setText(_translate("MainWindow", "缺失值"))
        self.btn_plot_radar_3.setText(_translate("MainWindow", "马赛克图"))
        self.btn_plot_radar_4.setText(_translate("MainWindow", "文本地图"))

    def bind_events(self, app):
        self.btn_plot_hist.clicked.connect(
            app.plot_frame_display)  # 打开"数据可视化-直方图"窗口
Exemple #8
0
    def __init__(self):
        super().__init__()
        from .resources import icon_wordcountdialog, icon_distributecolumns, icon_dbdistinctvalues, \
            icon_formfilternavigator, icon_lc_closedoc

        self.gridLayout_2 = QGridLayout(self)
        spacerItem4 = QSpacerItem(
            20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
        self.gridLayout_2.addItem(spacerItem4, 6, 0, 1, 1)
        self.btn_stats_base = PMToolButton(self)
        self.btn_stats_base.setMinimumSize(QSize(80, 60))
        self.btn_stats_base.setMaximumSize(QSize(80, 60))

        self.btn_stats_base.setIcon(icon_wordcountdialog)
        self.btn_stats_base.setIconSize(QSize(32, 32))
        self.btn_stats_base.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.gridLayout_2.addWidget(self.btn_stats_base, 2, 0, 1, 1)
        self.btn_stats_distribution = PMToolButton(self)
        self.btn_stats_distribution.setMinimumSize(QSize(80, 60))
        self.btn_stats_distribution.setMaximumSize(QSize(80, 60))

        self.btn_stats_distribution.setIcon(icon_distributecolumns)
        self.btn_stats_distribution.setIconSize(QSize(32, 32))
        self.btn_stats_distribution.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.gridLayout_2.addWidget(self.btn_stats_distribution, 3, 0, 1, 1)
        self.btn_stats_sum = PMToolButton(self)
        self.btn_stats_sum.setMinimumSize(QSize(80, 60))
        self.btn_stats_sum.setMaximumSize(QSize(80, 60))
        self.btn_stats_sum.setIcon(icon_distributecolumns)
        self.btn_stats_sum.setIconSize(QSize(32, 32))
        self.btn_stats_sum.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.gridLayout_2.addWidget(self.btn_stats_sum, 2, 1, 1, 1)
        self.btn_stats_frequency = PMToolButton(self)
        self.btn_stats_frequency.setMinimumSize(QSize(80, 60))
        self.btn_stats_frequency.setMaximumSize(QSize(80, 60))
        self.btn_stats_frequency.setIcon(icon_distributecolumns)
        self.btn_stats_frequency.setIconSize(QSize(32, 32))
        self.btn_stats_frequency.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.gridLayout_2.addWidget(self.btn_stats_frequency, 2, 2, 1, 1)
        self.btn_stats_corr = PMToolButton(self)
        self.btn_stats_corr.setMinimumSize(QSize(80, 60))
        self.btn_stats_corr.setMaximumSize(QSize(80, 60))
        self.btn_stats_corr.setIcon(icon_distributecolumns)
        self.btn_stats_corr.setIconSize(QSize(32, 32))
        self.btn_stats_corr.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_stats_corr.setObjectName("btn_stats_corr")
        self.gridLayout_2.addWidget(self.btn_stats_corr, 3, 1, 1, 1)
        self.btn_stats_t = PMToolButton(self)
        self.btn_stats_t.setMinimumSize(QSize(80, 60))
        self.btn_stats_t.setMaximumSize(QSize(80, 60))
        self.btn_stats_t.setIcon(icon_distributecolumns)
        self.btn_stats_t.setIconSize(QSize(32, 32))
        self.btn_stats_t.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_stats_t.setObjectName("btn_stats_t")
        self.gridLayout_2.addWidget(self.btn_stats_t, 3, 2, 1, 1)
        self.btn_stats_missing_value = PMToolButton(self)
        self.btn_stats_missing_value.setMinimumSize(QSize(80, 60))
        self.btn_stats_missing_value.setMaximumSize(QSize(80, 60))
        self.btn_stats_missing_value.setIcon(icon_dbdistinctvalues)
        self.btn_stats_missing_value.setIconSize(QSize(32, 32))
        self.btn_stats_missing_value.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.btn_stats_missing_value.setObjectName("btn_stats_missing_value")
        self.gridLayout_2.addWidget(self.btn_stats_missing_value, 4, 0, 1, 1)
        self.btn_stats_except_value = PMToolButton(self)
        self.btn_stats_except_value.setMinimumSize(QSize(80, 60))
        self.btn_stats_except_value.setMaximumSize(QSize(80, 60))

        self.btn_stats_except_value.setIcon(icon_lc_closedoc)
        self.btn_stats_except_value.setIconSize(QSize(32, 32))
        self.btn_stats_except_value.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.btn_stats_except_value.setObjectName("btn_stats_except_value")
        self.gridLayout_2.addWidget(self.btn_stats_except_value, 4, 2, 1, 1)
        self.btn_stats_unique_value = PMToolButton(self)
        self.btn_stats_unique_value.setMinimumSize(QSize(80, 60))
        self.btn_stats_unique_value.setMaximumSize(QSize(80, 60))
        self.btn_stats_unique_value.setIcon(icon_formfilternavigator)
        self.btn_stats_unique_value.setIconSize(QSize(32, 32))
        self.btn_stats_unique_value.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.btn_stats_unique_value.setObjectName("btn_stats_unique_value")
        self.gridLayout_2.addWidget(self.btn_stats_unique_value, 4, 1, 1, 1)
        self.translate()
Exemple #9
0
class PMPageStats(QWidget):
    def __init__(self):
        super().__init__()
        from .resources import icon_wordcountdialog, icon_distributecolumns, icon_dbdistinctvalues, \
            icon_formfilternavigator, icon_lc_closedoc

        self.gridLayout_2 = QGridLayout(self)
        spacerItem4 = QSpacerItem(
            20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
        self.gridLayout_2.addItem(spacerItem4, 6, 0, 1, 1)
        self.btn_stats_base = PMToolButton(self)
        self.btn_stats_base.setMinimumSize(QSize(80, 60))
        self.btn_stats_base.setMaximumSize(QSize(80, 60))

        self.btn_stats_base.setIcon(icon_wordcountdialog)
        self.btn_stats_base.setIconSize(QSize(32, 32))
        self.btn_stats_base.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.gridLayout_2.addWidget(self.btn_stats_base, 2, 0, 1, 1)
        self.btn_stats_distribution = PMToolButton(self)
        self.btn_stats_distribution.setMinimumSize(QSize(80, 60))
        self.btn_stats_distribution.setMaximumSize(QSize(80, 60))

        self.btn_stats_distribution.setIcon(icon_distributecolumns)
        self.btn_stats_distribution.setIconSize(QSize(32, 32))
        self.btn_stats_distribution.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.gridLayout_2.addWidget(self.btn_stats_distribution, 3, 0, 1, 1)
        self.btn_stats_sum = PMToolButton(self)
        self.btn_stats_sum.setMinimumSize(QSize(80, 60))
        self.btn_stats_sum.setMaximumSize(QSize(80, 60))
        self.btn_stats_sum.setIcon(icon_distributecolumns)
        self.btn_stats_sum.setIconSize(QSize(32, 32))
        self.btn_stats_sum.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.gridLayout_2.addWidget(self.btn_stats_sum, 2, 1, 1, 1)
        self.btn_stats_frequency = PMToolButton(self)
        self.btn_stats_frequency.setMinimumSize(QSize(80, 60))
        self.btn_stats_frequency.setMaximumSize(QSize(80, 60))
        self.btn_stats_frequency.setIcon(icon_distributecolumns)
        self.btn_stats_frequency.setIconSize(QSize(32, 32))
        self.btn_stats_frequency.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.gridLayout_2.addWidget(self.btn_stats_frequency, 2, 2, 1, 1)
        self.btn_stats_corr = PMToolButton(self)
        self.btn_stats_corr.setMinimumSize(QSize(80, 60))
        self.btn_stats_corr.setMaximumSize(QSize(80, 60))
        self.btn_stats_corr.setIcon(icon_distributecolumns)
        self.btn_stats_corr.setIconSize(QSize(32, 32))
        self.btn_stats_corr.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_stats_corr.setObjectName("btn_stats_corr")
        self.gridLayout_2.addWidget(self.btn_stats_corr, 3, 1, 1, 1)
        self.btn_stats_t = PMToolButton(self)
        self.btn_stats_t.setMinimumSize(QSize(80, 60))
        self.btn_stats_t.setMaximumSize(QSize(80, 60))
        self.btn_stats_t.setIcon(icon_distributecolumns)
        self.btn_stats_t.setIconSize(QSize(32, 32))
        self.btn_stats_t.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_stats_t.setObjectName("btn_stats_t")
        self.gridLayout_2.addWidget(self.btn_stats_t, 3, 2, 1, 1)
        self.btn_stats_missing_value = PMToolButton(self)
        self.btn_stats_missing_value.setMinimumSize(QSize(80, 60))
        self.btn_stats_missing_value.setMaximumSize(QSize(80, 60))
        self.btn_stats_missing_value.setIcon(icon_dbdistinctvalues)
        self.btn_stats_missing_value.setIconSize(QSize(32, 32))
        self.btn_stats_missing_value.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.btn_stats_missing_value.setObjectName("btn_stats_missing_value")
        self.gridLayout_2.addWidget(self.btn_stats_missing_value, 4, 0, 1, 1)
        self.btn_stats_except_value = PMToolButton(self)
        self.btn_stats_except_value.setMinimumSize(QSize(80, 60))
        self.btn_stats_except_value.setMaximumSize(QSize(80, 60))

        self.btn_stats_except_value.setIcon(icon_lc_closedoc)
        self.btn_stats_except_value.setIconSize(QSize(32, 32))
        self.btn_stats_except_value.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.btn_stats_except_value.setObjectName("btn_stats_except_value")
        self.gridLayout_2.addWidget(self.btn_stats_except_value, 4, 2, 1, 1)
        self.btn_stats_unique_value = PMToolButton(self)
        self.btn_stats_unique_value.setMinimumSize(QSize(80, 60))
        self.btn_stats_unique_value.setMaximumSize(QSize(80, 60))
        self.btn_stats_unique_value.setIcon(icon_formfilternavigator)
        self.btn_stats_unique_value.setIconSize(QSize(32, 32))
        self.btn_stats_unique_value.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.btn_stats_unique_value.setObjectName("btn_stats_unique_value")
        self.gridLayout_2.addWidget(self.btn_stats_unique_value, 4, 1, 1, 1)
        self.translate()

    def translate(self):
        _translate = QCoreApplication.translate
        self.btn_stats_base.setToolTip(_translate("MainWindow", "描述数据特征"))
        self.btn_stats_base.setText(_translate("MainWindow", "描述统计"))
        self.btn_stats_distribution.setText(_translate("MainWindow", "数据分布"))
        self.btn_stats_sum.setText(_translate("MainWindow", "汇总统计量"))
        self.btn_stats_frequency.setText(_translate("MainWindow", "单因子频数"))
        self.btn_stats_corr.setText(_translate("MainWindow", "相关分析"))
        self.btn_stats_t.setText(_translate("MainWindow", "t检验"))
        self.btn_stats_missing_value.setToolTip(
            _translate("MainWindow", "描述缺失数据"))
        self.btn_stats_missing_value.setText(_translate("MainWindow", "缺失数据"))
        self.btn_stats_except_value.setText(_translate("MainWindow", "异常值"))
        self.btn_stats_unique_value.setText(_translate("MainWindow", "唯一值"))

    def bind_events(self, app):
        self.btn_stats_base.clicked.connect(
            app.stats_base_display)  # 显示“描述统计”窗口
Exemple #10
0
    def setup_ui(self):
        # self.setMaximumHeight(300)
        from .resources import icon_lc_connectorcurve, icon_transition_random, icon_formfilternavigator, \
            icon_data_provider, icon_lc_togglemergecells, icon_lc_datadatapilotrun, icon_delete_columns, \
            icon_mergedocuments, icon_lc_accepttrackedchange, \
            icon_lc_datasubtotals, icon_dbdistinctvalues, icon_entirecolumn, icon_lc_selectdb, \
            icon_lc_dbviewtablenames, icon_lc_dataarearefresh, icon_NavOverFlow_Info, \
            icon_graphicfilterpopart, icon_deleterows, icon_lc_renametable, icon_lc_formatcolumns

        self.flow_layout = PMFlowLayoutWithGrid(self)
        self.btn_data_filter = PMToolButton()
        self.btn_data_filter.setMinimumSize(QSize(80, 60))
        self.btn_data_filter.setMaximumSize(QSize(80, 60))

        self.btn_data_filter.setIcon(icon_lc_connectorcurve)
        self.btn_data_filter.setIconSize(QSize(32, 32))
        self.btn_data_filter.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_data_filter.setObjectName("btn_data_filter")
        self.flow_layout.addWidget(self.btn_data_filter, 5, 4, 1, 1)
        self.btn_data_sample = PMToolButton()
        self.btn_data_sample.setMinimumSize(QSize(80, 60))
        self.btn_data_sample.setMaximumSize(QSize(80, 60))

        self.btn_data_sample.setIcon(icon_transition_random)
        self.btn_data_sample.setIconSize(QSize(32, 32))
        self.btn_data_sample.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_data_sample.setObjectName("btn_data_sample")
        self.flow_layout.addWidget(self.btn_data_sample, 3, 3, 1, 1)
        self.btn_data_new_column = PMToolButton()
        self.btn_data_new_column.setMinimumSize(QSize(80, 60))
        self.btn_data_new_column.setMaximumSize(QSize(80, 60))

        self.btn_data_new_column.setIcon(icon_entirecolumn)
        self.btn_data_new_column.setIconSize(QSize(32, 32))
        self.btn_data_new_column.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_data_new_column.setObjectName("btn_data_new_column")
        self.flow_layout.addWidget(self.btn_data_new_column, 2, 1, 1, 1)
        self.btn_data_row_filter = PMToolButton()
        self.btn_data_row_filter.setMinimumSize(QSize(80, 60))
        self.btn_data_row_filter.setMaximumSize(QSize(80, 60))

        self.btn_data_row_filter.setIcon(icon_formfilternavigator)
        self.btn_data_row_filter.setIconSize(QSize(32, 32))
        self.btn_data_row_filter.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_data_row_filter.setObjectName("btn_data_row_filter")
        self.flow_layout.addWidget(self.btn_data_row_filter, 0, 1, 1, 1)
        self.btn_3 = PMToolButton()
        self.btn_3.setMinimumSize(QSize(80, 60))
        self.btn_3.setMaximumSize(QSize(80, 60))

        self.btn_3.setIcon(icon_lc_datasubtotals)
        self.btn_3.setIconSize(QSize(32, 32))
        self.btn_3.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_3.setObjectName("btn_3")
        self.flow_layout.addWidget(self.btn_3, 6, 4, 1, 1)
        spacerItem3 = QSpacerItem(
            20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
        self.flow_layout.addItem(spacerItem3, 11, 3, 1, 1)
        self.btn_data_column_encode = PMToolButton()
        self.btn_data_column_encode.setMinimumSize(QSize(80, 60))
        self.btn_data_column_encode.setMaximumSize(QSize(80, 60))
        icon29 = QIcon()
        icon29.addPixmap(
            QPixmap(":/pyqt/source/images/wordcountdialog.png"), QIcon.Normal, QIcon.Off)
        self.btn_data_column_encode.setIcon(icon29)
        self.btn_data_column_encode.setIconSize(QSize(32, 32))
        self.btn_data_column_encode.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.btn_data_column_encode.setObjectName("btn_data_column_encode")
        self.flow_layout.addWidget(self.btn_data_column_encode, 6, 3, 1, 1)
        self.btn_data_merge_horizontal = PMToolButton()
        self.btn_data_merge_horizontal.setMinimumSize(QSize(80, 60))
        self.btn_data_merge_horizontal.setMaximumSize(QSize(80, 60))

        self.btn_data_merge_horizontal.setIcon(icon_lc_togglemergecells)
        self.btn_data_merge_horizontal.setIconSize(QSize(32, 32))
        self.btn_data_merge_horizontal.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.btn_data_merge_horizontal.setObjectName(
            "btn_data_merge_horizontal")
        self.flow_layout.addWidget(self.btn_data_merge_horizontal, 5, 3, 1, 1)
        self.btn_data_transpose = PMToolButton()
        self.btn_data_transpose.setMinimumSize(QSize(80, 60))
        self.btn_data_transpose.setMaximumSize(QSize(80, 60))

        self.btn_data_transpose.setIcon(icon_lc_datadatapilotrun)
        self.btn_data_transpose.setIconSize(QSize(32, 32))
        self.btn_data_transpose.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_data_transpose.setObjectName("btn_data_transpose")
        self.flow_layout.addWidget(self.btn_data_transpose, 3, 4, 1, 1)
        self.btn_data_replace = PMToolButton()
        self.btn_data_replace.setMinimumSize(QSize(80, 60))
        self.btn_data_replace.setMaximumSize(QSize(80, 60))

        self.btn_data_replace.setIcon(icon_data_provider)
        self.btn_data_replace.setIconSize(QSize(32, 32))
        self.btn_data_replace.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_data_replace.setObjectName("btn_data_replace")
        self.flow_layout.addWidget(self.btn_data_replace, 0, 3, 1, 1)
        self.btn_data_missing_value = PMToolButton()
        self.btn_data_missing_value.setMinimumSize(QSize(80, 60))
        self.btn_data_missing_value.setMaximumSize(QSize(80, 60))

        self.btn_data_missing_value.setIcon(icon_dbdistinctvalues)
        self.btn_data_missing_value.setIconSize(QSize(32, 32))
        self.btn_data_missing_value.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.btn_data_missing_value.setObjectName("btn_data_missing_value")
        self.flow_layout.addWidget(self.btn_data_missing_value, 3, 1, 1, 1)
        self.btn_data_column_name = PMToolButton()
        self.btn_data_column_name.setMinimumSize(QSize(80, 60))
        self.btn_data_column_name.setMaximumSize(QSize(80, 60))

        self.btn_data_column_name.setIcon(icon_lc_selectdb)
        self.btn_data_column_name.setIconSize(QSize(32, 32))
        self.btn_data_column_name.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.btn_data_column_name.setObjectName("btn_data_column_name")
        self.flow_layout.addWidget(self.btn_data_column_name, 1, 1, 1, 1)
        self.btn_4 = PMToolButton()
        self.btn_4.setMinimumSize(QSize(80, 60))
        self.btn_4.setMaximumSize(QSize(80, 60))

        self.btn_4.setIcon(icon_lc_accepttrackedchange)
        self.btn_4.setIconSize(QSize(32, 32))
        self.btn_4.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_4.setObjectName("btn_4")
        self.flow_layout.addWidget(self.btn_4, 7, 4, 1, 1)
        self.btn_data_info = PMToolButton()
        self.btn_data_info.setMinimumSize(QSize(80, 60))
        self.btn_data_info.setMaximumSize(QSize(80, 60))

        self.btn_data_info.setIcon(icon_NavOverFlow_Info)
        self.btn_data_info.setIconSize(QSize(32, 32))
        self.btn_data_info.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_data_info.setObjectName("btn_data_info")
        self.flow_layout.addWidget(self.btn_data_info, 0, 4, 1, 1)
        self.btn_data_merge_vertical = PMToolButton()
        self.btn_data_merge_vertical.setMinimumSize(QSize(80, 60))
        self.btn_data_merge_vertical.setMaximumSize(QSize(80, 60))

        self.btn_data_merge_vertical.setIcon(icon_mergedocuments)
        self.btn_data_merge_vertical.setIconSize(QSize(32, 32))
        self.btn_data_merge_vertical.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.btn_data_merge_vertical.setObjectName("btn_data_merge_vertical")
        self.flow_layout.addWidget(self.btn_data_merge_vertical, 5, 1, 1, 1)
        self.btn_delete_column = PMToolButton()
        self.btn_delete_column.setMinimumSize(QSize(80, 60))
        self.btn_delete_column.setMaximumSize(QSize(80, 60))

        self.btn_delete_column.setIcon(icon_delete_columns)
        self.btn_delete_column.setIconSize(QSize(32, 32))
        self.btn_delete_column.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_delete_column.setObjectName("btn_delete_column")
        self.flow_layout.addWidget(self.btn_delete_column, 2, 3, 1, 1)
        self.btn_data_sort = PMToolButton()
        self.btn_data_sort.setMinimumSize(QSize(80, 60))
        self.btn_data_sort.setMaximumSize(QSize(80, 60))

        self.btn_data_sort.setIcon(icon_lc_dbviewtablenames)
        self.btn_data_sort.setIconSize(QSize(32, 32))
        self.btn_data_sort.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_data_sort.setObjectName("btn_data_sort")
        self.flow_layout.addWidget(self.btn_data_sort, 7, 1, 1, 1)
        self.btn_data_partition = PMToolButton()
        self.btn_data_partition.setMinimumSize(QSize(80, 60))
        self.btn_data_partition.setMaximumSize(QSize(80, 60))

        self.btn_data_partition.setIcon(icon_graphicfilterpopart)
        self.btn_data_partition.setIconSize(QSize(32, 32))
        self.btn_data_partition.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_data_partition.setObjectName("btn_data_partition")
        self.flow_layout.addWidget(self.btn_data_partition, 1, 4, 1, 1)
        self.btn_delete_row = PMToolButton()
        self.btn_delete_row.setMinimumSize(QSize(80, 60))
        self.btn_delete_row.setMaximumSize(QSize(80, 60))

        self.btn_delete_row.setIcon(icon_deleterows)
        self.btn_delete_row.setIconSize(QSize(32, 32))
        self.btn_delete_row.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_delete_row.setObjectName("btn_delete_row")
        self.flow_layout.addWidget(self.btn_delete_row, 2, 4, 1, 1)
        self.btn_data_role = PMToolButton()
        self.btn_data_role.setMinimumSize(QSize(80, 60))
        self.btn_data_role.setMaximumSize(QSize(80, 60))

        self.btn_data_role.setIcon(icon_lc_renametable)
        self.btn_data_role.setIconSize(QSize(32, 32))
        self.btn_data_role.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_data_role.setObjectName("btn_data_role")
        self.flow_layout.addWidget(self.btn_data_role, 1, 3, 1, 1)
        self.btn_data_column_desc = PMToolButton()
        self.btn_data_column_desc.setMinimumSize(QSize(80, 60))
        self.btn_data_column_desc.setMaximumSize(QSize(80, 60))

        self.btn_data_column_desc.setIcon(icon_lc_formatcolumns)
        self.btn_data_column_desc.setIconSize(QSize(32, 32))
        self.btn_data_column_desc.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.btn_data_column_desc.setObjectName("btn_data_column_desc")
        self.flow_layout.addWidget(self.btn_data_column_desc, 7, 3, 1, 1)
        self.btn_data_standard = PMToolButton()
        self.btn_data_standard.setMinimumSize(QSize(80, 60))
        self.btn_data_standard.setMaximumSize(QSize(80, 60))

        self.btn_data_standard.setIcon(icon_lc_dataarearefresh)
        self.btn_data_standard.setIconSize(QSize(32, 32))
        self.btn_data_standard.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_data_standard.setObjectName("btn_data_standard")
        self.flow_layout.addWidget(self.btn_data_standard, 6, 1, 1, 1)

        self.retranslate_UI()
Exemple #11
0
class PMPageData(QWidget):
    flow_layout: 'PMFlowLayoutWithGrid' = None

    def __init__(self):
        super().__init__()

    def resizeEvent(self, a0: QResizeEvent) -> None:
        if self.flow_layout is not None:
            self.flow_layout.on_resize()

    def setup_ui(self):
        # self.setMaximumHeight(300)
        from .resources import icon_lc_connectorcurve, icon_transition_random, icon_formfilternavigator, \
            icon_data_provider, icon_lc_togglemergecells, icon_lc_datadatapilotrun, icon_delete_columns, \
            icon_mergedocuments, icon_lc_accepttrackedchange, \
            icon_lc_datasubtotals, icon_dbdistinctvalues, icon_entirecolumn, icon_lc_selectdb, \
            icon_lc_dbviewtablenames, icon_lc_dataarearefresh, icon_NavOverFlow_Info, \
            icon_graphicfilterpopart, icon_deleterows, icon_lc_renametable, icon_lc_formatcolumns

        self.flow_layout = PMFlowLayoutWithGrid(self)
        self.btn_data_filter = PMToolButton()
        self.btn_data_filter.setMinimumSize(QSize(80, 60))
        self.btn_data_filter.setMaximumSize(QSize(80, 60))

        self.btn_data_filter.setIcon(icon_lc_connectorcurve)
        self.btn_data_filter.setIconSize(QSize(32, 32))
        self.btn_data_filter.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_data_filter.setObjectName("btn_data_filter")
        self.flow_layout.addWidget(self.btn_data_filter, 5, 4, 1, 1)
        self.btn_data_sample = PMToolButton()
        self.btn_data_sample.setMinimumSize(QSize(80, 60))
        self.btn_data_sample.setMaximumSize(QSize(80, 60))

        self.btn_data_sample.setIcon(icon_transition_random)
        self.btn_data_sample.setIconSize(QSize(32, 32))
        self.btn_data_sample.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_data_sample.setObjectName("btn_data_sample")
        self.flow_layout.addWidget(self.btn_data_sample, 3, 3, 1, 1)
        self.btn_data_new_column = PMToolButton()
        self.btn_data_new_column.setMinimumSize(QSize(80, 60))
        self.btn_data_new_column.setMaximumSize(QSize(80, 60))

        self.btn_data_new_column.setIcon(icon_entirecolumn)
        self.btn_data_new_column.setIconSize(QSize(32, 32))
        self.btn_data_new_column.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_data_new_column.setObjectName("btn_data_new_column")
        self.flow_layout.addWidget(self.btn_data_new_column, 2, 1, 1, 1)
        self.btn_data_row_filter = PMToolButton()
        self.btn_data_row_filter.setMinimumSize(QSize(80, 60))
        self.btn_data_row_filter.setMaximumSize(QSize(80, 60))

        self.btn_data_row_filter.setIcon(icon_formfilternavigator)
        self.btn_data_row_filter.setIconSize(QSize(32, 32))
        self.btn_data_row_filter.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_data_row_filter.setObjectName("btn_data_row_filter")
        self.flow_layout.addWidget(self.btn_data_row_filter, 0, 1, 1, 1)
        self.btn_3 = PMToolButton()
        self.btn_3.setMinimumSize(QSize(80, 60))
        self.btn_3.setMaximumSize(QSize(80, 60))

        self.btn_3.setIcon(icon_lc_datasubtotals)
        self.btn_3.setIconSize(QSize(32, 32))
        self.btn_3.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_3.setObjectName("btn_3")
        self.flow_layout.addWidget(self.btn_3, 6, 4, 1, 1)
        spacerItem3 = QSpacerItem(
            20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
        self.flow_layout.addItem(spacerItem3, 11, 3, 1, 1)
        self.btn_data_column_encode = PMToolButton()
        self.btn_data_column_encode.setMinimumSize(QSize(80, 60))
        self.btn_data_column_encode.setMaximumSize(QSize(80, 60))
        icon29 = QIcon()
        icon29.addPixmap(
            QPixmap(":/pyqt/source/images/wordcountdialog.png"), QIcon.Normal, QIcon.Off)
        self.btn_data_column_encode.setIcon(icon29)
        self.btn_data_column_encode.setIconSize(QSize(32, 32))
        self.btn_data_column_encode.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.btn_data_column_encode.setObjectName("btn_data_column_encode")
        self.flow_layout.addWidget(self.btn_data_column_encode, 6, 3, 1, 1)
        self.btn_data_merge_horizontal = PMToolButton()
        self.btn_data_merge_horizontal.setMinimumSize(QSize(80, 60))
        self.btn_data_merge_horizontal.setMaximumSize(QSize(80, 60))

        self.btn_data_merge_horizontal.setIcon(icon_lc_togglemergecells)
        self.btn_data_merge_horizontal.setIconSize(QSize(32, 32))
        self.btn_data_merge_horizontal.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.btn_data_merge_horizontal.setObjectName(
            "btn_data_merge_horizontal")
        self.flow_layout.addWidget(self.btn_data_merge_horizontal, 5, 3, 1, 1)
        self.btn_data_transpose = PMToolButton()
        self.btn_data_transpose.setMinimumSize(QSize(80, 60))
        self.btn_data_transpose.setMaximumSize(QSize(80, 60))

        self.btn_data_transpose.setIcon(icon_lc_datadatapilotrun)
        self.btn_data_transpose.setIconSize(QSize(32, 32))
        self.btn_data_transpose.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_data_transpose.setObjectName("btn_data_transpose")
        self.flow_layout.addWidget(self.btn_data_transpose, 3, 4, 1, 1)
        self.btn_data_replace = PMToolButton()
        self.btn_data_replace.setMinimumSize(QSize(80, 60))
        self.btn_data_replace.setMaximumSize(QSize(80, 60))

        self.btn_data_replace.setIcon(icon_data_provider)
        self.btn_data_replace.setIconSize(QSize(32, 32))
        self.btn_data_replace.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_data_replace.setObjectName("btn_data_replace")
        self.flow_layout.addWidget(self.btn_data_replace, 0, 3, 1, 1)
        self.btn_data_missing_value = PMToolButton()
        self.btn_data_missing_value.setMinimumSize(QSize(80, 60))
        self.btn_data_missing_value.setMaximumSize(QSize(80, 60))

        self.btn_data_missing_value.setIcon(icon_dbdistinctvalues)
        self.btn_data_missing_value.setIconSize(QSize(32, 32))
        self.btn_data_missing_value.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.btn_data_missing_value.setObjectName("btn_data_missing_value")
        self.flow_layout.addWidget(self.btn_data_missing_value, 3, 1, 1, 1)
        self.btn_data_column_name = PMToolButton()
        self.btn_data_column_name.setMinimumSize(QSize(80, 60))
        self.btn_data_column_name.setMaximumSize(QSize(80, 60))

        self.btn_data_column_name.setIcon(icon_lc_selectdb)
        self.btn_data_column_name.setIconSize(QSize(32, 32))
        self.btn_data_column_name.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.btn_data_column_name.setObjectName("btn_data_column_name")
        self.flow_layout.addWidget(self.btn_data_column_name, 1, 1, 1, 1)
        self.btn_4 = PMToolButton()
        self.btn_4.setMinimumSize(QSize(80, 60))
        self.btn_4.setMaximumSize(QSize(80, 60))

        self.btn_4.setIcon(icon_lc_accepttrackedchange)
        self.btn_4.setIconSize(QSize(32, 32))
        self.btn_4.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_4.setObjectName("btn_4")
        self.flow_layout.addWidget(self.btn_4, 7, 4, 1, 1)
        self.btn_data_info = PMToolButton()
        self.btn_data_info.setMinimumSize(QSize(80, 60))
        self.btn_data_info.setMaximumSize(QSize(80, 60))

        self.btn_data_info.setIcon(icon_NavOverFlow_Info)
        self.btn_data_info.setIconSize(QSize(32, 32))
        self.btn_data_info.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_data_info.setObjectName("btn_data_info")
        self.flow_layout.addWidget(self.btn_data_info, 0, 4, 1, 1)
        self.btn_data_merge_vertical = PMToolButton()
        self.btn_data_merge_vertical.setMinimumSize(QSize(80, 60))
        self.btn_data_merge_vertical.setMaximumSize(QSize(80, 60))

        self.btn_data_merge_vertical.setIcon(icon_mergedocuments)
        self.btn_data_merge_vertical.setIconSize(QSize(32, 32))
        self.btn_data_merge_vertical.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.btn_data_merge_vertical.setObjectName("btn_data_merge_vertical")
        self.flow_layout.addWidget(self.btn_data_merge_vertical, 5, 1, 1, 1)
        self.btn_delete_column = PMToolButton()
        self.btn_delete_column.setMinimumSize(QSize(80, 60))
        self.btn_delete_column.setMaximumSize(QSize(80, 60))

        self.btn_delete_column.setIcon(icon_delete_columns)
        self.btn_delete_column.setIconSize(QSize(32, 32))
        self.btn_delete_column.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_delete_column.setObjectName("btn_delete_column")
        self.flow_layout.addWidget(self.btn_delete_column, 2, 3, 1, 1)
        self.btn_data_sort = PMToolButton()
        self.btn_data_sort.setMinimumSize(QSize(80, 60))
        self.btn_data_sort.setMaximumSize(QSize(80, 60))

        self.btn_data_sort.setIcon(icon_lc_dbviewtablenames)
        self.btn_data_sort.setIconSize(QSize(32, 32))
        self.btn_data_sort.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_data_sort.setObjectName("btn_data_sort")
        self.flow_layout.addWidget(self.btn_data_sort, 7, 1, 1, 1)
        self.btn_data_partition = PMToolButton()
        self.btn_data_partition.setMinimumSize(QSize(80, 60))
        self.btn_data_partition.setMaximumSize(QSize(80, 60))

        self.btn_data_partition.setIcon(icon_graphicfilterpopart)
        self.btn_data_partition.setIconSize(QSize(32, 32))
        self.btn_data_partition.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_data_partition.setObjectName("btn_data_partition")
        self.flow_layout.addWidget(self.btn_data_partition, 1, 4, 1, 1)
        self.btn_delete_row = PMToolButton()
        self.btn_delete_row.setMinimumSize(QSize(80, 60))
        self.btn_delete_row.setMaximumSize(QSize(80, 60))

        self.btn_delete_row.setIcon(icon_deleterows)
        self.btn_delete_row.setIconSize(QSize(32, 32))
        self.btn_delete_row.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_delete_row.setObjectName("btn_delete_row")
        self.flow_layout.addWidget(self.btn_delete_row, 2, 4, 1, 1)
        self.btn_data_role = PMToolButton()
        self.btn_data_role.setMinimumSize(QSize(80, 60))
        self.btn_data_role.setMaximumSize(QSize(80, 60))

        self.btn_data_role.setIcon(icon_lc_renametable)
        self.btn_data_role.setIconSize(QSize(32, 32))
        self.btn_data_role.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_data_role.setObjectName("btn_data_role")
        self.flow_layout.addWidget(self.btn_data_role, 1, 3, 1, 1)
        self.btn_data_column_desc = PMToolButton()
        self.btn_data_column_desc.setMinimumSize(QSize(80, 60))
        self.btn_data_column_desc.setMaximumSize(QSize(80, 60))

        self.btn_data_column_desc.setIcon(icon_lc_formatcolumns)
        self.btn_data_column_desc.setIconSize(QSize(32, 32))
        self.btn_data_column_desc.setToolButtonStyle(
            Qt.ToolButtonTextUnderIcon)
        self.btn_data_column_desc.setObjectName("btn_data_column_desc")
        self.flow_layout.addWidget(self.btn_data_column_desc, 7, 3, 1, 1)
        self.btn_data_standard = PMToolButton()
        self.btn_data_standard.setMinimumSize(QSize(80, 60))
        self.btn_data_standard.setMaximumSize(QSize(80, 60))

        self.btn_data_standard.setIcon(icon_lc_dataarearefresh)
        self.btn_data_standard.setIconSize(QSize(32, 32))
        self.btn_data_standard.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.btn_data_standard.setObjectName("btn_data_standard")
        self.flow_layout.addWidget(self.btn_data_standard, 6, 1, 1, 1)

        self.retranslate_UI()

    def retranslate_UI(self):
        _translate = QCoreApplication.translate
        self.btn_data_filter.setToolTip(_translate("MainWindow", "过滤数据"))
        self.btn_data_filter.setText(_translate("MainWindow", "连接"))
        self.btn_data_sample.setToolTip(_translate("MainWindow", "选择随机抽样"))
        self.btn_data_sample.setText(_translate("MainWindow", "抽样"))
        self.btn_data_new_column.setToolTip(_translate("MainWindow", "堆叠/拆分列"))
        self.btn_data_new_column.setText(_translate("MainWindow", "新增列"))
        self.btn_data_row_filter.setText(_translate("MainWindow", "筛选"))
        self.btn_3.setText(_translate("MainWindow", "重编码范围"))
        self.btn_data_column_encode.setText(_translate("MainWindow", "重编码值"))
        self.btn_data_merge_horizontal.setToolTip(
            _translate("MainWindow", "组合表"))
        self.btn_data_merge_horizontal.setText(
            _translate("MainWindow", "横向合并"))
        self.btn_data_transpose.setToolTip(_translate("MainWindow", "转置数据"))
        self.btn_data_transpose.setText(_translate("MainWindow", "转置数据"))
        self.btn_data_replace.setText(_translate("MainWindow", "查找替换"))
        self.btn_data_missing_value.setText(_translate("MainWindow", "缺失值"))
        self.btn_data_column_name.setText(_translate("MainWindow", "列名处理"))
        self.btn_4.setText(_translate("MainWindow", "转换数据"))
        self.btn_data_info.setToolTip(_translate("MainWindow", "列出表特征"))
        self.btn_data_info.setText(_translate("MainWindow", "数据信息"))
        self.btn_data_merge_vertical.setToolTip(
            _translate("MainWindow", "组合表"))
        self.btn_data_merge_vertical.setText(_translate("MainWindow", "纵向合并"))
        self.btn_delete_column.setText(_translate("MainWindow", "删除列"))
        self.btn_data_sort.setToolTip(_translate("MainWindow", "转置数据"))
        self.btn_data_sort.setText(_translate("MainWindow", "排序数据"))
        self.btn_data_partition.setToolTip(_translate("MainWindow", "分区数据"))
        self.btn_data_partition.setText(_translate("MainWindow", "数据分区"))
        self.btn_delete_row.setText(_translate("MainWindow", "删除行"))
        self.btn_data_role.setText(_translate("MainWindow", "数据角色"))
        self.btn_data_column_desc.setText(_translate("MainWindow", "列出数据"))
        self.btn_data_standard.setText(_translate("MainWindow", "标准化数据"))

    def bind_events(self, app):
        self.btn_data_column_desc.clicked.connect(
            app.data_column_desc_display)  # 列出数据

        # 报告测试
        self.btn_data_column_encode.clicked.connect(app.test_report)

        # 筛选数据
        self.btn_data_filter.clicked.connect(app.data_filter_display)

        # 替换数据
        self.btn_data_replace.clicked.connect(app.data_replace_display)

        # 显示“数据信息”窗口
        self.btn_data_info.clicked.connect(app.data_info_display)

        # 数据角色
        self.btn_data_role.clicked.connect(app.data_role_display)

        # 删除行
        self.btn_delete_row.clicked.connect(app.data_delete_row_display)
        self.btn_delete_column.clicked.connect(app.data_delete_col_display)
        # 纵向合并

        self.btn_data_merge_vertical.clicked.connect(
            app.data_merge_vertical_display)
        # 横向合并

        self.btn_data_merge_horizontal.clicked.connect(
            app.data_merge_horizontal_display)
        # 数据分区
        self.btn_data_partition.clicked.connect(app.data_partition_display)
        # 数据-新增列
        self.btn_data_new_column.clicked.connect(app.data_new_column_display)

        # 数据-缺失值
        self.btn_data_missing_value.clicked.connect(
            app.data_missing_value_display)
        # 数据-筛选和排序
        self.btn_data_sort.clicked.connect(app.data_sort_display)
        # 数据-转置
        self.btn_data_transpose.clicked.connect(app.data_transpose_display)
        # 数据-标准化
        self.btn_data_standard.clicked.connect(app.data_standard_display)
        # 数据-抽样
        self.btn_data_sample.clicked.connect(app.data_sample_display)
        # 数据-列名处理
        self.btn_data_column_name.clicked.connect(app.data_column_name_display)
        # 数据-数据编码
        self.btn_data_column_encode.clicked.connect(
            app.data_column_encode_display)