qskinny icon indicating copy to clipboard operation
qskinny copied to clipboard

QSK Radial Tickmarks Node

Open rick-vogel opened this issue 1 year ago • 2 comments

Requirements

  • Major, medium and minor tickmarks must be styleable
    • either by size in pixel or in %
  • Tickmarks can be layouted as a circle or ellipse
  • Tickmarks can be defined selectively
  • Tickmarks can be aligned vertically centered, bottom or top
  • Tickmarks line width can be styled
    • might not work for every backend, 1px is always supported

Recording 2023-08-08 at 15 05 15

rick-vogel avatar Aug 08 '23 13:08 rick-vogel

First impression: Cool to have such a class, we are using it internally already.

  • I would put the node into an own file, so it is easy to use it
  • I guess we need QskArcMetrics to determine the angle(s)
  • As an API I would have tried to copy the one from QskTickmarksNode, i.e. the update method (without orientation but with arc metrics etc.)
  • I would call the example something else than nodes

Maybe Uwe can comment whether this class should be in QSkinny directly; then we could use it from at least the IOT dashboard (the light control to be precise).

peter-ha avatar Aug 08 '23 14:08 peter-ha

I do have related work packages in the pipeline:

  • introducing a backbone ( was needed in another project )
  • introducing some base classes for geometry nodes
  • updates for the linear scale renderer ( in Qwt radial/linear scale renderers have a common base class )

So please keep your code in the example for the moment. Once I have done my homework I will try to bring all together and move the result into the library.

I really like to have a well designed set for classes around scales, that can be used for all kind of gauges, dials or plots. Even the "standardish" QML slider seems to have the option of having ticks: https://doc.qt.io/qt-6/qml-qtquick-controls-slider.html#snapMode-prop

When thinking about

uwerat avatar Aug 09 '23 07:08 uwerat