qgis插件开发是基于pyqt的,而pyqt是基于qt的,这个光标定义也是由QT来提供的。所以,本文的内容就是基于这个思路的。第一部分是:具体的代码语句,第二部分是:具体的参数列表。

苏南大叔:qgis插件开发:如何设置光标样式?选择列表有哪些? - qgis-plugin-cursor
qgis插件开发:如何设置光标样式?选择列表有哪些?(图2-1)

本文测试环境:win10qgis@3.16.15-hannover

如何设置光标样式

这里设置光标样式的前提是:已经通过qgis打开了一个地图文件,然后在代码中定义了canvas,然后就可以设置光标样式了。代码如下:

## ...
self.canvas = iface.mapCanvas()
self.canvas.setCursor(Qt.CrossCursor)
## ...

这里设置了一个十字的光标样式(Qt.CrossCursor)。

光标样式列表

想拿到这个列表,进入QT.py去看的话,有32cursor相关参数。在qt官方文档里面,则显示定义了21个光标。那么,就以官方文档为准吧。

  • Qt.ArrowCursor
  • Qt.UpArrowCursor
  • Qt.CrossCursor
  • Qt.WaitCursor
  • Qt.IBeamCursor [输入框里面的那个光标]
  • Qt.SizeVerCursor
  • Qt.SizeHorCursor
  • Qt.SizeBDiagCursor
  • Qt.SizeFDiagCursor
  • Qt.SizeAllCursor
  • Qt.BlankCursor [用来隐藏光标的,官方文档列表里面没有]
  • Qt.SplitVCursor
  • Qt.SplitHCursor
  • Qt.PointingHandCursor
  • Qt.ForbiddenCursor
  • Qt.OpenHandCursor
  • Qt.ClosedHandCursor
  • Qt.WhatsThisCursor [一个箭头带个问号]
  • Qt.BusyCursor
  • Qt.DragMoveCursor
  • Qt.DragCopyCursor
  • Qt.DragLinkCursor

苏南大叔:qgis插件开发:如何设置光标样式?选择列表有哪些? - qgis-plugin-cursor-list
qgis插件开发:如何设置光标样式?选择列表有哪些?(图2-2)

另外,存在一个Qt.BitmapCursor,待后续文章进行讨论。

相关链接

总结

设置光标样式的语句,很简单,就一句话,但是可以用于选择的光标样式却是很多,选个适合的就好。更多qgis插件开发教程,可以参考下面的链接:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。