写一个QGIS插件

news/2025/3/9 17:48:30/

编写一个简单的QGIS插件,实现以下功能:

  1. QGIS界面中添加一个工具栏按钮,点击按钮后能够弹出一个对话框。
  2. 对话框中包含一个文本框和一个按钮。
  3. 用户可以在文本框中输入一个字符串,点击按钮后,在QGIS控制台中输出用户输入的字符串。

以下是一个简单的QGIS插件的代码示例:

from qgis.PyQt.QtWidgets import QAction, QLineEdit, QPushButton, QDialog, QVBoxLayout
from qgis.PyQt.QtCore import Qt
from qgis.utils import ifaceclass MyPlugin:def __init__(self):self.toolbar = Nonedef initGui(self):self.toolbar = iface.addToolBar("My Plugin")self.action = QAction("Open Dialog", iface.mainWindow())self.action.triggered.connect(self.openDialog)self.toolbar.addAction(self.action)def openDialog(self):dialog = QDialog(iface.mainWindow())dialog.setWindowTitle("My Plugin Dialog")layout = QVBoxLayout()self.textbox = QLineEdit()layout.addWidget(self.textbox)button = QPushButton("Print to Console")button.clicked.connect(self.printToConsole)layout.addWidget(button)dialog.setLayout(layout)dialog.exec_()def printToConsole(self):text = self.textbox.text()print(text)plugin = MyPlugin()def initGui():plugin.initGui()

将以上代码保存为一个Python文件,然后将文件放入QGIS的插件目录中,重新启动QGIS即可加载该插件。当你点击工具栏中的按钮时,会弹出一个对话框,输入文本并点击按钮,输入的文本将输出到QGIS的控制台中。


http://www.ppmy.cn/news/1577876.html

相关文章

在K8S中,svc底层是如何实现的?

在Kubernetes中,Service是集群内部的一个抽象层,用于定义一组Pod的逻辑分组,并提供统一的访问入口点,同时还可以对这些Pod提供负载均衡和网络代理功能。Service底层的实现主要包括以下几个关键组件和技术: 标签选择器…

.NET高级应用---自定义Ioc容器(附带源码)

目录 1. IoC容器对象项目结构的影响 代码体现: 2. IoC容器中的对象依赖注入 代码体现: 3. IoC概念理解与自定义IoC容器 代码体现: 4. 自定义IoC容器的基本控制逻辑 5. IOC瞬态模式与单例模式逻辑整合 代码体现: 6. 无限…

20250307隨筆 使用 A5 SQL 打开 .a5er 文件以及生成建表語句

在 A5:SQL Mk-2 中,拖拽 .a5er 文件后,你可以查询某个表的名称以及生成数据表的 SQL 脚本。以下是具体操作方法: 1. 查找某个表名 如果你已经打开 .a5er 文件,并且看到了 ER 图,你可以用以下方法查找特定表&#xff1…

【RabbitMQ】Producer之TTL过期时间 - 基于AMQP 0-9-1

这篇文章和大家分享Producer发布消息时如何设置消息过期时间,包括队列级别和消息级别,还有如何设置队列的过期时间。 消息过期时间 给消息设置TTL,在超过TTL值后,消息就会变成dead message(死信)&#xf…

基于Spring Boot的共享学习经验系统的设计与实现

目录 摘 要 第1章 绪论 1.1研究背景与意义 1.2国内外现状 1.3研究目标 第2章 需求分析 2.1业务需求 2.1.1业务概述 2.1.2业务流程 2.2.1用例概述 2.2.2用例描述 2.3非功能性需求 第3章 系统设计 3.1技术路线 3.2系统功能模块设计 3.3系统架构 3.4数据库设计 3.4.1概念结构设…

未授权漏洞大赏

ActiveMQ未授权访问漏洞 漏洞描述 Apache ActiveMQ是美国阿帕奇(Apache)软件基金会所研发的一套开源的消息中间件,它支持Java消息服务、集群、Spring Framework等。 Apache ActiveMQ管理控制台的默认管理用户名和密码分别为admin和admin&am…

2025-03-08 学习记录--C/C++-PTA 习题9-6 按等级统计学生成绩

合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; 一、题目描述 ⭐️ 二、代码&#xff08;C语言&#xff09;⭐️ #include <stdio.h> #define MAXN 10struct student{int…

【godot4.4】布局函数库Layouts

概述 为了方便编写一些自定义容器和控件、节点时方便元素布局&#xff0c;所以编写了一套布局的求取函数&#xff0c;统一放置在一个名为Layouts的静态函数库中。 本文介绍我自定义的一些布局计算和实现以及函数编写的思路&#xff0c;并提供完整的函数库代码&#xff08;持续…