[Qgis-user] QGIS 2.18 -Changing layer rule-based style transparency
Raymond Nijssen
r.nijssen at terglobo.nl
Sat Jan 5 04:22:39 PST 2019
Hi Marian,
As I understand you want to set every symbol in your rule based
classification to 80% transparent (instead of the entire layer)?
I tried to write a qgis (v3.4) script but unfortunately it crashes my
qgis. So I hope somebody here can correct it, or maybe you will find the
solution yourself.
I'm doing many prints to see the return values. The crash happens when
in line 18: symbolItem.setSymbol(symbol)
---
layer = iface.activeLayer()
renderer = layer.renderer()
symbolItems = renderer.legendSymbolItems()
print(symbolItems)
for symbolItem in symbolItems:
print('---')
print(symbolItem)
symbol = symbolItem.symbol()
print(symbol)
color = symbol.color()
print(color.name(1))
color.setAlpha(255*0.8)
print(color.name(1))
symbol.setColor(color)
symbolItem.setSymbol(symbol) # !!! this makes qgis crash
layer.triggerRepaint()
---
When crashing, qgis outputs:
QGIS died on signal 11Could not attach to process. If your uid matches
the uid of the target
process, check the setting of /proc/sys/kernel/yama/ptrace_scope, or try
again as the root user. For more details, see /etc/sysctl.d/10-ptrace.conf
ptrace: Operation not permitted.
No thread selected
No stack.
gdb returned 0
Aborted (core dumped)
---
Kind regards,
Raymond
On 04-01-19 22:32, Tudorache, Marian wrote:
> Hi,
>
> I have a polygon type vector layer with rule-based style.
>
> I need to change programmatically the layer transparency.
>
> I used the following code:
>
> layer = iface.activeLayer()
>
> layer.setTransparency(80)
>
> layer.triggerRepaint()
>
> This works only if I want to see layers which are under the active one
> but it does not work for the features inside active layer.
>
> When there are identical polygons which overlap within active layer, I
> can only see the top one. If I select a polygon which is underneath it
> is not displayed as selected.
>
> I can make it work if I manually open the layer style and double click
> on rule to open Rule properties and set the transparency for the rule.
>
> How can I change the rule transparency programmatically?
>
> Thank you,
>
> Marian
>
>
> ------------------------------------------------------------------------
>
> This electronic message, as well as any transmitted files included in
> the electronic message, may contain privileged or confidential
> information and is intended solely for the use of the individual(s) or
> entity to which it is addressed. If you have received this electronic
> message in error please notify the sender immediately and delete the
> electronic message. Any unauthorized copying, disclosure or distribution
> of the electronic message is strictly forbidden. NAV CANADA accepts no
> liability for any damage caused by any virus and/or other malicious code
> transmitted by this electronic communication.
>
> Le présent message électronique et tout fichier qui peut y être joint
> peuvent contenir des renseignements privilégiés ou confidentiels
> destinés à l’usage exclusif des personnes ou des organismes à qui ils
> s’adressent. Si vous avez reçu ce message électronique par erreur,
> veuillez en informer l’expéditeur immédiatement et supprimez le. Toute
> reproduction, divulgation ou distribution du présent message
> électronique est strictement interdite. NAV CANADA n’assume aucune
> responsabilité en cas de dommage causé par tout virus ou autre programme
> malveillant transmis par ce message électronique.
>
> _______________________________________________
> Qgis-user mailing list
> Qgis-user at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
>
More information about the Qgis-user
mailing list