# -*- coding: utf-8 -*- import sys import os.path from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtCore import QSize, Qt from PyQt5.QtWidgets import ( QAbstractItemView, QHeaderView ) from View.Plot import ( MplCanvas, navigation_toolbar_2qt ) file_path = os.path.abspath(os.path.dirname(__file__)) icon_path = f"{os.path.dirname(os.path.dirname(file_path))}/View/ui/ressources/" class Ui_MainWindow(object): def setupUi(self, MainWindow_reach): MainWindow_reach.setObjectName("MainWindow_reach") MainWindow_reach.resize(1400, 800) self.centralwidget = QtWidgets.QWidget(MainWindow_reach) self.centralwidget.setObjectName("centralwidget") self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.centralwidget) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.splitter_3 = QtWidgets.QSplitter(self.centralwidget) self.splitter_3.setOrientation(Qt.Horizontal) self.splitter_3.setObjectName("splitter_3") self.widget = QtWidgets.QWidget(self.splitter_3) self.widget.setObjectName("widget") self.verticalLayout = QtWidgets.QVBoxLayout(self.widget) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.label_section_order = QtWidgets.QLabel(self.widget) self.label_section_order.setLayoutDirection(Qt.LeftToRight) self.label_section_order.setObjectName("label_section_order") self.label_section_order.setStyleSheet( "QLabel{ border: 1px solid darkGray;\n" " gridline-color: gray;\n" " border-radius: 1px;\n" " border-style: solid;\n" " background-color: ; \n" " selection-background-color: #218ede;\n" " font-size: 12px;\n" " font-family: Helvetica\n" "\n" " }" ) self.verticalLayout.addWidget(self.label_section_order) btn_size = QSize(30, 30) self.btn_open = QtWidgets.QPushButton(self.widget) self.btn_open.setMaximumSize(QtCore.QSize(30, 30)) self.btn_open.setObjectName("btn_open") icon_btn_open = QtGui.QIcon() icon_btn_open.addPixmap( QtGui.QPixmap(f"{icon_path}open.png")) self.btn_open.setIcon(icon_btn_open) self.btn_open.setIconSize(btn_size) self.horizontalLayout.addWidget(self.btn_open) self.btn_add = QtWidgets.QPushButton(self.widget) self.btn_add.setMaximumSize(QtCore.QSize(30, 30)) self.btn_add.setObjectName("btn_add") icon_btn_add = QtGui.QIcon() icon_btn_add.addPixmap( QtGui.QPixmap(f"{icon_path}gtk_add.png")) self.btn_add.setIcon(icon_btn_add) self.btn_add.setIconSize(btn_size) self.horizontalLayout.addWidget(self.btn_add) self.btn_delete = QtWidgets.QPushButton(self.widget) self.btn_delete.setMaximumSize(QtCore.QSize(30, 30)) self.btn_delete.setObjectName("btn_delete") icon_btn_delete = QtGui.QIcon() icon_btn_delete.addPixmap( QtGui.QPixmap(f"{icon_path}gtk-remove.png")) self.btn_delete.setIcon(icon_btn_delete) self.btn_delete.setIconSize(btn_size) self.horizontalLayout.addWidget(self.btn_delete) self.btn_edit = QtWidgets.QPushButton(self.widget) self.btn_edit.setMaximumSize(QtCore.QSize(30, 30)) self.btn_edit.setObjectName("btn_edit") icon_btn_edit = QtGui.QIcon() icon_btn_edit.addPixmap( QtGui.QPixmap(f"{icon_path}gnome-stock-edit.png")) self.btn_edit.setIcon(icon_btn_edit) self.btn_edit.setIconSize(btn_size) self.horizontalLayout.addWidget(self.btn_edit) self.btn_copy_selected_profile = QtWidgets.QPushButton(self.widget) self.btn_copy_selected_profile.setMaximumSize(QtCore.QSize(30, 30)) self.btn_copy_selected_profile.setObjectName("btn_copy_selected_profile") icon_btn_copy_selected_profile = QtGui.QIcon() icon_btn_copy_selected_profile.addPixmap( QtGui.QPixmap(f"{icon_path}gtk-copy.png")) self.btn_copy_selected_profile.setIcon(icon_btn_copy_selected_profile) self.btn_copy_selected_profile.setIconSize(btn_size) self.horizontalLayout.addWidget(self.btn_copy_selected_profile) self.btn_paste_selected_profile = QtWidgets.QPushButton(self.widget) self.btn_paste_selected_profile.setMaximumSize(QtCore.QSize(30, 30)) self.btn_paste_selected_profile.setObjectName("btn_paste_selected_profile") icon_btn_paste_selected_profile = QtGui.QIcon() icon_btn_paste_selected_profile.addPixmap( QtGui.QPixmap(f"{icon_path}gtk-paste.png")) self.btn_paste_selected_profile.setIcon(icon_btn_paste_selected_profile) self.btn_paste_selected_profile.setIconSize(btn_size) self.horizontalLayout.addWidget(self.btn_paste_selected_profile) self.btn_duplicate_selected_profile = QtWidgets.QPushButton(self.widget) self.btn_duplicate_selected_profile.setMaximumSize(QtCore.QSize(30, 30)) self.btn_duplicate_selected_profile.setObjectName("btn_duplicate_selected_profile") icon_btn_duplicate_selected_profile = QtGui.QIcon() icon_btn_duplicate_selected_profile.addPixmap( QtGui.QPixmap(f"{icon_path}gtk-dnd-multiple.png")) self.btn_duplicate_selected_profile.setIcon(icon_btn_duplicate_selected_profile) self.btn_duplicate_selected_profile.setIconSize(btn_size) self.horizontalLayout.addWidget(self.btn_duplicate_selected_profile) self.btn_sort_asc = QtWidgets.QPushButton(self.widget) self.btn_sort_asc.setMaximumSize(QtCore.QSize(30, 30)) self.btn_sort_asc.setText("") self.btn_sort_asc.setObjectName("btn_sort_asc") icon_btn_sort_asc = QtGui.QIcon() icon_btn_sort_asc.addPixmap( QtGui.QPixmap(f"{icon_path}gtk-sort-ascending.png")) self.btn_sort_asc.setIcon(icon_btn_sort_asc) self.btn_sort_asc.setIconSize(btn_size) self.horizontalLayout.addWidget(self.btn_sort_asc) self.btn_sort_desc = QtWidgets.QPushButton(self.widget) self.btn_sort_desc.setMaximumSize(QtCore.QSize(30, 30)) self.btn_sort_desc.setText("") self.btn_sort_desc.setObjectName("btn_sort_desc") icon_btn_sort_desc = QtGui.QIcon() icon_btn_sort_desc.addPixmap( QtGui.QPixmap(f"{icon_path}gtk-sort-descending.png")) self.btn_sort_desc.setIcon(icon_btn_sort_desc) self.btn_sort_desc.setIconSize(btn_size) self.horizontalLayout.addWidget(self.btn_sort_desc) self.btn_move_up = QtWidgets.QPushButton(self.widget) self.btn_move_up.setMaximumSize(QtCore.QSize(30, 30)) self.btn_move_up.setText("") self.btn_move_up.setObjectName("btn_move_up") icon_btn_move_up = QtGui.QIcon() icon_btn_move_up.addPixmap( QtGui.QPixmap(f"{icon_path}up.png")) self.btn_move_up.setIcon(icon_btn_move_up) self.btn_move_up.setIconSize(btn_size) self.horizontalLayout.addWidget(self.btn_move_up) self.btn_move_down = QtWidgets.QPushButton(self.widget) self.btn_move_down.setMaximumSize(QtCore.QSize(30, 30)) self.btn_move_down.setText("") self.btn_move_down.setObjectName("btn_move_down") icon_btn_move_down = QtGui.QIcon() icon_btn_move_down.addPixmap( QtGui.QPixmap(f"{icon_path}down.png")) self.btn_move_down.setIcon(icon_btn_move_down) self.btn_move_down.setIconSize(btn_size) self.horizontalLayout.addWidget(self.btn_move_down) self.btn_end_editing = QtWidgets.QPushButton(self.widget) self.btn_end_editing.setMaximumSize(QtCore.QSize(30, 30)) self.btn_end_editing.setText("") self.btn_end_editing.setObjectName("btn_end_editing") icon_btn_save = QtGui.QIcon() icon_btn_save.addPixmap( QtGui.QPixmap(f"{icon_path}gtk-apply.png")) self.btn_end_editing.setIcon(icon_btn_save) self.btn_end_editing.setIconSize(btn_size) self.horizontalLayout.addWidget(self.btn_end_editing) spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem) self.verticalLayout.addLayout(self.horizontalLayout) self.tableView = QtWidgets.QTableView(self.widget) self.tableView.setObjectName("tableView") self.verticalLayout.addWidget(self.tableView) self.tableView.setSelectionBehavior(QAbstractItemView.SelectRows) # permet de sélectionner une ligne entière self.tableView.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) # ajuster la largeur du tableau self.tableView.setAlternatingRowColors(True) # colorie une ligne sur 2 self.tableView.verticalHeader().hide() # hide vertical/row headers self.tableView.setStyleSheet( " QTableView { border: 1px solid black;\n" " gridline-color: blue;\n" " border-radius: 2px;\n" " border-style: solid;\n" " background-color: #EEF6FC; \n" " selection-background-color: #218ede;\n" " font-size: 12px;\n" " font-family: Helvetica\n" "\n" " }" ) self.tableView.resizeColumnsToContents() self.tableView.resizeRowsToContents() self.widget1 = QtWidgets.QWidget(self.splitter_3) self.widget1.setObjectName("widget1") self.gridLayout = QtWidgets.QGridLayout(self.widget1) self.gridLayout.setContentsMargins(0, 0, 0, 0) self.gridLayout.setObjectName("gridLayout") self.splitter_2 = QtWidgets.QSplitter(self.widget1) self.splitter_2.setOrientation(Qt.Vertical) self.splitter_2.setObjectName("splitter_2") self.splitter = QtWidgets.QSplitter(self.splitter_2) self.splitter.setOrientation(Qt.Horizontal) self.splitter.setObjectName("splitter") self.verticalLayoutWidget_3 = QtWidgets.QWidget(self.splitter) self.verticalLayoutWidget_3.setObjectName("verticalLayoutWidget_3") self.verticalLayout_canvas_1 = QtWidgets.QVBoxLayout(self.verticalLayoutWidget_3) self.verticalLayout_canvas_1.setContentsMargins(0, 0, 0, 0) self.verticalLayout_canvas_1.setObjectName("verticalLayout_canvas_1") self.canvas_1 = MplCanvas.MplCanvas(width=5, height=4, dpi=100) self.canvas_1.setObjectName("canvas_1") self.toolbar_1 = navigation_toolbar_2qt.PamHyrNavigationToolbar2QT( self.canvas_1, self.centralwidget ) self.toolbar_1.setStyleSheet( "QToolBar{ border: 1px solid darkGray;\n" " gridline-color: blue;\n" " border-radius: 4px;\n" " border-style: solid;\n" " background-color: #EEF6FC; \n" " selection-background-color: #218ede;\n" " font-size: 12px;\n" " font-family: Helvetica\n" "\n" " }" ) self.verticalLayout_canvas_1.addWidget(self.toolbar_1) self.verticalLayout_canvas_1.addWidget(self.canvas_1) self.verticalLayoutWidget_2 = QtWidgets.QWidget(self.splitter) self.verticalLayoutWidget_2.setObjectName("verticalLayoutWidget_2") self.verticalLayout_canvas_2 = QtWidgets.QVBoxLayout(self.verticalLayoutWidget_2) self.verticalLayout_canvas_2.setContentsMargins(0, 0, 0, 0) self.verticalLayout_canvas_2.setObjectName("verticalLayout_canvas_2") self.canvas_2 = MplCanvas.MplCanvas(width=5, height=4, dpi=100) self.canvas_2.setObjectName("canvas_2") self.toolbar_2 = navigation_toolbar_2qt.PamHyrNavigationToolbar2QT(self.canvas_2, self.centralwidget) self.toolbar_2.setStyleSheet( "QToolBar{ border: 1px solid darkGray;\n" " gridline-color: blue;\n" " border-radius: 4px;\n" " border-style: solid;\n" " background-color: #EEF6FC; \n" " selection-background-color: #218ede;\n" " font-size: 12px;\n" " font-family: Helvetica\n" "\n" " }" ) self.verticalLayout_canvas_2.addWidget(self.toolbar_2) self.verticalLayout_canvas_2.addWidget(self.canvas_2) self.verticalLayoutWidget = QtWidgets.QWidget(self.splitter_2) self.verticalLayoutWidget.setObjectName("verticalLayoutWidget") self.verticalLayout_canvas_3 = QtWidgets.QVBoxLayout(self.verticalLayoutWidget) self.verticalLayout_canvas_3.setContentsMargins(0, 0, 0, 0) self.verticalLayout_canvas_3.setObjectName("verticalLayout_canvas_3") self.canvas_3 = MplCanvas.MplCanvas(width=5, height=4, dpi=100) self.canvas_3.setObjectName("canvas_3") self.toolbar_3 = navigation_toolbar_2qt.PamHyrNavigationToolbar2QT(self.canvas_3, self.centralwidget) self.toolbar_3.setStyleSheet( "QToolBar{ border: 1px solid darkGray;\n" " gridline-color: blue;\n" " border-radius: 4px;\n" " border-style: solid;\n" " background-color: #EEF6FC; \n" " selection-background-color: #218ede;\n" " font-size: 12px;\n" " font-family: Helvetica\n" "\n" " }" ) self.verticalLayout_canvas_3.addWidget(self.toolbar_3) self.verticalLayout_canvas_3.addWidget(self.canvas_3) self.gridLayout.addWidget(self.splitter_2, 0, 0, 3, 3) self.verticalSlider = QtWidgets.QSlider(self.widget1) self.verticalSlider.setMinimumSize(QtCore.QSize(30, 0)) self.verticalSlider.setOrientation(Qt.Vertical) self.verticalSlider.setInvertedAppearance(True) self.verticalSlider.setInvertedControls(False) self.verticalSlider.setObjectName("verticalSlider") self.gridLayout.addWidget(self.verticalSlider, 0, 3, 1, 1) self.btn_slider_up = QtWidgets.QPushButton(self.widget1) self.btn_slider_up.setMaximumSize(QtCore.QSize(30, 30)) self.btn_slider_up.setObjectName("btn_slider_up") icon_btn_slider_up = QtGui.QIcon() icon_btn_slider_up.addPixmap( QtGui.QPixmap(f"{icon_path}go-up2.png")) self.btn_slider_up.setIcon(icon_btn_slider_up) self.btn_slider_up.setIconSize(btn_size) self.gridLayout.addWidget(self.btn_slider_up, 1, 3, 1, 1) self.btn_slider_down = QtWidgets.QPushButton(self.widget1) self.btn_slider_down.setMaximumSize(QtCore.QSize(30, 30)) self.btn_slider_down.setObjectName("btn_slider_down") icon_btn_slider_down = QtGui.QIcon() icon_btn_slider_down.addPixmap( QtGui.QPixmap(f"{icon_path}go-down1.png")) self.btn_slider_down.setIcon(icon_btn_slider_down) self.btn_slider_down.setIconSize(btn_size) self.gridLayout.addWidget(self.btn_slider_down, 2, 3, 1, 1) self.vertical_slider_label = QtWidgets.QLabel(self.widget1) # self.vertical_slider_label.setLayoutDirection(Qt.RightToLeft) # self.vertical_slider_label.setLayoutDirection(Qt.LeftToRight) self.vertical_slider_label.setObjectName("vertical_slider_label") self.gridLayout.addWidget(self.vertical_slider_label, 3, 2, 2, 1) self.vertical_slider_label.setAlignment(Qt.AlignRight) self.btn_slider_go_back = QtWidgets.QPushButton(self.widget1) self.btn_slider_go_back.setMaximumSize(QtCore.QSize(30, 30)) self.btn_slider_go_back.setObjectName("btn_slider_go_back") icon_btn_slider_go_back = QtGui.QIcon() icon_btn_slider_go_back.addPixmap( QtGui.QPixmap(f"{icon_path}gtk-go-back.png")) self.btn_slider_go_back.setIcon(icon_btn_slider_go_back) self.btn_slider_go_back.setIconSize(btn_size) self.gridLayout.addWidget(self.btn_slider_go_back, 5, 0, 1, 1) self.btn_slider_go_back.setEnabled(False) self.btn_slider_go_forward = QtWidgets.QPushButton(self.widget1) self.btn_slider_go_forward.setMaximumSize(QtCore.QSize(30, 30)) self.btn_slider_go_forward.setObjectName("btn_slider_go_forward") icon_btn_slider_go_forward = QtGui.QIcon() icon_btn_slider_go_forward.addPixmap( QtGui.QPixmap(f"{icon_path}gtk-go-forward.png")) self.btn_slider_go_forward.setIcon(icon_btn_slider_go_forward) self.btn_slider_go_forward.setIconSize(btn_size) self.gridLayout.addWidget(self.btn_slider_go_forward, 5, 1, 1, 1) self.btn_slider_go_forward.setEnabled(False) self.horizontalSlider = QtWidgets.QSlider(self.widget1) self.horizontalSlider.setMinimumSize(QtCore.QSize(0, 30)) self.horizontalSlider.setOrientation(Qt.Horizontal) self.horizontalSlider.setObjectName("horizontalSlider") self.gridLayout.addWidget(self.horizontalSlider, 5, 2, 1, 1) self.horizontalSlider.setEnabled(False) self.horizontalLayout_2.addWidget(self.splitter_3) MainWindow_reach.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow_reach) self.menubar.setGeometry(QtCore.QRect(0, 0, 1123, 20)) self.menubar.setObjectName("menubar") MainWindow_reach.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow_reach) self.statusbar.setObjectName("statusbar") MainWindow_reach.setStatusBar(self.statusbar) self.retranslateUi(MainWindow_reach) QtCore.QMetaObject.connectSlotsByName(MainWindow_reach) def retranslateUi(self, MainWindow_reach): _translate = QtCore.QCoreApplication.translate self.name_reach = "" self.mainwindow_title = _translate("MainWindow_reach", "Jeu de sections du Bief") MainWindow_reach.setWindowTitle(self.mainwindow_title + f"{self.name_reach}") self.text_section_order = _translate("MainWindow_reach", "\nOrdre des sections : " "Amont --> Aval") self.label_section_order.setText(f"{self.text_section_order}") self.vertical_slider_value = "" self.vertical_slider_label.setText(_translate("MainWindow_reach", "Pk = ") + f"{self.vertical_slider_value}") self.btn_open.setToolTip(_translate("MainWindow_reach", " Importer une géométrie")) self.btn_add.setToolTip(_translate("MainWindow_reach", " Nouveau profil")) self.btn_delete.setToolTip(_translate("MainWindow_reach", " Supprimer le profil sélectionné")) self.btn_edit.setToolTip(_translate("MainWindow_reach", " Éditer le profil sélectionné")) self.btn_copy_selected_profile.setToolTip(_translate("MainWindow_reach", " Copier le profil sélectionné")) self.btn_paste_selected_profile.setToolTip(_translate("MainWindow_reach", "Coller le profil en fin de liste (" "penser à modifier le Pk avant de " "trier)")) self.btn_duplicate_selected_profile.setToolTip( _translate("MainWindow_reach", " Dupliquer la section sélectionnée")) self.btn_sort_asc.setToolTip(_translate("MainWindow_reach", " Trier les profils par ordre croissant des Pk")) self.btn_sort_desc.setToolTip(_translate("MainWindow_reach", " Trier les profils par ordre décroissant des Pk")) self.btn_move_up.setToolTip(_translate("MainWindow_reach", " Changer l'ordre des profils (en décalant le " "profil sélectionné vers le haut)")) self.btn_move_down.setToolTip(_translate("MainWindow_reach", " Changer l'ordre des profils (en décalant le " "profil sélectionné vers le bas)")) self.btn_end_editing.setToolTip(_translate("MainWindow_reach", " Terminer l'édition")) self.tableView_header = [_translate("MainWindow_reach", "Nom"), _translate("MainWindow_reach", "Pk (m)"), _translate("MainWindow_reach", "Type")] self.toolbar_1._actions["isometric_view"].setShortcut(_translate("MainWindow_reach", "Alt+Z")) self.toolbar_1._actions["isometric_view"].setToolTip(_translate("MainWindow_reach", "Vue isométrique (Alt+Z)")) self.toolbar_2._actions["isometric_view"].setShortcut(_translate("MainWindow_reach", "Alt+E")) self.toolbar_2._actions["isometric_view"].setToolTip(_translate("MainWindow_reach", "Vue isométrique (Alt+E)")) self.toolbar_3._actions["isometric_view"].setShortcut(_translate("MainWindow_reach", "Alt+R")) self.toolbar_3._actions["isometric_view"].setToolTip(_translate("MainWindow_reach", "Vue isométrique (Alt+R)")) self.toolbar_1._actions["non_isometric_view"].setShortcut("Alt+S") self.toolbar_1._actions["non_isometric_view"].setToolTip( _translate("MainWindow_reach", "Vue globale automatique (Alt+S)")) self.toolbar_2._actions["non_isometric_view"].setShortcut("Alt+D") self.toolbar_2._actions["non_isometric_view"].setToolTip( _translate("MainWindow_reach", "Vue globale automatique (Alt+D)")) self.toolbar_3._actions["non_isometric_view"].setShortcut("Alt+F") self.toolbar_3._actions["non_isometric_view"].setToolTip( _translate("MainWindow_reach", "Vue globale automatique (Alt+F)"))