def registerCmap(self): """ Add matplotlib cmaps to the GradientEditors context menu""" self.gradientEditorItem.menu.addSeparator() savedLength = self.gradientEditorItem.length self.gradientEditorItem.length = 100 for name in self.mplColorMaps: px = QPixmap(100, 15) p = QPainter(px) self.gradientEditorItem.restoreState(self.mplColorMaps[name]) grad = self.gradientEditorItem.getGradient() brush = QBrush(grad) p.fillRect(QtCore.QRect(0, 0, 100, 15), brush) p.end() label = QLabel() label.setPixmap(px) label.setContentsMargins(1, 1, 1, 1) act = QWidgetAction(self.gradientEditorItem) act.setDefaultWidget(label) act.triggered.connect(self.cmapClicked) act.name = name self.gradientEditorItem.menu.addAction(act) self.gradientEditorItem.length = savedLength