📄 qwt__slider_8cpp-source.html
字号:
<a name="l00497"></a>00497 direction = -direction;<a name="l00498"></a>00498 }<a name="l00499"></a>00499 <a name="l00501"></a><a class="code" href="class_qwt_slider.html#374057359bceeb3174a35b9240feacf0">00501</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_slider.html#374057359bceeb3174a35b9240feacf0">QwtSlider::paintEvent</a>(QPaintEvent *e)<a name="l00502"></a>00502 {<a name="l00503"></a>00503 <span class="keyword">const</span> QRect &ur = e->rect();<a name="l00504"></a>00504 <span class="keywordflow">if</span> ( ur.isValid() )<a name="l00505"></a>00505 {<a name="l00506"></a>00506 #<span class="keywordflow">if</span> QT_VERSION < 0x040000<a name="l00507"></a>00507 QwtPaintBuffer paintBuffer(<span class="keyword">this</span>, ur);<a name="l00508"></a>00508 <a class="code" href="class_qwt_slider.html#e0bbbd25241b84ef8ff86c698004def8">draw</a>(paintBuffer.painter(), ur);<a name="l00509"></a>00509 <span class="preprocessor">#else</span><a name="l00510"></a>00510 <span class="preprocessor"></span> QPainter painter(<span class="keyword">this</span>);<a name="l00511"></a>00511 <a class="code" href="class_qwt_slider.html#e0bbbd25241b84ef8ff86c698004def8">draw</a>(&painter, ur);<a name="l00512"></a>00512 <span class="preprocessor">#endif</span><a name="l00513"></a>00513 <span class="preprocessor"></span> }<a name="l00514"></a>00514 }<a name="l00515"></a>00515 <a name="l00517"></a><a class="code" href="class_qwt_slider.html#e0bbbd25241b84ef8ff86c698004def8">00517</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_slider.html#e0bbbd25241b84ef8ff86c698004def8">QwtSlider::draw</a>(QPainter *painter, <span class="keyword">const</span> QRect&)<a name="l00518"></a>00518 {<a name="l00519"></a>00519 <span class="keywordflow">if</span> (d_data->scalePos != NoScale)<a name="l00520"></a>00520 {<a name="l00521"></a>00521 <span class="preprocessor">#if QT_VERSION < 0x040000</span><a name="l00522"></a>00522 <span class="preprocessor"></span> <a class="code" href="class_qwt_slider.html#b3394f8eb22b75cc6add3b8d3444ad30">scaleDraw</a>()-><a class="code" href="class_qwt_abstract_scale_draw.html#ca3c3a7499112f52616d0ee8518fa5a6">draw</a>(painter, colorGroup());<a name="l00523"></a>00523 <span class="preprocessor">#else</span><a name="l00524"></a>00524 <span class="preprocessor"></span> <a class="code" href="class_qwt_slider.html#b3394f8eb22b75cc6add3b8d3444ad30">scaleDraw</a>()-><a class="code" href="class_qwt_abstract_scale_draw.html#ca3c3a7499112f52616d0ee8518fa5a6">draw</a>(painter, palette());<a name="l00525"></a>00525 <span class="preprocessor">#endif</span><a name="l00526"></a>00526 <span class="preprocessor"></span> }<a name="l00527"></a>00527 <a name="l00528"></a>00528 <a class="code" href="class_qwt_slider.html#9bfe362dcd3f4318595ce85671c96a64">drawSlider</a>(painter, d_data->sliderRect);<a name="l00529"></a>00529 <a name="l00530"></a>00530 <span class="keywordflow">if</span> ( hasFocus() )<a name="l00531"></a>00531 <a class="code" href="class_qwt_painter.html#bb6bbb26f325e33236c5292107e44102">QwtPainter::drawFocusRect</a>(painter, <span class="keyword">this</span>, d_data->sliderRect);<a name="l00532"></a>00532 }<a name="l00533"></a>00533 <a name="l00535"></a><a class="code" href="class_qwt_slider.html#92af990b20794fe27934c6fa2ee7a435">00535</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_slider.html#92af990b20794fe27934c6fa2ee7a435">QwtSlider::resizeEvent</a>(QResizeEvent *)<a name="l00536"></a>00536 {<a name="l00537"></a>00537 <a class="code" href="class_qwt_slider.html#94d3a5a87c2591f21e458ff6aa358009">layoutSlider</a>( <span class="keyword">false</span> );<a name="l00538"></a>00538 }<a name="l00539"></a>00539 <a name="l00546"></a><a class="code" href="class_qwt_slider.html#94d3a5a87c2591f21e458ff6aa358009">00546</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_slider.html#94d3a5a87c2591f21e458ff6aa358009">QwtSlider::layoutSlider</a>( <span class="keywordtype">bool</span> update_geometry )<a name="l00547"></a>00547 {<a name="l00548"></a>00548 <span class="keywordtype">int</span> sliderWidth = d_data->thumbWidth;<a name="l00549"></a>00549 <span class="keywordtype">int</span> sld1 = d_data->thumbLength / 2 - 1;<a name="l00550"></a>00550 <span class="keywordtype">int</span> sld2 = d_data->thumbLength / 2 + d_data->thumbLength % 2;<a name="l00551"></a>00551 <span class="keywordflow">if</span> ( d_data->bgStyle & BgTrough )<a name="l00552"></a>00552 {<a name="l00553"></a>00553 sliderWidth += 2 * d_data->borderWidth;<a name="l00554"></a>00554 sld1 += d_data->borderWidth;<a name="l00555"></a>00555 sld2 += d_data->borderWidth;<a name="l00556"></a>00556 }<a name="l00557"></a>00557 <a name="l00558"></a>00558 <span class="keywordtype">int</span> scd = 0;<a name="l00559"></a>00559 <span class="keywordflow">if</span> ( d_data->scalePos != NoScale )<a name="l00560"></a>00560 {<a name="l00561"></a>00561 <span class="keywordtype">int</span> d1, d2;<a name="l00562"></a>00562 <a class="code" href="class_qwt_slider.html#b3394f8eb22b75cc6add3b8d3444ad30">scaleDraw</a>()-><a class="code" href="class_qwt_scale_draw.html#b6c5d65a109b63b2dd62984d38a4df0e">getBorderDistHint</a>(font(), d1, d2);<a name="l00563"></a>00563 scd = qwtMax(d1, d2);<a name="l00564"></a>00564 }<a name="l00565"></a>00565 <a name="l00566"></a>00566 <span class="keywordtype">int</span> slo = scd - sld1;<a name="l00567"></a>00567 <span class="keywordflow">if</span> ( slo < 0 )<a name="l00568"></a>00568 slo = 0;<a name="l00569"></a>00569 <a name="l00570"></a>00570 <span class="keywordtype">int</span> x, y, length;<a name="l00571"></a>00571 <a name="l00572"></a>00572 <span class="keyword">const</span> QRect r = rect();<a name="l00573"></a>00573 <span class="keywordflow">if</span> (<a class="code" href="class_qwt_abstract_slider.html#4d2521b9c31ec64b71d8e1771b156d88">orientation</a>() == Qt::Horizontal)<a name="l00574"></a>00574 {<a name="l00575"></a>00575 <span class="keywordflow">switch</span> (d_data->scalePos)<a name="l00576"></a>00576 {<a name="l00577"></a>00577 <span class="keywordflow">case</span> TopScale:<a name="l00578"></a>00578 {<a name="l00579"></a>00579 d_data->sliderRect.setRect(<a name="l00580"></a>00580 r.x() + d_data->xMargin + slo,<a name="l00581"></a>00581 r.y() + r.height() -<a name="l00582"></a>00582 d_data->yMargin - sliderWidth,<a name="l00583"></a>00583 r.width() - 2 * d_data->xMargin - 2 * slo,<a name="l00584"></a>00584 sliderWidth);<a name="l00585"></a>00585 <a name="l00586"></a>00586 x = d_data->sliderRect.x() + sld1;<a name="l00587"></a>00587 y = d_data->sliderRect.y() - d_data->scaleDist;<a name="l00588"></a>00588 <a name="l00589"></a>00589 <span class="keywordflow">break</span>;<a name="l00590"></a>00590 }<a name="l00591"></a>00591 <a name="l00592"></a>00592 <span class="keywordflow">case</span> BottomScale:<a name="l00593"></a>00593 {<a name="l00594"></a>00594 d_data->sliderRect.setRect(<a name="l00595"></a>00595 r.x() + d_data->xMargin + slo,<a name="l00596"></a>00596 r.y() + d_data->yMargin,<a name="l00597"></a>00597 r.width() - 2 * d_data->xMargin - 2 * slo,<a name="l00598"></a>00598 sliderWidth);<a name="l00599"></a>00599 <a name="l00600"></a>00600 x = d_data->sliderRect.x() + sld1;<a name="l00601"></a>00601 y = d_data->sliderRect.y() + d_data->sliderRect.height() <a name="l00602"></a>00602 + d_data->scaleDist;<a name="l00603"></a>00603 <a name="l00604"></a>00604 <span class="keywordflow">break</span>;<a name="l00605"></a>00605 }<a name="l00606"></a>00606 <a name="l00607"></a>00607 <span class="keywordflow">case</span> NoScale: <span class="comment">// like Bottom, but no scale. See QwtSlider().</span><a name="l00608"></a>00608 <span class="keywordflow">default</span>: <span class="comment">// inconsistent orientation and scale position</span><a name="l00609"></a>00609 {<a name="l00610"></a>00610 d_data->sliderRect.setRect(<a name="l00611"></a>00611 r.x() + d_data->xMargin + slo,<a name="l00612"></a>00612 r.y() + d_data->yMargin,<a name="l00613"></a>00613 r.width() - 2 * d_data->xMargin - 2 * slo,<a name="l00614"></a>00614 sliderWidth);<a name="l00615"></a>00615 <a name="l00616"></a>00616 x = d_data->sliderRect.x() + sld1;<a name="l00617"></a>00617 y = 0;<a name="l00618"></a>00618 <a name="l00619"></a>00619 <span class="keywordflow">break</span>;<a name="l00620"></a>00620 }<a name="l00621"></a>00621 }<a name="l00622"></a>00622 length = d_data->sliderRect.width() - (sld1 + sld2);<a name="l00623"></a>00623 }<a name="l00624"></a>00624 <span class="keywordflow">else</span> <span class="comment">// if (orientation() == Qt::Vertical</span><a name="l00625"></a>00625 {<a name="l00626"></a>00626 <span class="keywordflow">switch</span> (d_data->scalePos)<a name="l00627"></a>00627 {<a name="l00628"></a>00628 <span class="keywordflow">case</span> RightScale:<a name="l00629"></a>00629 d_data->sliderRect.setRect(<a name="l00630"></a>00630 r.x() + d_data->xMargin,<a name="l00631"></a>00631 r.y() + d_data->yMargin + slo,<a name="l00632"></a>00632 sliderWidth,<a name="l00633"></a>00633 r.height() - 2 * d_data->yMargin - 2 * slo);<a name="l00634"></a>00634 <a name="l00635"></a>00635 x = d_data->sliderRect.x() + d_data->sliderRect.width() <a name="l00636"></a>00636 + d_data->scaleDist;<a name="l00637"></a>00637 y = d_data->sliderRect.y() + sld1;<a name="l00638"></a>00638 <a name="l00639"></a>00639 <span class="keywordflow">break</span>;<a name="l00640"></a>00640 <a name="l00641"></a>00641 <span class="keywordflow">case</span> LeftScale:<a name="l00642"></a>00642 d_data->sliderRect.setRect(<a name="l00643"></a>00643 r.x() + r.width() - sliderWidth - d_data->xMargin,<a name="l00644"></a>00644 r.y() + d_data->yMargin + slo,<a name="l00645"></a>00645 sliderWidth,<a name="l00646"></a>00646 r.height() - 2 * d_data->yMargin - 2 * slo);<a name="l00647"></a>00647 <a name="l00648"></a>00648 x = d_data->sliderRect.x() - d_data->scaleDist;<a name="l00649"></a>00649 y = d_data->sliderRect.y() + sld1;<a name="l00650"></a>00650 <a name="l00651"></a>00651 <span class="keywordflow">break</span>;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -