1
等待画布完成渲染,然后再保存图像
我正在尝试编写一个脚本,该脚本将使用地图编辑器保存多个图层的渲染。我遇到的问题是脚本在qgis完成渲染所有图层之前保存。 根据其他几个答案(1,2,3),我试图使用iface.mapCanvas.mapCanvasRefreshed.connect(),并把图像函数内部节约,但我仍然遇到了同样的问题-图像不包括所有层。 下面列出了我正在使用的代码以及主窗口和渲染图的图像。 我注意到,如果打开控制台窗口并取消注释了print layerList三行,程序将等待渲染完成,然后再保存图像。我不确定这是由于处理时间的增加,还是正在改变程序的执行方式。 如何正确实现此功能,以便所有层都包含在图像中? from qgis.core import * from qgis.utils import * from qgis.gui import * from PyQt4.QtCore import * from PyQt4.QtGui import * import os.path ##StackExchange Version=name ##Map_Save_Folder=folder ##Map_Save_Name=string roadmap # Create save file location mapName = "%s.png" %Map_Save_Name outfile = os.path.join(Map_Save_Folder,mapName) pdfName = "%s.pdf" %Map_Save_Name outPDF …