def showAttributes(self, pos): """docstring for showAttributes""" menu=QtGui.QMenu(self) for a in self._getObjects()[0].listAttr( s = True ): actionProperties = QtGui.QAction( a.name, menu) menu.addAction( actionProperties ) self.connect( actionProperties, QtCore.SIGNAL( "triggered()" ), lambda val = a.name : self.attribute_le.setText(val) ) menu.popup(self.mapToGlobal(pos)) self.attribute_le.setFocus()
def showSectionMenu(self, item): """display menu on selected item""" menu = QtGui.QMenu(self) selectControlsProperties = QtGui.QAction("Delete Section", menu) self.connect(selectControlsProperties, QtCore.SIGNAL("triggered()"), lambda pose=item: self.deleteSection(pose)) menu.addAction(selectControlsProperties) menu.popup(self.mapToGlobal(self.mapFromGlobal(QtGui.QCursor.pos())))
def create_actions(self): # todo: 重构为表驱动 app = QtGui.QApplication.instance() action_list = [] script_editor = QtGui.QAction("&ScriptEditor", self, triggered=self.call_script_editor) configAction = QtGui.QAction("&Config", self, triggered=self.call_configUI) helpAction = QtGui.QAction("&Help", self, triggered=self.call_helpUI) feedbackAction = QtGui.QAction("&FeedBack", self, triggered=self.call_feedbackUI) quitAction = QtGui.QAction("&Quit", self, triggered=app.quit) action_list.append(script_editor) action_list.append(configAction) action_list.append(helpAction) action_list.append(feedbackAction) action_list.append(quitAction) return action_list
def initMenuBar(self): exitAction = QtGui.QAction(QtGui.QIcon('exit.png'), '&Exit', self) exitAction.setShortcut('Ctrl+Q') exitAction.setStatusTip('Exit application') exitAction.triggered.connect(self.close) self.menubar = QtGui.QMenuBar() self.fileMenu = self.menubar.addMenu('File') self.fileMenu.addAction(exitAction) self.settingsMenu = self.menubar.addMenu('Settings') self.helpMenu = self.menubar.addMenu('?') self.topLayout.setMenuBar(self.menubar)
def showMenu(self, pos): """show menu options for pose""" menu = QtGui.QMenu(self) selectControlsProperties = QtGui.QAction("Select Controls", menu) deletePoseProperties = QtGui.QAction("Delete Pose", menu) sliderPoseProperties = QtGui.QAction("Create Slider", menu) updatePoseProperties = QtGui.QAction("Update Pose", menu) updateThumbProperties = QtGui.QAction("Update Thumbnail Pose", menu) self.connect(selectControlsProperties, QtCore.SIGNAL("triggered()"), self.selectControlsProperties) self.connect(deletePoseProperties, QtCore.SIGNAL("triggered()"), self.deletePoseProperties) self.connect(sliderPoseProperties, QtCore.SIGNAL("triggered()"), self.sliderPoseProperties) self.connect(updatePoseProperties, QtCore.SIGNAL("triggered()"), self.updatePoseProperties) self.connect(updateThumbProperties, QtCore.SIGNAL("triggered()"), self.updateThumbProperties) menu.addAction(selectControlsProperties) menu.addAction(deletePoseProperties) menu.addAction(sliderPoseProperties) menu.addAction(updatePoseProperties) menu.addAction(updateThumbProperties) menu.popup(self.mapToGlobal(pos))
def initUI(self): #Create 'Main Menu' button self.mainMenu = QMenu(self.name+'Menu') self.mainMenu.setObjectName(self.name+'Menu') self.mainMenu.setTearOffEnabled(True) self.mainMenu.addAction((QtGui.QAction('test0', self))) self.mainMenu.setStyleSheet("QMenu::tearoff {height: 8px;} QMenu::tearoff:selected{ background-color: dimgray}") self.populateMenu() for action in self.Menuactions: self.mainMenu.addAction(self.Menuactions[action]) self.mainButton = TooglableMenuButton(os.path.join(self.iconPath,"leftBottomArrow.png"), self.refMenu, str(self.name)) self.mainButton.setObjectName(self.name+'Main') #self.mainButton.setStyleSheet("QPushButton#main::menu-indicator {subcontrol-position: left bottom; bottom: -4px;}") mainGrid = QtGui.QGridLayout() mainGrid.setSpacing(0) mainGrid.setContentsMargins(0,0,0,0) mainGrid.addWidget(self.mainButton, 0, 0) #mainGrid.addLayout(SRTgrid,1,0) self.setLayout(mainGrid)
def _build_ui(self): self.setObjectName(self.OBJECTNAME) self.setWindowTitle(self.WINDOWTITLE) self.setMinimumWidth(320) self.setMinimumHeight(500) self.layout = QtGui.QVBoxLayout(self) # Base vertical layout base_widget = QtWidgets.QWidget() self.base_layout = QtWidgets.QVBoxLayout(base_widget) self.layout.addWidget(base_widget) size_policy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) base_widget.setSizePolicy(size_policy) # Menu Bar menu_bar = QtGui.QMenuBar() file_menu = menu_bar.addMenu('File') view_menu = menu_bar.addMenu('View') help_menu = menu_bar.addMenu('Help') self.base_layout.addWidget(menu_bar) # File Menu file_new = QtGui.QAction('New', self) file_new.setStatusTip('Create a new checklist') file_new.triggered.connect(self._add_tab) file_open = QtGui.QAction('Open', self) file_open.setStatusTip('Load Checklist') file_open.triggered.connect(self._load_checklist) file_save = QtGui.QAction('Save', self) file_save.setStatusTip('Save Checklist') file_save.triggered.connect(self._save_checklist) file_save_as = QtGui.QAction('Save As', self) file_save_as.setStatusTip('Save Checklist As') file_save_as.triggered.connect(self._save_as_checklist) file_presets = QtGui.QMenu('Presets', self) file_preset_arcs = QtGui.QAction('Arcs', self) file_preset_arcs.triggered.connect( lambda preset='arcs': self._load_preset(preset)) file_preset_basic = QtGui.QAction('Basic', self) file_preset_basic.triggered.connect( lambda preset='basic': self._load_preset(preset)) file_preset_polish = QtGui.QAction('Polish', self) file_preset_polish.triggered.connect( lambda preset='polish': self._load_preset(preset)) file_preset_face = QtGui.QAction('Face', self) file_preset_face.triggered.connect( lambda preset='face': self._load_preset(preset)) file_rename = QtGui.QAction('Rename', self) file_rename.triggered.connect(self._rename_checklist) file_exit = QtGui.QAction('Quit', self) file_exit.triggered.connect(self.test) file_menu.addAction(file_new) file_menu.addAction(file_open) file_menu.addAction(file_save) file_menu.addAction(file_save_as) file_menu.addSeparator() file_menu.addAction(file_rename) file_menu.addMenu(file_presets) file_presets.addAction(file_preset_arcs) file_presets.addAction(file_preset_basic) file_presets.addAction(file_preset_polish) file_presets.addAction(file_preset_face) file_menu.addSeparator() file_menu.addAction(file_exit) debug = QtGui.QAction('Debug', self) debug.triggered.connect(self.debug) file_menu.addAction(debug) # View Menu view_all = QtGui.QAction('All', self) view_all.setStatusTip('Show all items') view_all.triggered.connect( lambda filter='all': self._view_filter(filter)) view_unchecked = QtGui.QAction('Unchecked', self) view_unchecked.setStatusTip('Show only unchecked items') view_unchecked.triggered.connect( lambda filter='unchecked': self._view_filter(filter)) sort_by_frame = QtGui.QAction('Frame', self) sort_by_frame.setStatusTip('Sort by frame') sort_by_frame.triggered.connect( lambda sort='frame': self._sort_list(sort)) sort_by_checkstate = QtGui.QAction('Checkstate', self) sort_by_checkstate.setStatusTip('Sort by checkstate') sort_by_checkstate.triggered.connect( lambda sort='checkstate': self._sort_list(sort)) sort_by_color = QtGui.QAction('Color', self) sort_by_color.setStatusTip('Sort by color') sort_by_color.triggered.connect( lambda sort='color': self._sort_list(sort)) filter_separator = QtGui.QMenu.addSeparator(view_menu) filter_separator.setText('Filter') view_menu.addAction(view_all) view_menu.addAction(view_unchecked) sort_separator = QtGui.QMenu.addSeparator(view_menu) sort_separator.setText('Sort') view_menu.addAction(sort_by_frame) view_menu.addAction(sort_by_checkstate) view_menu.addAction(sort_by_color) # Tabbed Layout self.tab_widget = QtWidgets.QTabWidget() self.tab_widget.setSizePolicy(size_policy) self.tab_widget.setTabsClosable(True) self.tab_widget.tabCloseRequested.connect(self._delete_tab) self.tab_widget.setMovable(True) self._add_tab() self.base_layout.addWidget(self.tab_widget)