Hi Joseph,
Like you, rubber bands and drawing/paint stuff are quite obscure to me
and I need to dig into it when I want something specific...
I don't have a direct answer, but you could look into existing code
doing similar things: the plugins "beePen" and "Bezier Editing"
available in QGIS are "freehand" drawing tools.
They might use some of these functions.
Regards,
--
Jacky Volpes
Ingénieur SIG - Oslandia
beePen: https://github.com/mauroalberti/beePen
Bezier Editing: https://github.com/tmizu23/BezierEditing
Le 19/02/2023 à 21:59, Joseph Burkhart via QGIS-Developer a écrit :
Hello,
I'm working on a python plugin that provides a new map tool for
drawing polygons and I'm hoping someone could give me some pointers.
I'm very familiar with the pyqgis API when it comes to processing,
less so (but learning) when it comes to gui.
I have created a new polygon drawing tool that behaves like the
default one. What I want to do now is modify the drawing widget so
that it behaves more like a brush tool, so the user can activate the
tool, click on the map canvas and drag to leave a brush stroke, and
when they release the mouse button the brush stroke is turned into a
polygon.
My impression is that I need to create a subclass of QgsRubberBand and
then re-implement that class's draw method, but honestly I can't
figure out where to start with that reimplementation. I've read
through the pyqt docs for QPainter, and through the pyqgis docs and
source code for QgsRubberBand (links below); I still couldn't figure
out what to do next.
Anyone have any recommendations?
Thanks very much,
Joseph Burkhart
QgsRubberBand:
https://qgis.org/pyqgis/3.28/gui/QgsRubberBand.html
https://github.com/qgis/QGIS/blob/master/src/gui/qgsrubberband.h
<https://github.com/qgis/QGIS/blob/master/src/gui/qgsrubberband.h,>
https://github.com/qgis/QGIS/blob/master/src/gui/qgsgeometryrubberband.cpp
QPainter:
https://doc.qt.io/qtforpython-5/PySide2/QtGui/QPainter.html
_______________________________________________
QGIS-Developer mailing list
[email protected]
List info:https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe:https://lists.osgeo.org/mailman/listinfo/qgis-developer
_______________________________________________
QGIS-Developer mailing list
[email protected]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer