def ramp_color_rgb(values, feature, parent): """ Return only the rgb part of a defined color ramp <p><h4>Syntax</h4> ramp_color_rgb(<i>ramp_name,value</i>)</p> <p><h4>Arguments</h4> <i> ramp_name</i> → the name of the color ramp as a string, for example 'Spectral'.<br> <i> value</i> → the position on the ramp to select the color from as a real number between 0 and 1.<br></p> <p><h4>Example</h4> <!-- Show example of function.--> ramp_color_rgb('Spectral',0.3) → '253,190,115'</p> <p><h4>Note:</h4> The color ramps available vary between QGIS installations. This function may not give the expected results if you move your Quantum project. </p> """ ramp_name = values[0] ramp_position = values[1] ramp = QgsStyleV2.defaultStyle().colorRampRef(ramp_name) if not ramp: parent.setEvalErrorString(QObject.tr('"{}" is not a valid color ramp'.format(ramp_name))) return QColor(0, 0, 0).name() value, error = getFloat(ramp_position) if error: parent.setEvalErrorString(error) color = ramp.color(value) return "{},{},{}".format(color.red(), color.green(), color.blue())
def on_mPageStyleButton_clicked(self): if self.timeStart != 0: self.timeEnd = time.time() print self.timeEnd if self.timeEnd - self.timeStart <= 2: self.timeStart = 0 return if ( not self.mComposition ): return coverageLayer = None # use the atlas coverage layer, if any if ( self.mComposition.atlasComposition().enabled() ): coverageLayer = self.mComposition.atlasComposition().coverageLayer() newSymbol = self.mComposition.pageStyleSymbol().clone() if ( not newSymbol ): newSymbol = QgsFillSymbolV2() d = QgsSymbolV2SelectorDialog( newSymbol, QgsStyleV2.defaultStyle(), coverageLayer, self) d.setExpressionContext( self.mComposition.createExpressionContext() ) if ( d.exec_() == QDialog.Accepted ): self.mComposition.setPageStyleSymbol( newSymbol ) self.updatePageStyle() self.timeStart = time.time()
def ramp_color_rgb(values, feature, parent): """ Return only the rgb part of a defined color ramp <h4>Syntax</h4> <p>ramp_color_rgb(<i>ramp_name,value</i>)</p> <h4>Arguments</h4> <p><i> ramp_name</i> → the name of the color ramp as a string, for example 'Spectral'.<br> <i> value</i> → the position on the ramp to select the color from as a real number between 0 and 1.<br></p> <h4>Example</h4> <p><!-- Show example of function.--> ramp_color_rgb('Spectral',0.3) → '253,190,115'</p> <h4>Note:</h4> <p>The color ramps available vary between QGIS installations. This function may not give the expected results if you move your Quantum project. </p> """ ramp_name = values[0] ramp_position = values[1] ramp = QgsStyleV2.defaultStyle().colorRampRef(ramp_name) if not ramp: parent.setEvalErrorString( QObject.tr( '"{}" is not a valid color ramp'.format(ramp_name))) return QColor(0,0,0).name() value, error = getFloat(ramp_position) if error: parent.setEvalErrorString(error) color = ramp.color(value) return "{},{},{}".format(color.red(), color.green(), color.blue())
def on_mLineStyleButton_clicked(self): if self.timeStart != 0: self.timeEnd = time.time() print self.timeEnd if self.timeEnd - self.timeStart <= 2: self.timeStart = 0 return if (not self.mArrow): return newSymbol = self.mArrow.lineSymbol().clone() d = QgsSymbolV2SelectorDialog(newSymbol, QgsStyleV2.defaultStyle(), None, self) d.setExpressionContext(self.mArrow.createExpressionContext()) if (d.exec_() == QDialog.Accepted): self.mArrow.beginCommand(QString("Arrow line style changed")) self.mArrow.setLineSymbol(newSymbol) self.updateLineSymbolMarker() self.mArrow.endCommand() self.mArrow.update() else: pass # delete newSymbol; self.timeStart = time.time()
def on_mShapeStyleButton_clicked(self): if self.timeStart != 0: self.timeEnd = time.time() print self.timeEnd if self.timeEnd - self.timeStart <= 2: self.timeStart = 0 return if (not self.mComposerShape): return # use the atlas coverage layer, if any coverageLayer = self.atlasCoverageLayer() newSymbol = self.mComposerShape.shapeStyleSymbol().clone() d = QgsSymbolV2SelectorDialog(newSymbol, QgsStyleV2.defaultStyle(), coverageLayer, self) d.setExpressionContext(self.mComposerShape.createExpressionContext()) if (d.exec_() == QDialog.Accepted): self.mComposerShape.beginCommand(QString("Shape style changed")) self.mComposerShape.setShapeStyleSymbol(newSymbol) self.updateShapeStyle() self.mComposerShape.endCommand() self.timeStart = time.time()
def __init__(self, parent, layer): ''' Constructor ''' QDialog.__init__(self, parent) self.ui = Ui_VectorLayerProPertyDialog() self.ui.setupUi(self) self.ui.txtLayerName.setText(layer.name()) self.ui.txtLayerSource.setText(layer.source()) self.ui.txtCrs.setText(layer.crs().authid() + " - " + layer.crs().description()) self.ui.btnCrsSelect.clicked.connect(self.selectCrs) self.mCrs = layer.crs() self.vLayer = layer self.ui.mOptionsListWidget.currentRowChanged.connect( self.changeStackWidget) ''' init RenderV2 Widget''' self.mRendererDialog = QgsRendererV2PropertiesDialog( self.vLayer, QgsStyleV2.defaultStyle(), True) self.ui.stackedWidget.insertWidget(1, self.mRendererDialog) self.ui.buttonBox.accepted.connect(self.OK) frame_Label = QFrame() verticalLayout_Label = QVBoxLayout(frame_Label) self.mLabelWidget = QgsFieldExpressionWidget() self.mLabelWidget.setLayer(layer) verticalLayout_Label.addWidget(self.mLabelWidget) spacerItem = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding) verticalLayout_Label.addItem(spacerItem) frame_Label.setLayout(verticalLayout_Label) self.ui.stackedWidget.insertWidget(2, frame_Label)
def on_mMapMarkerButton_clicked(self): if ( self.mMarkerSymbol == None ): return markerSymbol = self.mMarkerSymbol.clone() dlg = QgsSymbolV2SelectorDialog ( markerSymbol, QgsStyleV2.defaultStyle(), None, self ) if ( dlg.exec_()!= QDialog.Rejected ): self.mMarkerSymbol = markerSymbol self.updateCenterIcon()
def __init__(self, parent=None): super(MapWidget, self).__init__(parent) self.setupUi(self) self.canvas.setCanvasColor(Qt.white) self.canvas.enableAntiAliasing(True) self.canvas.setWheelAction(QgsMapCanvas.WheelZoomToMouseCursor) self.canvas.mapRenderer().setLabelingEngine(QgsPalLabeling()) self.style = QgsStyleV2.defaultStyle() self.styledlg = None self.bridge = QgsLayerTreeMapCanvasBridge(QgsProject.instance().layerTreeRoot(), self.canvas) self.bridge.setAutoSetupOnFirstLayer(False) QgsProject.instance().writeProject.connect(self.bridge.writeProject) QgsProject.instance().readProject.connect(self.bridge.readProject) self.applyStyleButton.pressed.connect(self.apply_style)
# coding:utf-8 from qgis.core import QgsStyleV2 from qgis.gui import QgsGraduatedSymbolRendererV2Widget from qgis.utils import iface layer = iface.activeLayer() canvas = iface.mapCanvas() graduated_symbol_renderer_v2_widget = QgsGraduatedSymbolRendererV2Widget( layer, QgsStyleV2.defaultStyle(), layer.rendererV2() ) graduated_symbol_renderer_v2_widget.setMapCanvas(canvas) def on_widget_changed(): layer.setRendererV2( graduated_symbol_renderer_v2_widget.renderer() ) if canvas.isCachingEnabled(): layer.setCacheImage(None) layer.triggerRepaint() else: canvas.refresh() graduated_symbol_renderer_v2_widget.widgetChanged.connect(on_widget_changed) graduated_symbol_renderer_v2_widget.show()
# coding: utf-8 from qgis.core import QgsStyleV2 from qgis.gui import QgsSymbolV2SelectorDialog from qgis.utils import iface layer = iface.activeLayer() symbol_v2_selector_dialog = QgsSymbolV2SelectorDialog( layer.rendererV2().symbol(), # Symbol, QgsStyleV2.defaultStyle(), # Style, layer, # QgsVectorLayer None, # Parent False # Embedded ) symbol_v2_selector_dialog.show()
# coding: utf-8 from qgis.core import QgsStyleV2 from qgis.gui import QgsRendererV2PropertiesDialog from qgis.utils import iface layer = iface.activeLayer() renderer_v2_properties = QgsRendererV2PropertiesDialog( layer, QgsStyleV2.defaultStyle(), True) renderer_v2_properties.show()
# coding: utf-8 from qgis.core import QgsStyleV2 from qgis.gui import Qgs25DRendererWidget from qgis.utils import iface layer = iface.activeLayer() renderer_25D_widget = Qgs25DRendererWidget(layer, QgsStyleV2.defaultStyle(), layer.rendererV2()) renderer_25D_widget.show() renderer_25D_widget_create = Qgs25DRendererWidget.create( layer, QgsStyleV2.defaultStyle(), layer.rendererV2()) renderer_25D_widget_create.show()
def check_pat_symbols(): pat_xml = os.path.join(PLUGIN_DIR, 'PAT_Symbols.xml') if not os.path.exists(pat_xml): return loaded_date = read_setting(PLUGIN_NAME + "/PAT_SYMBOLOGY") if loaded_date is not None: loaded_date = datetime.strptime(loaded_date,'%Y-%m-%d %H:%M:%S') xml_date = datetime.fromtimestamp(os.path.getmtime(pat_xml)).replace(microsecond=0) if loaded_date is None or xml_date > loaded_date: style = QgsStyleV2.defaultStyle() # add a group if it doesn't exist. group_id = style.groupId('PAT') if group_id == 0: group_id = style.addGroup('PAT') xml_file = QFile(pat_xml) document = QDomDocument() if not document.setContent(xml_file): LOGGER.debug('Could not open file {}'.format(xml_file)) return xml_file.close() document_element = document.documentElement() if document_element.tagName() != 'qgis_style': LOGGER.debug("File {} doesn't contain qgis styles".format(xml_file)) return # Get all the symbols symbols = [] symbols_element = document_element.firstChildElement('symbols') symbol_element = symbols_element.firstChildElement() while not symbol_element.isNull(): if symbol_element.tagName() == 'symbol': symbol = QgsSymbolLayerV2Utils.loadSymbol(symbol_element) if symbol: symbols.append({ 'name': symbol_element.attribute('name'), 'symbol': symbol }) symbol_element = symbol_element.nextSiblingElement() # Get all the colorramps colorramps = [] ramps_element = document_element.firstChildElement('colorramps') ramp_element = ramps_element.firstChildElement() while not ramp_element.isNull(): if ramp_element.tagName() == 'colorramp': colorramp = QgsSymbolLayerV2Utils.loadColorRamp(ramp_element) if colorramp: colorramps.append({ 'name': ramp_element.attribute('name'), 'colorramp': colorramp }) ramp_element = ramp_element.nextSiblingElement() for symbol in symbols: if style.addSymbol(symbol['name'], symbol['symbol'], True): style.group(QgsStyleV2.SymbolEntity, symbol['name'], group_id) for colorramp in colorramps: if style.addColorRamp(colorramp['name'], colorramp['colorramp'], True): style.group(QgsStyleV2.ColorrampEntity, colorramp['name'], group_id) LOGGER.info( 'Loaded {} symbols and {} colour ramps into group {}'.format(len(symbols), len(colorramps), style.groupName(group_id))) write_setting(PLUGIN_NAME + '/PAT_SYMBOLOGY', xml_date.strftime('%Y-%m-%d %H:%M:%S')) return
# coding: utf-8 from qgis.core import QgsStyleV2 from qgis.gui import QgsStyleV2ManagerDialog style_v2_manager_dialog = QgsStyleV2ManagerDialog(QgsStyleV2.defaultStyle()) style_v2_manager_dialog.show()
# coding:utf-8 from qgis.core import QgsStyleV2 from qgis.gui import QgsSingleSymbolRendererV2Widget from qgis.utils import iface layer = iface.activeLayer() canvas = iface.mapCanvas() single_symbol_renderer_v2_widget = QgsSingleSymbolRendererV2Widget( layer, QgsStyleV2.defaultStyle(), layer.rendererV2()) single_symbol_renderer_v2_widget.setMapCanvas(canvas) def on_widget_changed(): layer.setRendererV2(single_symbol_renderer_v2_widget.renderer()) if canvas.isCachingEnabled(): layer.setCacheImage(None) layer.triggerRepaint() else: canvas.refresh() single_symbol_renderer_v2_widget.widgetChanged.connect(on_widget_changed) single_symbol_renderer_v2_widget.show()
def __init__(self, collection_id): """Constructor of the base class.""" BaseResourceHandler.__init__(self, collection_id) # Init the default style self.style = QgsStyle.defaultStyle()
# coding: utf-8 from qgis.core import QgsStyleV2 from qgis.gui import QgsStyleV2ExportImportDialog style_v2_export_import_dialog = QgsStyleV2ExportImportDialog( QgsStyleV2.defaultStyle()) style_v2_export_import_dialog.show()
def __init__(self, collection_id): """Constructor of the base class.""" BaseResourceHandler.__init__(self, collection_id) # Initialize with the default style self.style = QgsStyle.defaultStyle()
# coding: utf-8 from PyQt4.QtGui import QMenu from qgis.core import QgsStyleV2 from qgis.gui import QgsSymbolsListWidget from qgis.utils import iface layer = iface.activeLayer() symbols_list_widget = QgsSymbolsListWidget(layer.rendererV2().symbol(), QgsStyleV2.defaultStyle(), QMenu(), None, layer) symbols_list_widget.show()