-
Notifications
You must be signed in to change notification settings - Fork 1
Now
TI_Eugene edited this page Sep 22, 2022
·
1 revision
- Chart QScrollView ⇒ QCP zoom/range
- Try Qwt
- QGriLayout or + splitters
- Google:
- QTableWidget: scroll column content
- setWigetCell(QScrollArea)
- QGridLayoyt + splitter
- QGridLayout + frozen top/bottom/left:
- QGraphicsAnchorLayout
- QTableWidget: scroll column content
- ChartArea: QScrollArea
- ChartSizes: fixed
- Axis ranges: fixed, full
- ⊕ Simple
- ⊖ Memory leak:
- x5 + x5 = +30MB RAM
- x10 + x10 = +50MB RAM
- ca.resize: c.resize
- zoom: c.resize, scroller update
- scroll: auto
- ca.resize: scroller update
- zoom: c.resize, scroller update
- scroll: auto
X-Scroller:
- Range + PageStep = QCP width
- Page = Col1
- Range = 0..(QCP-Col1)
- ChartArea: QWidget + QHBox (QCP + V-scroller)
- Chart sizes: undefined, auto
- Axis ranges: dynamic, in natural units
- ⊕: Memory unassuming
- ⊖: complex
- c.resize: scroller update
- range: nothing to do
- scroller:
- page: height()
- size: page × zoom
- ptr: recalc
- zoom: [range scale,] scroller update
- range:
- size: Ymin..Ymax
- current: size / zoom
- start: by scroller.ptr
- scroller:
- page: height() (no changes)
- size: page × zoom
- ptr: recalc
- range:
- scroll: range move
Main idea: 1 scroller step == 1 px
- scroller исчисляется в px
- c.resize: range update + scroller update
- zoom: range scale, scroller update
- range:
- size: Xmin..Xmax
- current: width() / (size × xppu × zoom)
- ptr: on scroller
- scroller:
- size: Xsize * xppu * zoom
- page:
- ptr:
- range:
- scroll: range move
Main idea: fixed px/sample