如何让用户 select 在 QGIS Python 插件中使用 CRS?

How to let user select a CRS in QGIS Python plugin?

我目前正在 python 开发 QGIS 插件。在其中,用户应该能够 select 坐标参考系统 (CRS)。在 QGIS 内置对话框中,经常有这个 window 称为“坐标参考系统选择器”,它允许 selection 最近使用的 CRS,以及其他系统,还有一个信息框和可视化CRS的Bbox。

有没有办法复制这个?重新创建所有这些信息和功能将是非常潮的。我本来希望在 QT Designer 的“QGIS 自定义小部件”中至少有一些与 CRS 相关的东西,但我找不到任何东西。

或者如果这不可能,是否至少有一种方法可以让所有 CRS 显示在组合框中?

您应该可以使用 QgsProjectionSelectionDialog:

from qgis.gui import QgsProjectionSelectionDialog

dialog = QgsProjectionSelectionDialog()
dialog.exec_()

crs = dialog.crs()

print(crs)

如果你想把它嵌入到你自己的对话框中,还有QgsProjectionSelectionWidget