PyQgis 천둥 컬렉션: QgsPrintLayout을 통해 인쇄 레이아웃 레이아웃을 생성할 수 없습니다. (지속적으로 업데이트됨)

pyqgis 개발 매뉴얼 에 따라 배우고 개발했습니다 .

천둥 밟기 1: 프로젝트가 초기화되면 인쇄 레이아웃 레이아웃을 생성할 수 없습니다.

공식 매뉴얼에 로드된 프로젝트의 예:

# 如果你不在QGIS控制台内运行,首先需要导入qgis和PyQt类,如下所示:
from qgis.core import QgsProject
# 获取项目实例
project = QgsProject.instance()
# 加载另一个项目
project.read('testdata/01_project.qgs')

여기에서 프로젝트를 정상적으로 로드할 수 있습니다. 그러나 레이아웃 레이아웃을 만들고
싶다면 공식 예는 다음과 같습니다.

project = QgsProject.instance()
layout = QgsPrintLayout(project)
layout.initializeDefaults()

하지만 프로젝트 인스턴스를 가져오는 데만 사용하면 project = QgsProject.instance()py 작업에서 layout = QgsPrintLayout(project)오류가 발생하고 프롬프트가 표시됩니다.Process finished with exit code -1073741819 (0xC0000005)

이 문제는 또한 새로운 문제로 이어집니다. qgis 클라이언트를 사용하여 레이아웃을 수동으로 생성하고 저장한 다음 py를 사용하여 이동하면 오류가 발생합니다 project.read('testdata/project.qgs'). .

그렇다면 이 문제를 어떻게 해결해야 할까요?
정답은:

# 初始化项目
    qgs = QgsApplication([], False)
    qgs.initQgis()
    project = QgsProject()

위 3줄의 코드로 초기화 후 layout = QgsPrintLayout(project)다시 실행해도 문제가 없을 것입니다.
이유:여기에 이미지 설명 삽입

추천

출처blog.csdn.net/qq_43952288/article/details/131411678