QGIS基本功 | 22 QGIS工程文件属性设置(3)——宏、QGIS服务

本文介绍了QGIS工程文件的宏(Macros)和QGIS服务器设置,包括宏的启用与自定义,以及QGIS服务器的WMS、WMTS、WFS和WCS功能描述。通过宏可以实现工程文件打开时自动执行的Python命令,而QGIS服务器设置则涉及地图服务发布到网络的相关参数,如范围、坐标参照系、图层限制等。
摘要由CSDN通过智能技术生成

今天将继续分享QGIS 3.16工程文件属性的设置,包括宏(Macros)和QGIS服务器两个部分。

 

 01 宏(Macros)

 

【工程】->【属性】->【宏】标签页提供工程文件相关联的宏命令设置。

 

QGIS中的宏(Macros),指的是由一些列预定义的Python语句组成的批处理命令集合,凡是可以在Python控制台中执行的语句,均可以宏的形式执行。

 

目前,与工程文件绑定的宏仅提供了openProject(), saveProject() 和 closeProject(),分别对应于打开工程、保存工程和关闭工程时执行。默认情况下,工程文件的Python 宏处于未启用状态,下方的Python宏命令编辑区不可编辑,且三个宏只有一个语句:pass。在Python语言pass中表示空语句,不做任何事情,一般用做占位语句,是为了保持程序结构的完整性。 

 

 

如果需要在一个工程文件打开时自动执行某些动作,可以勾选“Python 宏”复选框(一旦勾选,下方的Python宏命令编辑区将进入可编辑状态),在openProject()宏中将pass注释掉,加入自定义的Python语句,那么只要打开该工程,这些语句将自动执行。例如,我想让工程文件每次打开时提示消息:“这是一个测试工程”,可以在openProject()添加如下代码实现:

 

from qgis.gui import (    QgsMessageBar,)def openProject():    from qgis.core import Qgis  QgsMessageBar().pushMessage("测试", "这是一个测试宏", level=Qgis.Critical, duration=0)def saveProject():    passdef closeProject():    pass

 

 

红色框内的QgsMessageBar()为关键代码,表示输出一个名称为“测试”的消息,内容是“这是一个测试宏”,消息级别为“Critical”。

 

保存当前工程文件,当再次打开该工程时,在地图窗口上方将出现安全警告消息框,提示“Python宏当前无法运行”:

  

 

该警告是出于安全考虑,默认情况下QGIS不能运行未经允许的任何外部代码,点击右方的【启用宏】按钮,允许代码运行,此时可以在消息框看到自定义的消息内容:

 

 

 

如果要默认情况下启用宏,可以打开菜单【设置】->【选项】->【通用】-

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值