为什么我不能用c#开发QGIS插件?

bsg*_*bsg 0 c# c++ api plugins qgis

我知道QGIS插件可以用C++或python开发。

但我特别想知道为什么你不能说其他语言。

首先,我没有编程知识。

据我了解,QGIS是用C++开发的,所以不能用其他语言开发。但也可以用python开发。

我目前正在学习c#,我想使用c#开发一个基于QGIS的应用程序或插件。

请详细说明无法开发的结构原因,或者给我文档链接。

如果没有单一的方法用c#开发QGIS插件?

Gri*_*mar 5

QGIS 在内部使用 Python,允许用户通过其 Python API 针对应用程序编写脚本。使用相同的 Python API,也可以开发 Python 插件。不支持其他脚本语言(据我所知),因此让它们工作的唯一方法是从 Python 脚本模拟或调用其他脚本语言。

同样,如果您编写的插件不作为脚本运行,但需要直接与应用程序交互,那么您将使用 C++ ABI,这是特定于您所使用的语言甚至编译器的。

您可以用 C# 编写一个插件来实现该接口以与 QGIS 一起使用,但是为此您必须投入的工作量可能不会抵消您希望通过 C# 来节省的工作量而不是 C++。最重要的是,您的插件可能会添加一堆并非 QGIS 本身要求的要求,使其分发和部署变得很痛苦,并且可能会占用比您想要的更大的空间。

我认为,只是可以做到,并不意味着这是一个好主意。