⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qwt__slider_8cpp-source.html

📁 QWT5.01用于Qt开发的二维图形库程序
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<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 &amp;ur = e-&gt;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 &lt; 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>(&amp;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&amp;)<a name="l00518"></a>00518 {<a name="l00519"></a>00519     <span class="keywordflow">if</span> (d_data-&gt;scalePos != NoScale)<a name="l00520"></a>00520     {<a name="l00521"></a>00521 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00522"></a>00522 <span class="preprocessor"></span>        <a class="code" href="class_qwt_slider.html#b3394f8eb22b75cc6add3b8d3444ad30">scaleDraw</a>()-&gt;<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>()-&gt;<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-&gt;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-&gt;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-&gt;thumbWidth;<a name="l00549"></a>00549     <span class="keywordtype">int</span> sld1 = d_data-&gt;thumbLength / 2 - 1;<a name="l00550"></a>00550     <span class="keywordtype">int</span> sld2 = d_data-&gt;thumbLength / 2 + d_data-&gt;thumbLength % 2;<a name="l00551"></a>00551     <span class="keywordflow">if</span> ( d_data-&gt;bgStyle &amp; BgTrough )<a name="l00552"></a>00552     {<a name="l00553"></a>00553         sliderWidth += 2 * d_data-&gt;borderWidth;<a name="l00554"></a>00554         sld1 += d_data-&gt;borderWidth;<a name="l00555"></a>00555         sld2 += d_data-&gt;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-&gt;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>()-&gt;<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 &lt; 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-&gt;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-&gt;sliderRect.setRect(<a name="l00580"></a>00580                     r.x() + d_data-&gt;xMargin + slo,<a name="l00581"></a>00581                     r.y() + r.height() -<a name="l00582"></a>00582                     d_data-&gt;yMargin - sliderWidth,<a name="l00583"></a>00583                     r.width() - 2 * d_data-&gt;xMargin - 2 * slo,<a name="l00584"></a>00584                     sliderWidth);<a name="l00585"></a>00585 <a name="l00586"></a>00586                 x = d_data-&gt;sliderRect.x() + sld1;<a name="l00587"></a>00587                 y = d_data-&gt;sliderRect.y() - d_data-&gt;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-&gt;sliderRect.setRect(<a name="l00595"></a>00595                     r.x() + d_data-&gt;xMargin + slo,<a name="l00596"></a>00596                     r.y() + d_data-&gt;yMargin,<a name="l00597"></a>00597                     r.width() - 2 * d_data-&gt;xMargin - 2 * slo,<a name="l00598"></a>00598                     sliderWidth);<a name="l00599"></a>00599     <a name="l00600"></a>00600                 x = d_data-&gt;sliderRect.x() + sld1;<a name="l00601"></a>00601                 y = d_data-&gt;sliderRect.y() + d_data-&gt;sliderRect.height() <a name="l00602"></a>00602                     + d_data-&gt;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-&gt;sliderRect.setRect(<a name="l00611"></a>00611                     r.x() + d_data-&gt;xMargin + slo,<a name="l00612"></a>00612                     r.y() + d_data-&gt;yMargin,<a name="l00613"></a>00613                     r.width() - 2 * d_data-&gt;xMargin - 2 * slo,<a name="l00614"></a>00614                     sliderWidth);<a name="l00615"></a>00615 <a name="l00616"></a>00616                 x = d_data-&gt;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-&gt;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-&gt;scalePos)<a name="l00627"></a>00627         {<a name="l00628"></a>00628             <span class="keywordflow">case</span> RightScale:<a name="l00629"></a>00629                 d_data-&gt;sliderRect.setRect(<a name="l00630"></a>00630                     r.x() + d_data-&gt;xMargin,<a name="l00631"></a>00631                     r.y() + d_data-&gt;yMargin + slo,<a name="l00632"></a>00632                     sliderWidth,<a name="l00633"></a>00633                     r.height() - 2 * d_data-&gt;yMargin - 2 * slo);<a name="l00634"></a>00634 <a name="l00635"></a>00635                 x = d_data-&gt;sliderRect.x() + d_data-&gt;sliderRect.width() <a name="l00636"></a>00636                     + d_data-&gt;scaleDist;<a name="l00637"></a>00637                 y = d_data-&gt;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-&gt;sliderRect.setRect(<a name="l00643"></a>00643                     r.x() + r.width() - sliderWidth - d_data-&gt;xMargin,<a name="l00644"></a>00644                     r.y() + d_data-&gt;yMargin + slo,<a name="l00645"></a>00645                     sliderWidth,<a name="l00646"></a>00646                     r.height() - 2 * d_data-&gt;yMargin - 2 * slo);<a name="l00647"></a>00647 <a name="l00648"></a>00648                 x = d_data-&gt;sliderRect.x() - d_data-&gt;scaleDist;<a name="l00649"></a>00649                 y = d_data-&gt;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 + -