QGIS基本功 | 22 QGIS工程文件属性设置(3)——宏、QGIS服务_qgis 添加文件属性-程序员宅基地

技术标签: gis  qgis  QGIS基本功  

今天将继续分享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不能运行未经允许的任何外部代码,点击右方的【启用宏】按钮,允许代码运行,此时可以在消息框看到自定义的消息内容:

 

 

 

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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/QGISClass/article/details/113789461

智能推荐

华为云-容器引擎CCE-基本概念-程序员宅基地

文章浏览阅读1.4w次。云容器引擎(Cloud Container Engine,简称CCE)提供高度可扩展的、高性能的企业级Kubernetes集群,支持运行Docker容器。借助云容器引擎,您可以在华为云上轻松部署、管理和扩展容器化应用程序。云容器引擎提供Kubernetes原生API,支持使用kubectl,且提供图形化控制台,让您能够拥有完整的端到端使用体验,使用云容器引擎前,建议您先了解相关的基本概念。集群(Cluster)集群指容器运行所需要的云资源组合,关联了若干云服务器节点、负载均衡等云资源。您可以理解为集群_cce

ZYNQ的定时器们(三)TTC定时器到底能干啥?_zynq xttcps_setinterval-程序员宅基地

文章浏览阅读3.5k次。ZYNQ的定时器们(三)TTC定时器到底能干啥?本文转载自:https://zhuanlan.zhihu.com/p/31643799?from_voters_page=trueZYNQPS部分的最后一种定时器TTC在UG585中的描述只有6页(P244-249),SDK中的API函数有15个,宏定义太多了,就没数了。那么TTC能干啥?忙完这阵子后终于可以来跟各位说道说道了。TTC定时器直译过来就是三路定时器,而ZYNQ中的PS有两个TTC,每一个定时器有三路,一共是6路。从上面的框图可以看出TTC每一_zynq xttcps_setinterval

MATLAB代码:基于二阶锥规划的主动配电网动态重构研究-程序员宅基地

文章浏览阅读42次。MATLAB代码:基于二阶锥规划的主动配电网动态重构研究参考文档:《考虑动态网络重构的主动配电网优化运行策略》参考了重构部分公式《主动配电网最优潮流研究及其应用实例》参考了二阶锥松弛部分公式仿真平台:MATLAB YALMIP+CPLEX优势:代码注释详实,适合参考学习,全程有讲解!,全程有讲解!程序非常精品!主要内容:代码主要主要研究的配电网优化,具体为配电网中的动态重构问题,代码分为两个部分,第一部分1)主动配电网单时段重构问题,重构结果以0-1变量表示,结果清晰明了;2)主动配电网多时段动态

无涯教程-PHP - xml_parse_into_struct函数-程序员宅基地

文章浏览阅读378次,点赞4次,收藏6次。无涯教程网提供xml_parse_into_struct - 语法 int xml_parse_into_struct ( resource $parser , stri...PHP 中的 xml_parse_into_struct函数 - 无涯教程网。它用于将任何格式化的XML解析为数组结构。它用于指定要使用的XML解析器。它用于指定XML数据的目标数组。它用于指定要解析的XML数据。它用于指定索引数据的目标数组。成功时返回1,失败时返回0。

找不到wifi,提示适配器的驱动程序可能出现问题_xioami 802.11n usb wireless adapter 驱动错误-程序员宅基地

文章浏览阅读3.6k次,点赞6次,收藏12次。找不到wifi,提示适配器的驱动程序可能出现问题_xioami 802.11n usb wireless adapter 驱动错误

【人工智能简史】第三章 第一个AI研究的黄金时代-程序员宅基地

文章浏览阅读1.4w次。在 1950、1960 年代,早期 AI 研究者们开发了一系列实验项目,如西蒙和纽埃尔的逻辑理论机(Logic Theorist)、麦卡锡的 Lisp 语言和明斯基的微世界(Micro World)等。总的来说,从 20 世纪 40 年代末到 50 年代的 AI 理论形成和发展过程,为后续的 AI 研究和应用奠定了坚实的基础。在本章中,我们将分析第一个 AI 研究的黄金时代,探讨其重要突破和成就,以及此阶段对 AI 发展历程产生的长远影响。这些算法穿插在人工智能的各个领域,推动着技术的创新与突破。

随便推点

Robotics System Toolbox学习笔记(一):简单建立一个机器人rigidBody、rigidBodyJoint用法_简述如何运用robotics toolbox建立机器人模型-程序员宅基地

文章浏览阅读4.8k次,点赞8次,收藏68次。文章目录软件介绍代码功能介绍rigidBodyrigidBody的性质rigidBody的函数rigidBodyJointrigidBodyJoint的性质rigidBodyJoint的函数例子参考软件介绍Robotics System Toolbox提供了用于设计,模拟和测试操纵器,移动机器人和类人机器人的工具和算法。对于机械手和类人机器人,该工具箱包括用于碰撞检查,轨迹生成,正向和反向..._简述如何运用robotics toolbox建立机器人模型

【python爬虫 系列 最终篇】16.利用多线程多进程爬取qq音乐全站所有信息和音乐_python爬取qq音乐-程序员宅基地

文章浏览阅读1.2w次,点赞11次,收藏45次。实战 爬取qq音乐1.项目详情歌手分区:(a-#)整个爬虫项目按功能分为爬虫规则和数据入库,分别对应文件 music.py 和 music_db.py。爬虫规则大致如下:在歌手列表(https://y.qq.com/portal/singer_list.html)中按照字母类别对歌手进行分类,遍历每个分类下的每位歌手页面,然后获取每位歌手页面下的全部歌曲信息。根据该设计方案列出遍历..._python爬取qq音乐

crontab每天8点_linux定时任务crontab设置每分钟、每小时、每天、每周、每月、每年定时执行...-程序员宅基地

文章浏览阅读4.4k次。之前写过一篇《crontab定时任务的一些写法整理》,可以作为本文的参考。今天对几种情况再写一下例子。crontab每分钟定时执行:*/1 * * * * service mysqld restart //每隔1分钟执行一次*/10 * * * * service mysqld restart //每隔10分钟执行一次crontab每小时定时执行:0 */1 * * * service mysql..._crontab每天19点和8点

图解系列--HTTP报文,HTTP状态码_http响应报文中状态码的字段是什么-程序员宅基地

文章浏览阅读823次,点赞23次,收藏19次。Http报文,Http状态码_http响应报文中状态码的字段是什么

利用java 快速实现加减乘数余运算_java 生产加减乘除取余题-程序员宅基地

文章浏览阅读941次。import java.util.Scanner;import java.math.*;public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); String s1 = sc.next(); String s2 = sc.next(); BigInte_java 生产加减乘除取余题

NS版暗黑破坏神3金手指开发教程(16)-程序员宅基地

文章浏览阅读3.2k次。上一节,我们学会了全幻化的制作,功力精进了一步,这一节,将会讲解全图纸的制作,也基本上是金手指教程的最后一节了,通过这一节,读者将会看到如何将逆向程序分析方法使用得淋漓尽致,面对任何困难也能无坚不摧1. 我们搜索图纸英文recipe,在sAllRecipes函数中发现了图纸类型一共有4种,分别是,铁匠,附魔工匠,珠宝匠,卡奈魔盒,也就是0,1,2,3,这个很重要,一会儿会用到2. 在U...

推荐文章

热门文章

相关标签