16.6. 使用操作添加功能#
操作是向QGIS添加自定义功能的一种方便方法。 为特定层创建操作,例如,我们的填充"ne-10-admin-0-countries"因此,为了创造行动, 我们点击层属性操作,有不同类型的操作,例如:
一般操作 “启动外部进程”;例如,运行命令行应用程序,如
ogr2ogr
,ogr2ogr
是一个命令行工具, 可用于转换文件格式,同时执行空间或属性选择和重新投影等操作。Python操作执行Python脚本
公开行动使用计算机配置的默认应用程序打开文件,即 “.pdf” 文件或网站浏览器。
操作系统(Mac,Windows和Unix )操作与一般操作类似,但仅限于各自的操作系统。
16.6.1. 配置第一个Python操作#
点击 Create Default Actions 对话框右侧的按钮, 用于将一些示例操作添加到"ne-10-admin-0-countries"层。 例如,Python操作调用"Selectd fied's value" 将在使用操作工具时显示指定属性的值, 如 图 16.11 。

图 16.11 Actions设置#
在尝试此操作之前,我们需要做的就是更新它,以便它访问我们层的有效属性。 例如,我们可以让它显示"ne-10-admin-0-countries"双击的 "TYPE" 消息框中的属性值, 如 图 16.12 所示。

图 16.12 属性信息#
1.选择 选定字段的值
的 行动清单
。
2.编辑 行动
对话框底部的代码。您可以手动输入属性名,或者从下拉列表中选择属性名,然后单击 插入字段
。
3.要保存更改,请单击 更新选定操作
:
要使用此操作,请关闭 “层属性” 对话框并单击 运行功能操作
按钮。
这将展开可用层操作的列表,如 图 16.13 。

图 16.13 运行功能操作#
点击 “选定字段的值” 输入,然后单击 图层要素
。
这将打开一个弹出对话框,操作将在其中输出功能的TYPE价值。
如下图所示。当然,我们还可以使此操作输出更多信息,例如,将其扩展到,
如 图 16.14 。

图 16.14 运行功能操作确定#
这将显示TYPE第一行的值和“F_CODEDESC”第二行的值。
QtGui.QMessageBox.information(None,“当前字段的值”,
["Type: [% "TYPE" %] \n[% "F_CODEDESC" %]")]
16.6.2. 使用操作打开文件#
要直接从QGIS中打开文件,我们使用 Open
行动。
如果在上一个练习中添加了默认操作,则图层将已经具有打开文件行动。
动作很简单[[% "PATH" %]]用于打开在层的“路径”属性中指定的文件路径。
由于我们的示例数据集都不包含path属性,我们现在将添加一个来测试此功能。
退房第三章,数据创建和编辑,如果需要了解如何添加新属性的详细信息。
例如,以下屏幕截图中添加的路径将分别打开默认图像查看器和PDF查看器应用程序:
虽然前面的示例使用存储在属性中的绝对路径,但您也可以通过更改操作代码来使用相对路径, 以便它完成存储在属性值中的部分路径; 例如,您可以使用[C:temp[% "TYPE" %].png]打开".png"根据TYPE属性值。
16.6.3. 使用操作打开web浏览器#
另一种有用的Open操作是打开web浏览器并访问某些网站。 例如,考虑以下操作:[http://www.google.com/search?q=[%"TYPE"%] ]
它将打开默认的web浏览器并搜索TYPE使用Google的值,此操作: https://en.wikipedia.org/w/index.php?search=[%"TYPE"%] 将在维基百科上搜索。