16.6. 使用操作添加功能#

操作是向QGIS添加自定义功能的一种方便方法。 为特定层创建操作,例如,我们的填充"ne-10-admin-0-countries"因此,为了创造行动, 我们点击层属性操作,有不同类型的操作,例如:

  • 一般操作 “启动外部进程”;例如,运行命令行应用程序,如 ogr2ogrogr2ogr 是一个命令行工具, 可用于转换文件格式,同时执行空间或属性选择和重新投影等操作。

  • 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

image30001_x61

图 16.11 Actions设置#

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

image300_xah

图 16.12 属性信息#

1.选择 选定字段的值行动清单

2.编辑 行动 对话框底部的代码。您可以手动输入属性名,或者从下拉列表中选择属性名,然后单击 插入字段

3.要保存更改,请单击 更新选定操作

要使用此操作,请关闭 “层属性” 对话框并单击 运行功能操作 按钮。 这将展开可用层操作的列表,如 图 16.13

image301_xb7

图 16.13 运行功能操作#

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

image302_xbq

图 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"%] 将在维基百科上搜索。