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

📄 qwt__dial_8cpp-source.html

📁 QWT5.01用于Qt开发的二维图形库程序
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<a name="l00425"></a>00425 }<a name="l00426"></a>00426 <a name="l00431"></a><a class="code" href="class_qwt_dial.html#11e50d714b9decb0f5d34e5acdde970d">00431</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_dial.html#11e50d714b9decb0f5d34e5acdde970d">QwtDial::paintEvent</a>(QPaintEvent *e)<a name="l00432"></a>00432 {<a name="l00433"></a>00433     <span class="keyword">const</span> QRect &amp;ur = e-&gt;rect();<a name="l00434"></a>00434     <span class="keywordflow">if</span> ( ur.isValid() )<a name="l00435"></a>00435     {<a name="l00436"></a>00436 #<span class="keywordflow">if</span> QT_VERSION &lt; 0x040000<a name="l00437"></a>00437         QwtPaintBuffer paintBuffer(<span class="keyword">this</span>, ur);<a name="l00438"></a>00438         QPainter &amp;painter = *paintBuffer.painter();<a name="l00439"></a>00439 <span class="preprocessor">#else</span><a name="l00440"></a>00440 <span class="preprocessor"></span>        QPainter painter(<span class="keyword">this</span>);<a name="l00441"></a>00441 <span class="preprocessor">#endif</span><a name="l00442"></a>00442 <span class="preprocessor"></span><a name="l00443"></a>00443         setAntialiasing(&amp;painter, <span class="keyword">true</span>);<a name="l00444"></a>00444 <a name="l00445"></a>00445         painter.save();<a name="l00446"></a>00446         <a class="code" href="class_qwt_dial.html#9c567a9ce20120f3094a3d21ad26874a">drawContents</a>(&amp;painter);<a name="l00447"></a>00447         painter.restore();<a name="l00448"></a>00448 <a name="l00449"></a>00449         painter.save();<a name="l00450"></a>00450         <a class="code" href="class_qwt_dial.html#d4534ebd8e4a792edbad3e16c25be7ca">drawFrame</a>(&amp;painter);<a name="l00451"></a>00451         painter.restore();<a name="l00452"></a>00452 <a name="l00453"></a>00453         <span class="keywordflow">if</span> ( hasFocus() )<a name="l00454"></a>00454             <a class="code" href="class_qwt_dial.html#1fce41a19c2e368fe90551e29c4de076">drawFocusIndicator</a>(&amp;painter);<a name="l00455"></a>00455     }<a name="l00456"></a>00456 }<a name="l00457"></a>00457 <a name="l00463"></a><a class="code" href="class_qwt_dial.html#1fce41a19c2e368fe90551e29c4de076">00463</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_dial.html#1fce41a19c2e368fe90551e29c4de076">QwtDial::drawFocusIndicator</a>(QPainter *painter)<span class="keyword"> const</span><a name="l00464"></a>00464 <span class="keyword"></span>{<a name="l00465"></a>00465     <span class="keywordflow">if</span> ( !<a class="code" href="class_qwt_abstract_slider.html#040fd1fd03592c524314bf4b5539608d">isReadOnly</a>() )<a name="l00466"></a>00466     {<a name="l00467"></a>00467         QRect focusRect = <a class="code" href="class_qwt_dial.html#3e3b060c08497cf2a20a731b080fc7c3">contentsRect</a>();<a name="l00468"></a>00468 <a name="l00469"></a>00469         <span class="keyword">const</span> <span class="keywordtype">int</span> margin = 2;<a name="l00470"></a>00470         focusRect.setRect( <a name="l00471"></a>00471             focusRect.x() + margin,<a name="l00472"></a>00472             focusRect.y() + margin,<a name="l00473"></a>00473             focusRect.width() - 2 * margin,<a name="l00474"></a>00474             focusRect.height() - 2 * margin);<a name="l00475"></a>00475 <a name="l00476"></a>00476 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00477"></a>00477 <span class="preprocessor"></span>        QColor color = colorGroup().color(QColorGroup::Base);<a name="l00478"></a>00478 <span class="preprocessor">#else</span><a name="l00479"></a>00479 <span class="preprocessor"></span>        QColor color = palette().color(QPalette::Base);<a name="l00480"></a>00480 <span class="preprocessor">#endif</span><a name="l00481"></a>00481 <span class="preprocessor"></span>        <span class="keywordflow">if</span> (color.isValid())<a name="l00482"></a>00482         {<a name="l00483"></a>00483             <span class="keyword">const</span> QColor gray(Qt::gray);<a name="l00484"></a>00484 <a name="l00485"></a>00485             <span class="keywordtype">int</span> h, s, v;<a name="l00486"></a>00486 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00487"></a>00487 <span class="preprocessor"></span>            color.hsv(&amp;h, &amp;s, &amp;v);<a name="l00488"></a>00488 <span class="preprocessor">#else</span><a name="l00489"></a>00489 <span class="preprocessor"></span>            color.getHsv(&amp;h, &amp;s, &amp;v);<a name="l00490"></a>00490 <span class="preprocessor">#endif</span><a name="l00491"></a>00491 <span class="preprocessor"></span>            color = (v &gt; 128) ? gray.dark(120) : gray.light(120);<a name="l00492"></a>00492         }<a name="l00493"></a>00493         <span class="keywordflow">else</span><a name="l00494"></a>00494             color = Qt::darkGray;<a name="l00495"></a>00495 <a name="l00496"></a>00496         painter-&gt;save();<a name="l00497"></a>00497         painter-&gt;setBrush(Qt::NoBrush);<a name="l00498"></a>00498         painter-&gt;setPen(QPen(color, 0, Qt::DotLine));<a name="l00499"></a>00499         painter-&gt;drawEllipse(focusRect);<a name="l00500"></a>00500         painter-&gt;restore();<a name="l00501"></a>00501     }<a name="l00502"></a>00502 }<a name="l00503"></a>00503 <a name="l00510"></a><a class="code" href="class_qwt_dial.html#d4534ebd8e4a792edbad3e16c25be7ca">00510</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_dial.html#d4534ebd8e4a792edbad3e16c25be7ca">QwtDial::drawFrame</a>(QPainter *painter)<a name="l00511"></a>00511 {<a name="l00512"></a>00512     <span class="keyword">const</span> <span class="keywordtype">int</span> lw = <a class="code" href="class_qwt_dial.html#fb583edf70364eb562bf84686b60a9b7">lineWidth</a>();<a name="l00513"></a>00513     <span class="keyword">const</span> <span class="keywordtype">int</span> off = (lw + 1) % 2;<a name="l00514"></a>00514 <a name="l00515"></a>00515     QRect r = <a class="code" href="class_qwt_dial.html#0d52d45d3a693e66d5799e285efdd34d">boundingRect</a>();<a name="l00516"></a>00516     r.setRect(r.x() + lw / 2 - off, r.y() + lw / 2 - off,<a name="l00517"></a>00517         r.width() - lw + off + 1, r.height() - lw + off + 1);<a name="l00518"></a>00518 <span class="preprocessor">#if QT_VERSION &gt;= 0x040000</span><a name="l00519"></a>00519 <span class="preprocessor"></span><span class="preprocessor">#ifdef __GNUC__</span><a name="l00520"></a>00520 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00521"></a>00521 <span class="preprocessor"></span>    r.setX(r.x() + 1);<a name="l00522"></a>00522     r.setY(r.y() + 1);<a name="l00523"></a>00523     r.setWidth(r.width() - 2);<a name="l00524"></a>00524     r.setHeight(r.height() - 2);<a name="l00525"></a>00525 <span class="preprocessor">#endif</span><a name="l00526"></a>00526 <span class="preprocessor"></span><a name="l00527"></a>00527     <span class="keywordflow">if</span> ( lw &gt; 0 )<a name="l00528"></a>00528     {<a name="l00529"></a>00529         <span class="keywordflow">switch</span>(d_data-&gt;frameShadow)<a name="l00530"></a>00530         {<a name="l00531"></a>00531             <span class="keywordflow">case</span> QwtDial::Raised:<a name="l00532"></a>00532 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00533"></a>00533 <span class="preprocessor"></span>                <a class="code" href="class_qwt_painter.html#38c9272d0cbfc400cf3a86dcccafd551">QwtPainter::drawRoundFrame</a>(painter, r, <a name="l00534"></a>00534                     lw, colorGroup(), <span class="keyword">false</span>);<a name="l00535"></a>00535 <span class="preprocessor">#else</span><a name="l00536"></a>00536 <span class="preprocessor"></span>                <a class="code" href="class_qwt_painter.html#38c9272d0cbfc400cf3a86dcccafd551">QwtPainter::drawRoundFrame</a>(painter, r, <a name="l00537"></a>00537                     lw, palette(), <span class="keyword">false</span>);<a name="l00538"></a>00538 <span class="preprocessor">#endif</span><a name="l00539"></a>00539 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;<a name="l00540"></a>00540             <span class="keywordflow">case</span> QwtDial::Sunken:<a name="l00541"></a>00541 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00542"></a>00542 <span class="preprocessor"></span>                <a class="code" href="class_qwt_painter.html#38c9272d0cbfc400cf3a86dcccafd551">QwtPainter::drawRoundFrame</a>(painter, r, <a name="l00543"></a>00543                     lw, colorGroup(), <span class="keyword">true</span>);<a name="l00544"></a>00544 <span class="preprocessor">#else</span><a name="l00545"></a>00545 <span class="preprocessor"></span>                <a class="code" href="class_qwt_painter.html#38c9272d0cbfc400cf3a86dcccafd551">QwtPainter::drawRoundFrame</a>(painter, r, <a name="l00546"></a>00546                     lw, palette(), <span class="keyword">true</span>);<a name="l00547"></a>00547 <span class="preprocessor">#endif</span><a name="l00548"></a>00548 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;<a name="l00549"></a>00549             <span class="keywordflow">default</span>: <span class="comment">// Plain</span><a name="l00550"></a>00550             {<a name="l00551"></a>00551                 painter-&gt;save();<a name="l00552"></a>00552                 painter-&gt;setPen(QPen(Qt::black, lw));<a name="l00553"></a>00553                 painter-&gt;setBrush(Qt::NoBrush);<a name="l00554"></a>00554                 painter-&gt;drawEllipse(r);<a name="l00555"></a>00555                 painter-&gt;restore();<a name="l00556"></a>00556             }<a name="l00557"></a>00557         }<a name="l00558"></a>00558     }<a name="l00559"></a>00559 }<a name="l00560"></a>00560 <a name="l00572"></a><a class="code" href="class_qwt_dial.html#9c567a9ce20120f3094a3d21ad26874a">00572</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_dial.html#9c567a9ce20120f3094a3d21ad26874a">QwtDial::drawContents</a>(QPainter *painter)<span class="keyword"> const</span><a name="l00573"></a>00573 <span class="keyword"></span>{<a name="l00574"></a>00574 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00575"></a>00575 <span class="preprocessor"></span>    <span class="keywordflow">if</span> ( backgroundMode() == Qt::NoBackground || <a name="l00576"></a>00576         colorGroup().brush(QColorGroup::Base) != <a name="l00577"></a>00577             colorGroup().brush(QColorGroup::Background) )<a name="l00578"></a>00578 <span class="preprocessor">#else</span><a name="l00579"></a>00579 <span class="preprocessor"></span>    <span class="keywordflow">if</span> ( testAttribute(Qt::WA_NoSystemBackground) ||<a name="l00580"></a>00580         palette().brush(QPalette::Base) != <a name="l00581"></a>00581             palette().brush(QPalette::Background) )<a name="l00582"></a>00582 <span class="preprocessor">#endif</span><a name="l00583"></a>00583 <span class="preprocessor"></span>    {<a name="l00584"></a>00584 <a name="l00585"></a>00585         <span class="keyword">const</span> QRect br = <a class="code" href="class_qwt_dial.html#0d52d45d3a693e66d5799e285efdd34d">boundingRect</a>();<a name="l00586"></a>00586 <a name="l00587"></a>00587         painter-&gt;save();<a name="l00588"></a>00588         painter-&gt;setPen(Qt::NoPen);<a name="l00589"></a>00589 <a name="l00590"></a>00590 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00591"></a>00591 <span class="preprocessor"></span>        painter-&gt;setBrush(colorGroup().brush(QColorGroup::Base));<a name="l00592"></a>00592 <span class="preprocessor">#else</span><a name="l00593"></a>00593 <span class="preprocessor"></span>        painter-&gt;setBrush(palette().brush(QPalette::Base));<a name="l00594"></a>00594 <span class="preprocessor">#endif</span><a name="l00595"></a>00595 <span class="preprocessor"></span><a name="l00596"></a>00596         painter-&gt;drawEllipse(br);<a name="l00597"></a>00597         painter-&gt;restore();<a name="l00598"></a>00598     }<a name="l00599"></a>00599 <a name="l00600"></a>00600 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -