如何使用背景框创建文本标签?


13

我正在尝试为QGIS点矢量层中的点要素创建一些自定义标签,并且我想编写一个python插件来做到这一点。我们需要在标签后面显示带有彩色矩形的标签(否则!)。标签是长字符串,并且使用标签引擎表达式和条件创建。

我认为最简单的方法是让用户以他们想要的方式为活动层设置标签,然后让我的插件从该层的要素中获取标签文本,然后使用文本字符串创建框。我的问题是我找不到在QGIS API中访问这些文本字符串的方法。标签引擎如何将标签字符串生成的标签字符串存储在QGIS中,如何获取它们?


1
标签是指各个点要素的标签吗?
RK

是。我想在层级而不是在印刷作曲家级完成它。我尝试自动生成文本标注框,因为我没有意识到它们是打印作曲家的功能,这确实很丑陋。
MonsterMushroom 2012年

1
您是否考虑过在文本后面添加强烈的缓冲颜色?我完成了一项工作。另一个我只是告诉客户这是不是一种选择......这似乎是一个普遍的要求....
威利

1
强颜色缓冲是我当前的解决方案。但是,客户端在其ArcGIS实施中具有框(使用脚本),并且他们希望在QGIS中看到相同的内容。(我们正在尝试更改系统。)我目前的答案是这不是一个选择,但这绝不是一个有趣的答案,我真的很想从口袋里掏出一些东西。另外,标签周围的盒子应该是我们可以做的事情。这很有意义。
MonsterMushroom 2012年

我认为,答案将是一旦标签引擎生成标签并将其渲染到地图画布后,它们将另存为svg向量而不是字符串,因此无法恢复。我在博客上看到了此消息,但尚未(有时间确认),所以这不是正式答案。(此外,我了解到,盾牌标签正在作为人们期待已
久的

Answers:


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.