def __init__(self, Script:QMainWindow): # Set window parameters Script.setWindowTitle("ASL Tools - Script") Script.setWindowFlag(Qt.Window) # Main frame frame = QWidget(Script) self.h_layout = QHBoxLayout(frame) # Menubar menubar = Script.menuBar() menu_file:QMenu = menubar.addMenu("Fichier") self.action_file_new = QAction("Nouveau", menubar) self.action_file_new.setIcon(QIcon(":/images/new-file.svg")) self.action_file_new.setShortcut("Ctrl+N") menu_file.addAction(self.action_file_new) self.action_file_open = QAction("Ouvrir", menubar) self.action_file_open.setIcon(QIcon(":/images/open-file.svg")) self.action_file_open.setShortcut("Ctrl+O") menu_file.addAction(self.action_file_open) self.action_file_save = QAction("Enregistrer", menubar) self.action_file_save.setIcon(QIcon(":/images/save.svg")) self.action_file_save.setShortcut("Ctrl+S") menu_file.addAction(self.action_file_save) self.action_file_saveas = QAction("Enregistrer sous", menubar) self.action_file_saveas.setIcon(QIcon(":/images/save-as.svg")) self.action_file_saveas.setShortcut("Ctrl+Shift+S") menu_file.addAction(self.action_file_saveas) menu_file.addSeparator() self.action_file_export = QAction("Exporter", menubar) self.action_file_export.setIcon(QIcon(":/images/export.svg")) menu_file.addAction(self.action_file_export) menu_file.addSeparator() self.action_file_quit = QAction("Quitter", menubar) self.action_file_quit.setIcon(QIcon(":/images/quit.svg")) menu_file.addAction(self.action_file_quit) menu_edit:QMenu = menubar.addMenu("Edition") self.action_edit_copy = QAction("Copier", menubar) self.action_edit_copy.setIcon(QIcon(":/images/copy.svg")) self.action_edit_copy.setShortcut("Alt+C") menu_edit.addAction(self.action_edit_copy) self.action_edit_paste = QAction("Coller", menubar) self.action_edit_paste.setIcon(QIcon(":/images/paste.svg")) self.action_edit_paste.setShortcut("Alt+V") menu_edit.addAction(self.action_edit_paste) # Spacer spacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.h_layout.addItem(spacer) # Main grid self.grid_layout = QtWidgets.QGridLayout() # Filename self.label_file = QtWidgets.QLabel(frame) self.label_file.setAlignment(QtCore.Qt.AlignCenter) self.label_file.setObjectName("label_file") self.grid_layout.addWidget(self.label_file, 0, 0, 1, 2) # Action widgets self.h_layout_actions = QtWidgets.QHBoxLayout() self.btn_add = QtWidgets.QToolButton(frame) self.btn_add.setEnabled(True) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/images/add.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.btn_add.setIcon(icon) self.btn_add.setIconSize(QtCore.QSize(24, 24)) self.btn_add.setAutoRaise(True) self.h_layout_actions.addWidget(self.btn_add) self.btn_remove = QtWidgets.QToolButton(frame) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/images/remove.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.btn_remove.setIcon(icon) self.btn_remove.setIconSize(QtCore.QSize(24, 24)) self.btn_remove.setAutoRaise(True) self.h_layout_actions.addWidget(self.btn_remove) self.btn_move_up = QtWidgets.QToolButton(frame) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/images/arrow-up.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.btn_move_up.setIcon(icon) self.btn_move_up.setIconSize(QtCore.QSize(24, 24)) self.btn_move_up.setAutoRaise(True) self.h_layout_actions.addWidget(self.btn_move_up) self.btn_move_down = QtWidgets.QToolButton(frame) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/images/arrow-down.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.btn_move_down.setIcon(icon) self.btn_move_down.setIconSize(QtCore.QSize(24, 24)) self.btn_move_down.setAutoRaise(True) self.h_layout_actions.addWidget(self.btn_move_down) spacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.h_layout_actions.addItem(spacer) self.grid_layout.addLayout(self.h_layout_actions, 1, 0, 1, 1) # List widget self.list = QtWidgets.QListWidget(frame) self.grid_layout.addWidget(self.list, 2, 0, 1, 1) # Grid self.grid_layout_form = QtWidgets.QGridLayout() # Compliance self.label_compliance = QtWidgets.QLabel(frame) self.grid_layout_form.addWidget(self.label_compliance, 0, 0, 1, 1) self.compliance = QtWidgets.QSpinBox(frame) self.compliance.setMaximum(500) self.grid_layout_form.addWidget(self.compliance, 0, 1, 1, 1) # Resistance self.label_resistance = QtWidgets.QLabel(frame) self.grid_layout_form.addWidget(self.label_resistance, 1, 0, 1, 1) self.resistance = QtWidgets.QSpinBox(frame) self.resistance.setMaximum(500) self.grid_layout_form.addWidget(self.resistance, 1, 1, 1, 1) # Respiratory rate self.label_respi_rate = QtWidgets.QLabel(frame) self.grid_layout_form.addWidget(self.label_respi_rate, 2, 0, 1, 1) self.respi_rate = QtWidgets.QSpinBox(frame) self.respi_rate.setMaximum(500) self.grid_layout_form.addWidget(self.respi_rate, 2, 1, 1, 1) # Spacer spacerItem1 = QtWidgets.QSpacerItem(20, 30, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) self.grid_layout_form.addItem(spacerItem1, 4, 0, 1, 1) # Pmus insp self.label_i_pmus = QtWidgets.QLabel(frame) self.grid_layout_form.addWidget(self.label_i_pmus, 5, 0, 1, 1) self.i_pmus = QtWidgets.QSpinBox(frame) self.i_pmus.setMaximum(100) self.grid_layout_form.addWidget(self.i_pmus, 5, 1, 1, 1) # Pmus insp inc self.label_i_pmus_inc = QtWidgets.QLabel(frame) self.grid_layout_form.addWidget(self.label_i_pmus_inc, 6, 0, 1, 1) self.i_pmus_inc = QtWidgets.QSpinBox(frame) self.i_pmus_inc.setMaximum(100) self.grid_layout_form.addWidget(self.i_pmus_inc, 6, 1, 1, 1) # Pmus insp hold self.label_i_pmus_hld = QtWidgets.QLabel(frame) self.grid_layout_form.addWidget(self.label_i_pmus_hld, 7, 0, 1, 1) self.i_pmus_hld = QtWidgets.QSpinBox(frame) self.i_pmus_hld.setMaximum(100) self.grid_layout_form.addWidget(self.i_pmus_hld, 7, 1, 1, 1) # Pmus insp rel self.label_i_pmus_rel = QtWidgets.QLabel(frame) self.grid_layout_form.addWidget(self.label_i_pmus_rel, 8, 0, 1, 1) self.i_pmus_rel = QtWidgets.QSpinBox(frame) self.i_pmus_rel.setMaximum(100) self.grid_layout_form.addWidget(self.i_pmus_rel, 8, 1, 1, 1) # Spacer spacerItem4 = QtWidgets.QSpacerItem(20, 30, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) self.grid_layout_form.addItem(spacerItem4, 9, 0, 1, 1) # Pmus exp self.label_e_pmus = QtWidgets.QLabel(frame) self.grid_layout_form.addWidget(self.label_e_pmus, 10, 0, 1, 1) self.e_pmus = QtWidgets.QSpinBox(frame) self.e_pmus.setMaximum(100) self.grid_layout_form.addWidget(self.e_pmus, 10, 1, 1, 1) # Pmus exp inc self.label_e_pmus_inc = QtWidgets.QLabel(frame) self.grid_layout_form.addWidget(self.label_e_pmus_inc, 11, 0, 1, 1) self.e_pmus_inc = QtWidgets.QSpinBox(frame) self.e_pmus_inc.setMaximum(100) self.grid_layout_form.addWidget(self.e_pmus_inc, 11, 1, 1, 1) # Pmus exp hold self.label_e_pmus_hld = QtWidgets.QLabel(frame) self.grid_layout_form.addWidget(self.label_e_pmus_hld, 12, 0, 1, 1) self.e_pmus_hld = QtWidgets.QSpinBox(frame) self.e_pmus_hld.setMaximum(100) self.grid_layout_form.addWidget(self.e_pmus_hld, 12, 1, 1, 1) # Pmus exp rel self.label_e_pmus_rel = QtWidgets.QLabel(frame) self.grid_layout_form.addWidget(self.label_e_pmus_rel, 13, 0, 1, 1) self.e_pmus_rel = QtWidgets.QSpinBox(frame) self.e_pmus_rel.setMaximum(100) self.grid_layout_form.addWidget(self.e_pmus_rel, 13, 1, 1, 1) # Spacer spacerItem3 = QtWidgets.QSpacerItem(20, 30, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) self.grid_layout_form.addItem(spacerItem3, 14, 0, 1, 1) # CRF self.label_crf = QtWidgets.QLabel(frame) self.grid_layout_form.addWidget(self.label_crf, 15, 0, 1, 1) self.crf = QtWidgets.QDoubleSpinBox(frame) self.crf.setDecimals(1) self.crf.setSingleStep(0.1) self.grid_layout_form.addWidget(self.crf, 15, 1, 1, 1) # Spacer spacerItem2 = QtWidgets.QSpacerItem(20, 30, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) self.grid_layout_form.addItem(spacerItem2, 16, 0, 1, 1) # Repetions self.label_repetitions = QtWidgets.QLabel(frame) self.grid_layout_form.addWidget(self.label_repetitions, 17, 0, 1, 1) self.repetitions = QtWidgets.QSpinBox(frame) self.repetitions.setMaximum(9999) self.grid_layout_form.addWidget(self.repetitions, 17, 1, 1, 1) self.label_repetitions_total = QtWidgets.QLabel(frame) self.label_repetitions_total.setMinimumWidth(30) self.grid_layout_form.addWidget(self.label_repetitions_total, 17, 2, 1, 1) # Spacer spacerItem2 = QtWidgets.QSpacerItem(20, 30, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.grid_layout_form.addItem(spacerItem2, 18, 0, 1, 1) # Set form layout in the main grid self.grid_layout.addLayout(self.grid_layout_form, 2, 1, 1, 1) # Progress bar self.progress = QProgressBar(frame) self.progress.setMaximumHeight(10) self.progress.setTextVisible(False) self.grid_layout.addWidget(self.progress, 3, 0, 1, 2) # Spacer spacer = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.grid_layout.addItem(spacer, 4, 0, 1, 2) self.h_layout.addLayout(self.grid_layout) spacer = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.h_layout.addItem(spacer) # Set size and position w, h = self.h_layout.sizeHint().toTuple() w_s, h_s = QApplication.primaryScreen().size().toTuple() x = round(w_s/2 - w/2) y = round(h_s/2 - h/2) Script.setCentralWidget(frame) Script.resize(w, h) Script.move(x, y) self.retranslateUi(Script) QtCore.QMetaObject.connectSlotsByName(Script) Script.setTabOrder(self.btn_add, self.btn_remove) Script.setTabOrder(self.btn_remove, self.btn_move_up) Script.setTabOrder(self.btn_move_up, self.btn_move_down) Script.setTabOrder(self.btn_move_down, self.list) Script.setTabOrder(self.list, self.compliance) Script.setTabOrder(self.compliance, self.resistance) Script.setTabOrder(self.resistance, self.respi_rate) Script.setTabOrder(self.respi_rate, self.i_pmus) Script.setTabOrder(self.i_pmus, self.i_pmus_inc) Script.setTabOrder(self.i_pmus_inc, self.i_pmus_hld) Script.setTabOrder(self.i_pmus_hld, self.i_pmus_rel) Script.setTabOrder(self.i_pmus_rel, self.e_pmus) Script.setTabOrder(self.e_pmus, self.e_pmus_inc) Script.setTabOrder(self.e_pmus_inc, self.e_pmus_hld) Script.setTabOrder(self.e_pmus_hld, self.e_pmus_rel) Script.setTabOrder(self.e_pmus_rel, self.crf) Script.setTabOrder(self.crf, self.repetitions)
def __init__(self, BigScript: QMainWindow): # Set Window parameters BigScript.setWindowTitle("ASL Tools - Big Script") BigScript.setWindowFlag(Qt.Window) # Main frame frame = QWidget(BigScript) self.h_layout = QHBoxLayout(frame) # Menubar menubar = BigScript.menuBar() menu_file: QMenu = menubar.addMenu("Fichier") self.action_file_new = QAction("Nouveau", menubar) self.action_file_new.setIcon(QIcon(":/images/new-file.svg")) self.action_file_new.setShortcut("Ctrl+N") menu_file.addAction(self.action_file_new) self.action_file_save = QAction("Enregistrer", menubar) self.action_file_save.setIcon(QIcon(":/images/save.svg")) self.action_file_save.setShortcut("Ctrl+S") menu_file.addAction(self.action_file_save) self.action_file_saveas = QAction("Enregistrer sous", menubar) self.action_file_saveas.setIcon(QIcon(":/images/save-as.svg")) self.action_file_saveas.setShortcut("Ctrl+Shift+S") menu_file.addAction(self.action_file_saveas) menu_file.addSeparator() self.action_file_export = QAction("Exporter", menubar) self.action_file_export.setIcon(QIcon(":/images/export.svg")) menu_file.addAction(self.action_file_export) menu_file.addSeparator() self.action_file_quit = QAction("Quitter", menubar) self.action_file_quit.setIcon(QIcon(":/images/quit.svg")) menu_file.addAction(self.action_file_quit) # Spacer spacerItem = QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.h_layout.addItem(spacerItem) # Grid layout self.gridLayout = QtWidgets.QGridLayout() self.gridLayout.setSpacing(15) # File self.label_file = QtWidgets.QLabel(frame) self.label_file.setTextFormat(QtCore.Qt.PlainText) self.label_file.setAlignment(QtCore.Qt.AlignCenter) self.label_file.setObjectName("label_file") self.gridLayout.addWidget(self.label_file, 0, 0, 1, 4) # Header self.label_from = QLabel(frame) self.gridLayout.addWidget(self.label_from, 1, 1, 1, 1) self.label_to = QLabel(frame) self.gridLayout.addWidget(self.label_to, 1, 2, 1, 1) self.label_step = QLabel(frame) self.gridLayout.addWidget(self.label_step, 1, 3, 1, 1) # Resistance self.label_r = QLabel(frame) self.gridLayout.addWidget(self.label_r, 2, 0, 1, 1) self.r_from = QtWidgets.QSpinBox(frame) self.r_from.setObjectName("grid-spin") self.r_from.setMinimum(0) self.r_from.setMaximum(200) self.gridLayout.addWidget(self.r_from, 2, 1, 1, 1) self.r_to = QtWidgets.QSpinBox(frame) self.r_to.setObjectName("grid-spin") self.r_to.setMinimum(0) self.r_to.setMaximum(200) self.gridLayout.addWidget(self.r_to, 2, 2, 1, 1) self.r_step = QtWidgets.QSpinBox(frame) self.r_step.setObjectName("grid-spin") self.r_step.setMinimum(1) self.gridLayout.addWidget(self.r_step, 2, 3, 1, 1) # Compliance self.label_c = QLabel(frame) self.gridLayout.addWidget(self.label_c, 3, 0, 1, 1) self.c_from = QtWidgets.QSpinBox(frame) self.c_from.setObjectName("grid-spin") self.c_from.setMinimum(0) self.c_from.setMaximum(200) self.gridLayout.addWidget(self.c_from, 3, 1, 1, 1) self.c_to = QtWidgets.QSpinBox(frame) self.c_to.setObjectName("grid-spin") self.c_to.setMinimum(0) self.c_to.setMaximum(200) self.gridLayout.addWidget(self.c_to, 3, 2, 1, 1) self.c_step = QtWidgets.QSpinBox(frame) self.c_step.setObjectName("grid-spin") self.c_step.setMinimum(1) self.gridLayout.addWidget(self.c_step, 3, 3, 1, 1) # Breath rate self.label_br = QLabel(frame) self.gridLayout.addWidget(self.label_br, 4, 0, 1, 1) self.br_from = QtWidgets.QSpinBox(frame) self.br_from.setObjectName("grid-spin") self.br_from.setMinimum(1) self.br_from.setMaximum(100) self.gridLayout.addWidget(self.br_from, 4, 1, 1, 1) self.br_to = QtWidgets.QSpinBox(frame) self.br_to.setObjectName("grid-spin") self.br_to.setMinimum(1) self.br_to.setMaximum(100) self.gridLayout.addWidget(self.br_to, 4, 2, 1, 1) self.br_step = QtWidgets.QSpinBox(frame) self.br_step.setObjectName("grid-spin") self.br_step.setMinimum(1) self.gridLayout.addWidget(self.br_step, 4, 3, 1, 1) # Pmus self.label_i_pmus = QLabel(frame) self.gridLayout.addWidget(self.label_i_pmus, 5, 0, 1, 1) self.i_pmus_from = QtWidgets.QSpinBox(frame) self.i_pmus_from.setObjectName("grid-spin") self.i_pmus_from.setMinimum(0) self.i_pmus_from.setMaximum(100) self.gridLayout.addWidget(self.i_pmus_from, 5, 1, 1, 1) self.i_pmus_to = QtWidgets.QSpinBox(frame) self.i_pmus_to.setObjectName("grid-spin") self.i_pmus_to.setMinimum(0) self.i_pmus_to.setMaximum(100) self.gridLayout.addWidget(self.i_pmus_to, 5, 2, 1, 1) self.i_pmus_step = QtWidgets.QSpinBox(frame) self.i_pmus_step.setObjectName("grid-spin") self.i_pmus_step.setMinimum(1) self.gridLayout.addWidget(self.i_pmus_step, 5, 3, 1, 1) # Pmus increase self.label_i_pmus_inc = QLabel(frame) self.gridLayout.addWidget(self.label_i_pmus_inc, 6, 0, 1, 1) self.i_pmus_inc_from = QtWidgets.QSpinBox(frame) self.i_pmus_inc_from.setObjectName("grid-spin") self.i_pmus_inc_from.setMinimum(0) self.i_pmus_inc_from.setMaximum(100) self.gridLayout.addWidget(self.i_pmus_inc_from, 6, 1, 1, 1) self.i_pmus_inc_to = QtWidgets.QSpinBox(frame) self.i_pmus_inc_to.setObjectName("grid-spin") self.i_pmus_inc_to.setMinimum(0) self.i_pmus_inc_to.setMaximum(100) self.gridLayout.addWidget(self.i_pmus_inc_to, 6, 2, 1, 1) self.i_pmus_inc_step = QtWidgets.QSpinBox(frame) self.i_pmus_inc_step.setObjectName("grid-spin") self.i_pmus_inc_step.setMinimum(1) self.gridLayout.addWidget(self.i_pmus_inc_step, 6, 3, 1, 1) # Pmus hold self.label_i_pmus_hld = QLabel(frame) self.gridLayout.addWidget(self.label_i_pmus_hld, 7, 0, 1, 1) self.i_pmus_hld_from = QtWidgets.QSpinBox(frame) self.i_pmus_hld_from.setObjectName("grid-spin") self.i_pmus_hld_from.setMinimum(0) self.i_pmus_hld_from.setMaximum(100) self.gridLayout.addWidget(self.i_pmus_hld_from, 7, 1, 1, 1) self.i_pmus_hld_to = QtWidgets.QSpinBox(frame) self.i_pmus_hld_to.setObjectName("grid-spin") self.i_pmus_hld_to.setMinimum(0) self.i_pmus_hld_to.setMaximum(100) self.gridLayout.addWidget(self.i_pmus_hld_to, 7, 2, 1, 1) self.i_pmus_hld_step = QtWidgets.QSpinBox(frame) self.i_pmus_hld_step.setObjectName("grid-spin") self.i_pmus_hld_step.setMinimum(1) self.gridLayout.addWidget(self.i_pmus_hld_step, 7, 3, 1, 1) # Pmus hold self.label_i_pmus_rel = QLabel(frame) self.gridLayout.addWidget(self.label_i_pmus_rel, 8, 0, 1, 1) self.i_pmus_rel_from = QtWidgets.QSpinBox(frame) self.i_pmus_rel_from.setObjectName("grid-spin") self.i_pmus_rel_from.setMinimum(0) self.i_pmus_rel_from.setMaximum(100) self.gridLayout.addWidget(self.i_pmus_rel_from, 8, 1, 1, 1) self.i_pmus_rel_to = QtWidgets.QSpinBox(frame) self.i_pmus_rel_to.setObjectName("grid-spin") self.i_pmus_rel_to.setMinimum(0) self.i_pmus_rel_to.setMaximum(100) self.gridLayout.addWidget(self.i_pmus_rel_to, 8, 2, 1, 1) self.i_pmus_rel_step = QtWidgets.QSpinBox(frame) self.i_pmus_rel_step.setObjectName("grid-spin") self.i_pmus_rel_step.setMinimum(1) self.gridLayout.addWidget(self.i_pmus_rel_step, 8, 3, 1, 1) # Repetitions self.label_n_cycles = QLabel(frame) self.gridLayout.addWidget(self.label_n_cycles, 9, 0, 1, 1) self.n_cycles = QtWidgets.QSpinBox(frame) self.n_cycles.setObjectName("grid-spin") self.n_cycles.setMinimum(0) self.n_cycles.setMaximum(100) self.gridLayout.addWidget(self.n_cycles, 9, 1, 1, 1) # Informations separator = QtWidgets.QFrame(frame) separator.setFrameShape(QtWidgets.QFrame.HLine) separator.setFrameShadow(QtWidgets.QFrame.Sunken) self.gridLayout.addWidget(separator, 10, 0, 1, 4) self.label_tot_simus = QLabel(frame) self.gridLayout.addWidget(self.label_tot_simus, 11, 0, 1, 1) self.tot_simus = QLabel(frame) self.gridLayout.addWidget(self.tot_simus, 11, 1, 1, 1) self.label_tot_time = QLabel(frame) self.gridLayout.addWidget(self.label_tot_time, 12, 0, 1, 3) self.tot_time = QLabel(frame) self.gridLayout.addWidget(self.tot_time, 12, 1, 1, 3) # Progress self.progress = QProgressBar(frame) self.progress.setMaximumHeight(10) self.progress.setTextVisible(False) self.gridLayout.addWidget(self.progress, 13, 0, 1, 4) # Spacer spacerItem = QSpacerItem(40, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.gridLayout.addItem(spacerItem, 14, 0, 1, 4) self.h_layout.addLayout(self.gridLayout) spacerItem5 = QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.h_layout.addItem(spacerItem5) # Set size and position w, h = self.h_layout.sizeHint().toTuple() w_s, h_s = QApplication.primaryScreen().size().toTuple() x = round(w_s / 2 - w / 2) y = round(h_s / 2 - h / 2) BigScript.setCentralWidget(frame) BigScript.resize(w, h) BigScript.move(x, y) self.retranslateUi(BigScript) QtCore.QMetaObject.connectSlotsByName(BigScript)
def __init__(self, Settings: QMainWindow): # Set window parameters Settings.setWindowTitle("ASL Tools - Settings") Settings.setWindowFlag(Qt.Window) icon_size = QSize(48, 48) # Main frame frame = QWidget() frame.setObjectName("mainwindow") self.v_layout = QVBoxLayout(frame) # Select tool window location self.label_location = QLabel() self.v_layout.addWidget(self.label_location) self.group_corner = QButtonGroup() self.grid_layout = QGridLayout() # Top left corner self.btn_corner_tl = QPushButton() self.btn_corner_tl.setObjectName("top-left") self.btn_corner_tl.setIcon(QIcon(":/images/corner-tl.svg")) self.btn_corner_tl.setIconSize(QSize(32, 32)) self.btn_corner_tl.setCheckable(True) self.group_corner.addButton(self.btn_corner_tl) self.grid_layout.addWidget(self.btn_corner_tl, 0, 1) # Top right corner self.btn_corner_tr = QPushButton() self.btn_corner_tr.setObjectName("top-right") self.btn_corner_tr.setIcon(QIcon(":/images/corner-tr.svg")) self.btn_corner_tr.setIconSize(QSize(32, 32)) self.btn_corner_tr.setCheckable(True) self.group_corner.addButton(self.btn_corner_tr) self.grid_layout.addWidget(self.btn_corner_tr, 0, 2) # bottom left corner self.btn_corner_bl = QPushButton() self.btn_corner_bl.setObjectName("bottom-left") self.btn_corner_bl.setIcon(QIcon(":/images/corner-bl.svg")) self.btn_corner_bl.setIconSize(QSize(32, 32)) self.btn_corner_bl.setCheckable(True) self.group_corner.addButton(self.btn_corner_bl) self.grid_layout.addWidget(self.btn_corner_bl, 1, 1) # Bottom right corner self.btn_corner_br = QPushButton() self.btn_corner_br.setObjectName("bottom-right") self.btn_corner_br.setIcon(QIcon(":/images/corner-br.svg")) self.btn_corner_br.setIconSize(QSize(32, 32)) self.btn_corner_br.setCheckable(True) self.group_corner.addButton(self.btn_corner_br) self.grid_layout.addWidget(self.btn_corner_br, 1, 2) # Spacers spacer = QSpacerItem(20, 20) self.grid_layout.addItem(spacer, 0, 0) spacer = QSpacerItem(20, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.grid_layout.addItem(spacer, 0, 3) self.v_layout.addLayout(self.grid_layout) # Window fit the layout Settings.setCentralWidget(frame) # Set size and position w, h = self.v_layout.sizeHint().toTuple() w_s, h_s = QApplication.primaryScreen().size().toTuple() x = round(w_s / 2 - w / 2) y = round(h_s / 2 - h / 2) Settings.setCentralWidget(frame) Settings.resize(w, h) Settings.move(x, y) self.retranslateUi(Settings) QtCore.QMetaObject.connectSlotsByName(Settings)
def __init__(self, ModelVr3:QMainWindow): # Set Window parameters ModelVr3.setWindowTitle("ASL Tools - Tableau de bord") ModelVr3.setWindowFlag(Qt.Window) # Main frame frame = QtWidgets.QWidget(ModelVr3) self.h_layout = QHBoxLayout(frame) # Menubar menubar = ModelVr3.menuBar() menu_file:QMenu = menubar.addMenu("Fichier") self.action_file_new = QAction("Nouveau", menubar) self.action_file_new.setIcon(QIcon(":/images/new-file.svg")) self.action_file_new.setShortcut("Ctrl+N") menu_file.addAction(self.action_file_new) self.action_file_open = QAction("Ouvrir", menubar) self.action_file_open.setIcon(QIcon(":/images/open-file.svg")) self.action_file_open.setShortcut("Ctrl+O") menu_file.addAction(self.action_file_open) self.action_file_save = QAction("Enregistrer", menubar) self.action_file_save.setIcon(QIcon(":/images/save.svg")) self.action_file_save.setShortcut("Ctrl+S") menu_file.addAction(self.action_file_save) self.action_file_saveas = QAction("Enregistrer sous", menubar) self.action_file_saveas.setIcon(QIcon(":/images/save-as.svg")) self.action_file_saveas.setShortcut("Ctrl+Shift+S") menu_file.addAction(self.action_file_saveas) menu_file.addSeparator() self.action_file_export = QAction("Exporter", menubar) self.action_file_export.setIcon(QIcon(":/images/export.svg")) menu_file.addAction(self.action_file_export) menu_file.addSeparator() self.action_file_quit = QAction("Quitter", menubar) self.action_file_quit.setIcon(QIcon(":/images/quit.svg")) menu_file.addAction(self.action_file_quit) # self.h_layout.setMenuBar(menubar) # Spacer spacerItem = QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.h_layout.addItem(spacerItem) self.verticalLayout = QtWidgets.QVBoxLayout() self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("verticalLayout") self.label_file = QtWidgets.QLabel(frame) self.label_file.setAlignment(QtCore.Qt.AlignCenter) self.label_file.setObjectName("label_file") self.verticalLayout.addWidget(self.label_file) self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.check_time_constant = QtWidgets.QCheckBox(frame) self.check_time_constant.setCheckable(True) self.check_time_constant.setChecked(True) self.check_time_constant.setObjectName("check_time_constant") self.horizontalLayout_2.addWidget(self.check_time_constant) self.label_repetitions = QtWidgets.QLabel(frame) self.label_repetitions.setObjectName("label_repetitions") self.horizontalLayout_2.addWidget(self.label_repetitions) self.verticalLayout.addLayout(self.horizontalLayout_2) self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.btn_add = QtWidgets.QToolButton(frame) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/images/add.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.btn_add.setIcon(icon) self.btn_add.setIconSize(QtCore.QSize(24, 24)) self.btn_add.setAutoRaise(True) self.btn_add.setObjectName("btn_add") self.horizontalLayout.addWidget(self.btn_add) self.btn_remove = QtWidgets.QToolButton(frame) icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap(":/images/remove.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.btn_remove.setIcon(icon1) self.btn_remove.setIconSize(QtCore.QSize(24, 24)) self.btn_remove.setAutoRaise(True) self.btn_remove.setObjectName("btn_remove") self.horizontalLayout.addWidget(self.btn_remove) self.btn_move_up = QtWidgets.QToolButton(frame) icon2 = QtGui.QIcon() icon2.addPixmap(QtGui.QPixmap(":/images/arrow-up.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.btn_move_up.setIcon(icon2) self.btn_move_up.setIconSize(QtCore.QSize(24, 24)) self.btn_move_up.setAutoRaise(True) self.btn_move_up.setObjectName("btn_move_up") self.horizontalLayout.addWidget(self.btn_move_up) self.btn_move_down = QtWidgets.QToolButton(frame) icon3 = QtGui.QIcon() icon3.addPixmap(QtGui.QPixmap(":/images/arrow-down.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.btn_move_down.setIcon(icon3) self.btn_move_down.setIconSize(QtCore.QSize(24, 24)) self.btn_move_down.setAutoRaise(True) self.btn_move_down.setObjectName("btn_move_down") self.horizontalLayout.addWidget(self.btn_move_down) spacerItem = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem) self.verticalLayout.addLayout(self.horizontalLayout) self.tree = QtWidgets.QTreeWidget(frame) self.tree.setMinimumSize(QtCore.QSize(420, 500)) self.tree.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.verticalLayout.addWidget(self.tree) spacerItem = QSpacerItem(20, 20, QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred) self.verticalLayout.addItem(spacerItem) self.h_layout.addLayout(self.verticalLayout) spacer = QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.h_layout.addItem(spacer) # Set size and position w, h = self.h_layout.sizeHint().toTuple() w_s, h_s = QApplication.primaryScreen().size().toTuple() x = round(w_s/2 - w/2) y = round(h_s/2 - h/2) ModelVr3.setCentralWidget(frame) ModelVr3.resize(w, h) ModelVr3.move(x, y) self.retranslateUi(ModelVr3) QtCore.QMetaObject.connectSlotsByName(ModelVr3)
def __init__(self, Dashboard: QMainWindow): # Set Window parameters Dashboard.setWindowTitle("ASL Tools - Tableau de bord") Dashboard.setWindowFlag(Qt.Window) # Main frame frame = QWidget(Dashboard) self.h_layout = QHBoxLayout(frame) # Menubar menubar = Dashboard.menuBar() menu_file: QMenu = menubar.addMenu("Fichier") self.action_file_new = QAction("Nouveau", menubar) self.action_file_new.setIcon(QIcon(":/images/new-file.svg")) self.action_file_new.setShortcut("Ctrl+N") menu_file.addAction(self.action_file_new) self.action_file_open = QAction("Ouvrir", menubar) self.action_file_open.setIcon(QIcon(":/images/open-file.svg")) self.action_file_open.setShortcut("Ctrl+O") menu_file.addAction(self.action_file_open) self.action_file_save = QAction("Enregistrer", menubar) self.action_file_save.setIcon(QIcon(":/images/save.svg")) self.action_file_save.setShortcut("Ctrl+S") menu_file.addAction(self.action_file_save) self.action_file_saveas = QAction("Enregistrer sous", menubar) self.action_file_saveas.setIcon(QIcon(":/images/save-as.svg")) self.action_file_saveas.setShortcut("Ctrl+Shift+S") menu_file.addAction(self.action_file_saveas) menu_file.addSeparator() self.action_file_export = QAction("Exporter", menubar) self.action_file_export.setIcon(QIcon(":/images/export.svg")) menu_file.addAction(self.action_file_export) menu_file.addSeparator() self.action_file_quit = QAction("Quitter", menubar) self.action_file_quit.setIcon(QIcon(":/images/quit.svg")) menu_file.addAction(self.action_file_quit) menu_edit: QMenu = menubar.addMenu("Edition") self.action_edit_copy = QAction("Copier", menubar) self.action_edit_copy.setIcon(QIcon(":/images/copy.svg")) self.action_edit_copy.setShortcut("Alt+C") menu_edit.addAction(self.action_edit_copy) self.action_edit_paste = QAction("Coller", menubar) self.action_edit_paste.setIcon(QIcon(":/images/paste.svg")) self.action_edit_paste.setShortcut("Alt+V") menu_edit.addAction(self.action_edit_paste) self.h_layout.setMenuBar(menubar) # Spacer spacerItem = QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.h_layout.addItem(spacerItem) self.gridLayout = QtWidgets.QGridLayout() self.list = QtWidgets.QListWidget(frame) self.list.setObjectName("list") self.gridLayout.addWidget(self.list, 2, 0, 1, 1) self.gridLayout_4 = QtWidgets.QGridLayout() self.gridLayout_4.setObjectName("gridLayout_4") self.label_e_pmus_hld = QtWidgets.QLabel(frame) self.label_e_pmus_hld.setMinimumSize(QtCore.QSize(0, 20)) self.label_e_pmus_hld.setObjectName("label_e_pmus_hld") self.gridLayout_4.addWidget(self.label_e_pmus_hld, 14, 0, 1, 1) self.e_pmus_inc = QtWidgets.QSpinBox(frame) self.e_pmus_inc.setMaximum(100) self.e_pmus_inc.setObjectName("e_pmus_inc") self.gridLayout_4.addWidget(self.e_pmus_inc, 13, 1, 1, 1) self.resistance = QtWidgets.QSpinBox(frame) self.resistance.setMaximum(500) self.resistance.setObjectName("resistance") self.gridLayout_4.addWidget(self.resistance, 3, 1, 1, 1) self.label_e_pmus = QtWidgets.QLabel(frame) self.label_e_pmus.setMinimumSize(QtCore.QSize(0, 20)) self.label_e_pmus.setObjectName("label_e_pmus") self.gridLayout_4.addWidget(self.label_e_pmus, 12, 0, 1, 1) self.respi_rate = QtWidgets.QSpinBox(frame) self.respi_rate.setMaximum(500) self.respi_rate.setObjectName("respi_rate") self.gridLayout_4.addWidget(self.respi_rate, 4, 1, 1, 1) self.e_pmus_rel = QtWidgets.QSpinBox(frame) self.e_pmus_rel.setMaximum(100) self.e_pmus_rel.setObjectName("e_pmus_rel") self.gridLayout_4.addWidget(self.e_pmus_rel, 15, 1, 1, 1) self.e_pmus = QtWidgets.QSpinBox(frame) self.e_pmus.setMaximum(100) self.e_pmus.setObjectName("e_pmus") self.gridLayout_4.addWidget(self.e_pmus, 12, 1, 1, 1) self.label_e_pmus_inc = QtWidgets.QLabel(frame) self.label_e_pmus_inc.setMinimumSize(QtCore.QSize(0, 20)) self.label_e_pmus_inc.setObjectName("label_e_pmus_inc") self.gridLayout_4.addWidget(self.label_e_pmus_inc, 13, 0, 1, 1) self.e_pmus_hld = QtWidgets.QSpinBox(frame) self.e_pmus_hld.setMaximum(100) self.e_pmus_hld.setObjectName("e_pmus_hld") self.gridLayout_4.addWidget(self.e_pmus_hld, 14, 1, 1, 1) self.enabled = QtWidgets.QCheckBox(frame) self.enabled.setText("") self.enabled.setObjectName("enabled") self.gridLayout_4.addWidget(self.enabled, 0, 1, 1, 1) spacerItem1 = QSpacerItem(20, 30, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) self.gridLayout_4.addItem(spacerItem1, 16, 0, 1, 1) self.label_i_pmus_inc = QtWidgets.QLabel(frame) self.label_i_pmus_inc.setMinimumSize(QtCore.QSize(0, 20)) self.label_i_pmus_inc.setObjectName("label_i_pmus_inc") self.gridLayout_4.addWidget(self.label_i_pmus_inc, 8, 0, 1, 1) self.label_i_pmus_hld = QtWidgets.QLabel(frame) self.label_i_pmus_hld.setMinimumSize(QtCore.QSize(0, 20)) self.label_i_pmus_hld.setObjectName("label_i_pmus_hld") self.gridLayout_4.addWidget(self.label_i_pmus_hld, 9, 0, 1, 1) self.label_i_pmus = QtWidgets.QLabel(frame) self.label_i_pmus.setMinimumSize(QtCore.QSize(0, 20)) self.label_i_pmus.setObjectName("label_i_pmus") self.gridLayout_4.addWidget(self.label_i_pmus, 7, 0, 1, 1) spacerItem2 = QSpacerItem(20, 30, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) self.gridLayout_4.addItem(spacerItem2, 6, 0, 1, 1) self.i_pmus_inc = QtWidgets.QSpinBox(frame) self.i_pmus_inc.setMaximum(100) self.i_pmus_inc.setObjectName("i_pmus_inc") self.gridLayout_4.addWidget(self.i_pmus_inc, 8, 1, 1, 1) spacerItem3 = QSpacerItem(20, 30, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) self.gridLayout_4.addItem(spacerItem3, 11, 0, 1, 1) self.i_pmus_rel = QtWidgets.QSpinBox(frame) self.i_pmus_rel.setMaximum(100) self.i_pmus_rel.setObjectName("i_pmus_rel") self.gridLayout_4.addWidget(self.i_pmus_rel, 10, 1, 1, 1) self.i_pmus = QtWidgets.QSpinBox(frame) self.i_pmus.setMaximum(100) self.i_pmus.setObjectName("i_pmus") self.gridLayout_4.addWidget(self.i_pmus, 7, 1, 1, 1) self.i_pmus_hld = QtWidgets.QSpinBox(frame) self.i_pmus_hld.setMaximum(100) self.i_pmus_hld.setObjectName("i_pmus_hld") self.gridLayout_4.addWidget(self.i_pmus_hld, 9, 1, 1, 1) self.compliance = QtWidgets.QSpinBox(frame) self.compliance.setMaximum(500) self.compliance.setObjectName("compliance") self.gridLayout_4.addWidget(self.compliance, 2, 1, 1, 1) self.label_enabled = QtWidgets.QLabel(frame) self.label_enabled.setMinimumSize(QtCore.QSize(0, 20)) self.label_enabled.setObjectName("label_enabled") self.gridLayout_4.addWidget(self.label_enabled, 0, 0, 1, 1) self.label_crf = QtWidgets.QLabel(frame) self.label_crf.setMinimumSize(QtCore.QSize(0, 20)) self.label_crf.setObjectName("label_crf") self.gridLayout_4.addWidget(self.label_crf, 17, 0, 1, 1) self.label_resistance = QtWidgets.QLabel(frame) self.label_resistance.setMinimumSize(QtCore.QSize(0, 20)) self.label_resistance.setObjectName("label_resistance") self.gridLayout_4.addWidget(self.label_resistance, 3, 0, 1, 1) self.label_respi_rate = QtWidgets.QLabel(frame) self.label_respi_rate.setMinimumSize(QtCore.QSize(0, 20)) self.label_respi_rate.setObjectName("label_respi_rate") self.gridLayout_4.addWidget(self.label_respi_rate, 4, 0, 1, 1) self.label_e_pmus_rel = QtWidgets.QLabel(frame) self.label_e_pmus_rel.setMinimumSize(QtCore.QSize(0, 20)) self.label_e_pmus_rel.setObjectName("label_e_pmus_rel") self.gridLayout_4.addWidget(self.label_e_pmus_rel, 15, 0, 1, 1) self.label_i_pmus_rel = QtWidgets.QLabel(frame) self.label_i_pmus_rel.setMinimumSize(QtCore.QSize(0, 20)) self.label_i_pmus_rel.setObjectName("label_i_pmus_rel") self.gridLayout_4.addWidget(self.label_i_pmus_rel, 10, 0, 1, 1) self.crf = QtWidgets.QDoubleSpinBox(frame) self.crf.setDecimals(1) self.crf.setSingleStep(0.1) self.crf.setObjectName("crf") self.gridLayout_4.addWidget(self.crf, 17, 1, 1, 1) self.label_compliance = QtWidgets.QLabel(frame) self.label_compliance.setMinimumSize(QtCore.QSize(0, 20)) self.label_compliance.setObjectName("label_compliance") self.gridLayout_4.addWidget(self.label_compliance, 2, 0, 1, 1) spacerItem4 = QSpacerItem(20, 30, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) self.gridLayout_4.addItem(spacerItem4, 1, 0, 1, 1) spacerItem4 = QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.gridLayout_4.addItem(spacerItem4, 18, 0, 1, 1) self.gridLayout.addLayout(self.gridLayout_4, 2, 1, 1, 1) self.label_file = QtWidgets.QLabel(frame) self.label_file.setTextFormat(QtCore.Qt.PlainText) self.label_file.setAlignment(QtCore.Qt.AlignCenter) self.label_file.setObjectName("label_file") self.gridLayout.addWidget(self.label_file, 0, 0, 1, 3) self.verticalLayout_2 = QtWidgets.QVBoxLayout() self.verticalLayout_2.setObjectName("verticalLayout_2") self.label = QtWidgets.QLabel(frame) self.label.setObjectName("label") self.verticalLayout_2.addWidget(self.label) self.comment = QtWidgets.QTextEdit(frame) self.comment.setObjectName("comment") self.verticalLayout_2.addWidget(self.comment) self.gridLayout.addLayout(self.verticalLayout_2, 2, 2, 1, 1) self.h_layout.addLayout(self.gridLayout) spacerItem5 = QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.h_layout.addItem(spacerItem5) # Set size and position w, h = self.h_layout.sizeHint().toTuple() w_s, h_s = QApplication.primaryScreen().size().toTuple() x = round(w_s / 2 - w / 2) y = round(h_s / 2 - h / 2) Dashboard.setCentralWidget(frame) Dashboard.resize(w, h) Dashboard.move(x, y) self.retranslateUi(Dashboard) QtCore.QMetaObject.connectSlotsByName(Dashboard) Dashboard.setTabOrder(self.list, self.enabled) Dashboard.setTabOrder(self.enabled, self.compliance) Dashboard.setTabOrder(self.compliance, self.resistance) Dashboard.setTabOrder(self.resistance, self.respi_rate) Dashboard.setTabOrder(self.respi_rate, self.i_pmus) Dashboard.setTabOrder(self.i_pmus, self.i_pmus_inc) Dashboard.setTabOrder(self.i_pmus_inc, self.i_pmus_hld) Dashboard.setTabOrder(self.i_pmus_hld, self.i_pmus_rel) Dashboard.setTabOrder(self.i_pmus_rel, self.e_pmus) Dashboard.setTabOrder(self.e_pmus, self.e_pmus_inc) Dashboard.setTabOrder(self.e_pmus_inc, self.e_pmus_hld) Dashboard.setTabOrder(self.e_pmus_hld, self.e_pmus_rel) Dashboard.setTabOrder(self.e_pmus_rel, self.crf)
def __init__(self, MainWindow: QMainWindow): # Set main window parameters MainWindow.setWindowTitle("ASL Tools") MainWindow.setAttribute(Qt.WA_TranslucentBackground) MainWindow.setWindowFlag(Qt.FramelessWindowHint) MainWindow.setWindowFlag(Qt.WindowStaysOnTopHint) MainWindow.setAttribute(Qt.WA_QuitOnClose) icon_size = QSize(48, 48) # Main frame frame = QWidget() frame.setObjectName("mainwindow") self.v_layout = QVBoxLayout(frame) self.v_layout.setMargin(0) self.v_layout.setSpacing(0) # Top frame self.frame_top = QFrame() self.frame_top.setObjectName("topframe") self.frame_top.setMaximumHeight(20) self.frame_top.setCursor(Qt.OpenHandCursor) self.v_layout.addWidget(self.frame_top) # Ellements in top frame self.h_layout = QHBoxLayout(self.frame_top) self.h_layout.setMargin(0) self.btn_quit = QToolButton() self.btn_quit.setIcon(QIcon(":/images/quit.svg")) self.btn_quit.setIconSize(QSize(16, 16)) self.btn_quit.setCursor(Qt.CursorShape.PointingHandCursor) self.btn_quit.setAutoRaise(True) self.h_layout.addWidget(self.btn_quit, alignment=Qt.AlignRight) # Misc self.h_layout_misc = QHBoxLayout() self.h_layout_misc.setSpacing(0) self.h_layout_misc.setMargin(0) self.v_layout.addLayout(self.h_layout_misc) # Help self.btn_help = QToolButton() self.btn_help.setIcon(QIcon(":/images/help.svg")) self.btn_help.setObjectName("toolsmall") self.btn_help.setIconSize(QSize(20, 20)) self.btn_help.setCursor(Qt.CursorShape.PointingHandCursor) self.h_layout_misc.addWidget(self.btn_help) # Settings self.btn_settings = QToolButton() self.btn_settings.setIcon(QIcon(":/images/settings.svg")) self.btn_settings.setObjectName("toolsmall") self.btn_settings.setIconSize(QSize(20, 20)) self.btn_settings.setCursor(Qt.CursorShape.PointingHandCursor) self.h_layout_misc.addWidget(self.btn_settings) # Button create vr3 model self.btn_model_vr3 = QToolButton() self.btn_model_vr3.setIcon(QIcon(":/images/model-vr3.svg")) self.btn_model_vr3.setObjectName("tool") self.btn_model_vr3.setIconSize(icon_size) self.btn_model_vr3.setCursor(Qt.CursorShape.PointingHandCursor) self.v_layout.addWidget(self.btn_model_vr3) # Create script self.btn_script = QToolButton() self.btn_script.setIcon(QIcon(":/images/script.svg")) self.btn_script.setObjectName("tool") self.btn_script.setIconSize(icon_size) self.btn_script.setCursor(Qt.CursorShape.PointingHandCursor) self.v_layout.addWidget(self.btn_script) # Create dashboard self.btn_dashboard = QToolButton() self.btn_dashboard.setIcon(QIcon(":/images/dashboard.svg")) self.btn_dashboard.setObjectName("tool") self.btn_dashboard.setIconSize(icon_size) self.btn_dashboard.setCursor(Qt.CursorShape.PointingHandCursor) self.v_layout.addWidget(self.btn_dashboard) # Create big script self.btn_bigscript = QToolButton() self.btn_bigscript.setIcon(QIcon(":/images/big-script.svg")) self.btn_bigscript.setObjectName("tool") self.btn_bigscript.setIconSize(icon_size) self.btn_bigscript.setCursor(Qt.CursorShape.PointingHandCursor) self.v_layout.addWidget(self.btn_bigscript) # # Window fit the layout MainWindow.setCentralWidget(frame) MainWindow.setFixedSize(frame.sizeHint())