写一个QGIS插件
编写一个简单的QGIS插件,实现以下功能:
- 在QGIS界面中添加一个工具栏按钮,点击按钮后能够弹出一个对话框。
- 对话框中包含一个文本框和一个按钮。
- 用户可以在文本框中输入一个字符串,点击按钮后,在QGIS控制台中输出用户输入的字符串。
以下是一个简单的QGIS插件的代码示例:
from qgis.PyQt.QtWidgets import QAction, QLineEdit, QPushButton, QDialog, QVBoxLayout
from qgis.PyQt.QtCore import Qt
from qgis.utils import iface
class MyPlugin:
def __init__(self):
self.toolbar = None
def 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的控制台中。