def __init__(self, parent, name): QWidget.__init__(self, parent) self.setStyleSheet(get_stylesheet("ribbonPane")) horizontal_layout = QHBoxLayout() horizontal_layout.setSpacing(0) horizontal_layout.setContentsMargins(0, 0, 0, 0) self.setLayout(horizontal_layout) vertical_widget = QWidget(self) horizontal_layout.addWidget(vertical_widget) horizontal_layout.addWidget(RibbonSeparator(self)) vertical_layout = QVBoxLayout() vertical_layout.setSpacing(0) vertical_layout.setContentsMargins(0, 0, 0, 0) vertical_widget.setLayout(vertical_layout) label = QLabel(name) label.setAlignment(Qt.AlignCenter) label.setStyleSheet("color:#666;") content_widget = QWidget(self) vertical_layout.addWidget(content_widget) vertical_layout.addWidget(label) content_layout = QHBoxLayout() content_layout.setAlignment(Qt.AlignLeft) content_layout.setSpacing(0) content_layout.setContentsMargins(0, 0, 0, 0) self.contentLayout = content_layout content_widget.setLayout(content_layout)
def __init__(self, parent): QToolBar.__init__(self, parent) self.setStyleSheet(get_stylesheet("ribbon")) self.setObjectName("ribbonWidget") self.setWindowTitle("Ribbon") self._ribbon_widget = QTabWidget(self) self._ribbon_widget.setMaximumHeight(120 * gui_scale()) self._ribbon_widget.setMinimumHeight(110 * gui_scale()) self.setMovable(False) self.addWidget(self._ribbon_widget)
def __init__(self, owner, action, is_large): QPushButton.__init__(self, owner) # sc = 1 sc = gui_scale() self._actionOwner = action self.update_button_status_from_action() self.clicked.connect(self._actionOwner.trigger) self._actionOwner.changed.connect(self.update_button_status_from_action) if is_large: self.setMaximumWidth(80 * sc) self.setMinimumWidth(50 * sc) self.setMinimumHeight(75 * sc) self.setMaximumHeight(80 * sc) self.setStyleSheet(get_stylesheet("ribbonButton")) self.setToolButtonStyle(3) self.setIconSize(QSize(32 * sc, 32 * sc)) else: self.setToolButtonStyle(2) self.setMaximumWidth(120 * sc) self.setIconSize(QSize(16 * sc, 16 * sc)) self.setStyleSheet(get_stylesheet("ribbonSmallButton"))
def __init__(self, document): """ :type document: PyDesignDocument :param document: :return: """ QMainWindow.__init__(self, None) main_windows.append(self) self.setStyleSheet(get_stylesheet("main")) self._active_analysis = None self._active_geometry = None self._document = document self.resize(1280, 800) self.setDockNestingEnabled(True) self.setWindowIcon(get_icon("pydesign")) # tree dock self._tree_dock_widget = QDockWidget(self) self._tree_dock_widget.setObjectName("treeDockWidget"); self._tree_widget = PyDesignTreeWidget(self) self._tree_dock_widget.setWidget(self._tree_widget) self._tree_dock_widget.setWindowTitle("Document model") self.addDockWidget(Qt.LeftDockWidgetArea, self._tree_dock_widget) # detail doc self._detail_dock_widget = QDockWidget(self) self._detail_dock_widget.setObjectName("detailDockWidget"); self._detail_widget = PyDesignDetailWidget(self, document) self._detail_dock_widget.setWidget(self._detail_widget) self._detail_dock_widget.setWindowTitle("Details") self.addDockWidget(Qt.RightDockWidgetArea, self._detail_dock_widget) # View doc self._view_dock_widget = QDockWidget(self) # self._view_dock_widget.setStyleSheet(get_stylesheet("tab")) self._view_dock_widget.setObjectName("ViewDockWidget"); self._view_widget = PyDesignViewWidget(self, document) self._view_dock_widget.setWidget(self._view_widget) self._view_dock_widget.setWindowTitle("View") self.addDockWidget(Qt.RightDockWidgetArea, self._view_dock_widget) # actions self._new_action = self.add_action("New", "new", "New", True, self.on_new, QKSec.New) self._open_action = self.add_action("Open", "open", "Open file", True, self.on_open_file, QKSec.Open) self._save_action = self.add_action("Save", "save", "Save file", True, self.on_save_file, QKSec.Save) self._save_as_action = self.add_action("Save \nFile as", "save", "Save file with other file name", True, self.on_save_file_as, QKSec.SaveAs) self._copy_action = self.add_action("Copy", "copy", "Copy selection", True, self.on_copy, QKSec.Copy) self._undo_action = self.add_action("Undo", "undo", "Undo last action", True, self.on_undo, QKSec.Undo) self._redo_action = self.add_action("Redo", "redo", "Redo last undone action", True, self.on_redo, QKSec.Redo) self._paste_action = self.add_action("Paste", "paste", "Paste from clipboard", True, self.on_paste, QKSec.Paste) self._about_action = self.add_action("About", "about", "About QupyRibbon", True, self.on_about) self._license_action = self.add_action("License", "license", "Licence for this software", True, self.on_license) self._exit_action = self.add_action("Exit", "exit", "exit now", True, self.on_exit) self._add_analysis_action = self.add_action("Add\nAnalysis", "addAnalysis", "Add layout to document", True, self.on_add_analysis) self._add_calc_sheet_action = self.add_action("Add\nCalc sheet", "addCalcsheet", "Add Calculation sheet to analysis", True, self.on_add_calc_sheet) self._add_geometry_action = self.add_action("Add\nGeometry", "addGeometry", "Add geometry to document", True, self.on_add_geometry) self._add_draft_action = self.add_action("Add\nDraft", "addDraft", "Add draft to geometry", True, self.on_add_draft) self._add_extrude_action = self.add_action("Extrude\nprofile", "extrude", "Extrude solid from profile", True, None) self._add_revolve_action = self.add_action("Revolve\nprofile", "revolve", "Add revolved solid from profile", True, None) self._add_polyline_action = self.add_action("Add\nlines", "addLines", "Add polyline to selected draft", True, None) self._add_circle_action = self.add_action("Add\ncircle", "addCircle", "Add circle to selected draft", True, None) self._add_fillet_action = self.add_action("Add\nfillet", "addFillet", "Add fillet to selected draft", True, None) # Status bar self.statusBar().showMessage("Ready") progress_bar = QProgressBar() progress_bar.setMaximumHeight(20) progress_bar.setMaximumWidth(300) progress_bar.setTextVisible(False) self.statusBar().addPermanentWidget(progress_bar, 0); progress_bar.setValue(100) # toolbar self._ribbon = RibbonWidget(self) self.addToolBar(self._ribbon) self.init_ribbon() self.read_settings() self.update_actions()