QGIS 포인트 벡터 레이어에서 포인트 기능에 대한 일부 사용자 지정 레이블을 만들려고하는데 파이썬 플러그인을 작성하고 싶습니다. 레이블 뒤에 색으로 칠해진 사각형이 표시되어야합니다. 레이블은 긴 문자열이며 레이블 엔진 표현식 및 조건을 사용하여 작성됩니다.
가장 쉬운 방법은 사용자가 원하는 방식으로 활성 레이어의 레이블을 설정 한 다음 플러그인이 레이어의 기능에서 레이블 텍스트를 가져 와서 텍스트 문자열을 사용하여 상자를 만들 수있게하는 것이라고 생각했습니다. 내 문제는 QGIS API에서 해당 텍스트 문자열에 액세스하는 방법을 찾을 수 없다는 것입니다. 라벨링 엔진에 의해 생성 된 라벨 문자열은 어떻게 QGIS에 저장되며 어떻게받을 수 있습니까?
1
레이블이란 개별 포인트 피쳐에 대한 레이블을 의미합니까?
—
RK
예. 인쇄 작곡가 수준이 아니라 레이어 수준에서 수행하고 싶습니다. 텍스트 작성기 상자가 인쇄 작성기 기능이라는 것을 몰랐기 때문에 자동으로 텍스트 설명 선 상자를 생성하려고 시도했지만 실제로 추악했습니다.
—
MonsterMushroom
텍스트 뒤에 강한 버퍼 색상에 대해 생각해 보셨습니까? 나는 한 일에 그 일을했다. 또 다른 방법으로 나는 고객에게 옵션이 아니라고 말했다 .... 일반적인 요청 인 것 같다 ....
—
Willy
강력한 컬러 버퍼는 현재 사용중인 솔루션입니다. 그러나 클라이언트는 ArcGIS 구현에서 상자를 사용하여 (스크립트를 사용하여) QGIS에서 동일한 내용을 보려고합니다. (우리는 시스템을 바꾸려고 노력하고 있습니다.) 나의 현재 답변은 이것이 옵션이 아니라는 것이 결코 즐거운 답변이 아니며, 실제로 주머니에서 무언가를 꺼내고 싶습니다. 또한 레이블 주위의 상자는 우리가 할 수있는 일이어야합니다. 이해가 되네요
—
MonsterMushroom
이것에 대한 대답은 레이블 엔진에서 레이블을 생성하고 맵 캔버스에 렌더링하면 문자열이 아닌 svg 벡터로 저장되므로 검색 할 수 없다는 것입니다. 나는 이것을 블로그에서 보았지만 아직 그것을 확인할 수 없었기 때문에 공식적인 대답은 아니다. (또한, 나는 방패 레이블에 추가로, 작업중인 것을 배운 많은 기대 2.0)
—
MonsterMushroom