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

📄 qpainter.html

📁 QT3的教程
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<p>实例:<a href="themes-example.html#x243">themes/metal.cpp</a>和<a href="themes-example.html#x173">themes/wood.cpp</a>。

<h3 class=fn>const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp; <a name="brushOrigin"></a>QPainter::brushOrigin () const
</h3>
<p> 返回画刷原点的当前设置。
<p> <p>请参考<a href="#setBrushOrigin">setBrushOrigin</a>()。

<h3 class=fn><a href="qregion.html">QRegion</a> <a name="clipRegion"></a>QPainter::clipRegion ( <a href="qpainter.html#CoordinateMode-enum">CoordinateMode</a>&nbsp;m = CoordDevice ) const
</h3>
返回当前设置的裁剪区域。注意裁剪区域是在物理设备坐标内给定的并且如果<em>m</em>是<a href="#CoordinateMode-enum">CoordDevice</a><em>(默认),不</em>服从任何<a href="coordsys.html">坐标变换</a>。如果<em>m</em>是<a href="#CoordinateMode-enum">CoordPainter</a>,返回的区域是在模型坐标中。
<p> <p>请参考<a href="#setClipRegion">setClipRegion</a>()、<a href="#setClipRect">setClipRect</a>()、<a href="#setClipping">setClipping</a>()和<a href="#CoordinateMode-enum">QPainter::CoordinateMode</a>。
<p>实例: <a href="themes-example.html#x174">themes/wood.cpp</a>。

<h3 class=fn><a href="qpaintdevice.html">QPaintDevice</a>&nbsp;* <a name="device"></a>QPainter::device () const
</h3>
<p> 返回绘制工具当前正在绘制的绘制设备,如果绘制工具没有激活,返回0。
<p> <p>请参考<a href="qpaintdevice.html#paintingActive">QPaintDevice::paintingActive</a>()。
<p>实例:<a href="helpviewer-example.html#x1001">helpviewer/helpwindow.cpp</a>和<a href="listboxcombo-example.html#x1140">listboxcombo/listboxcombo.cpp</a>。

<h3 class=fn>void <a name="drawArc"></a>QPainter::drawArc ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, int&nbsp;a, int&nbsp;alen )
</h3>
绘制由矩形<em>(x, y, w, h)</em>确定的弧,开始角度为<em>a</em>,并且弧长为<em>alen</em>。
<p> 角度<em>a</em>和<em>alen</em>是1/16度,也就是说一个完整的圆等于5760(16*360)。正数的<em>a</em>和<em>alen</em>意味着逆时针方向并且负值意味着顺时针方向。0度在3点的时钟位置。
<p> 实例:
<pre>
        QPainter p( myWidget );
        p.<a href="#drawArc">drawArc</a>( 10,10, 70,100, 100*16, 160*16 ); // 绘制一个“(”这样的弧
    </pre>
 
<p> <p>请参考<a href="#drawPie">drawPie</a>()和<a href="#drawChord">drawChord</a>()。

<h3 class=fn>void <a name="drawArc-2"></a>QPainter::drawArc ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, int&nbsp;a, int&nbsp;alen )
</h3>
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
<p> 绘制由矩形<em>r</em>确定的弧,开始角度为<em>a</em>,并且弧长为<em>alen</em>。

<h3 class=fn>void <a name="drawChord"></a>QPainter::drawChord ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, int&nbsp;a, int&nbsp;alen )
</h3>
绘制由矩形<em>(x, y, w, h)</em>确定的弦,开始角度为<em>a</em>,并且弧长为<em>alen</em>。
<p> 这个弦由当前<a href="#brush">brush</a>()填充。
<p> 角度<em>a</em>和<em>alen</em>是1/16度,也就是说一个完整的圆等于5760(16*360)。正数的<em>a</em>和<em>alen</em>意味着逆时针方向并且负值意味着顺时针方向。0度在3点的时钟位置。
<p> <p>请参考<a href="#drawArc">drawArc</a>()和<a href="#drawPie">drawPie</a>()。

<h3 class=fn>void <a name="drawChord-2"></a>QPainter::drawChord ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, int&nbsp;a, int&nbsp;alen )
</h3>
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
<p> 绘制由矩形<em>r</em>确定的弦,开始角度为<em>a</em>,并且弧长为<em>alen</em>。

<h3 class=fn>void <a name="drawConvexPolygon"></a>QPainter::drawConvexPolygon ( const&nbsp;<a href="qpointarray.html">QPointArray</a>&nbsp;&amp;&nbsp;pa, int&nbsp;index = 0, int&nbsp;npoints = -1 )
</h3>
绘制<em>pa</em>中从<em>pa[index]</em>开始(<em>index</em>默认为0)的<em>npoints</em>个点确定的凸多边形。
<p> 如果提供的多边形不是凸的,结果是不确定的。
<p> 在一些平台上(例如X窗口),这个比<a href="#drawPolygon">drawPolygon</a>()更快。
<p>实例: <a href="coordsys.html#x2430">aclock/aclock.cpp</a>。

<h3 class=fn>void <a name="drawCubicBezier"></a>QPainter::drawCubicBezier ( const&nbsp;<a href="qpointarray.html">QPointArray</a>&nbsp;&amp;&nbsp;a, int&nbsp;index = 0 )
</h3>
绘制<em>a</em>中从<em>a[index]</em>开始(<em>index</em>默认为0)的控制点确定的三次贝塞尔曲线。
<p> 在<em>a[index + 3]</em>之后的控制点被忽略。如果没有足够的控制点,就什么也不发生。

<h3 class=fn>void <a name="drawEllipse"></a>QPainter::drawEllipse ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )
</h3>
绘制中心在<em>(x + w/2, y + h/2)</em>并且大小为<em>(w, h)</em>的椭圆。
<p>实例:<a href="drawdemo-example.html#x1169">drawdemo/drawdemo.cpp</a>、<a href="picture-example.html#x80">picture/picture.cpp</a>和<a href="tictac-example.html#x124">tictac/tictac.cpp</a>。

<h3 class=fn>void <a name="drawEllipse-2"></a>QPainter::drawEllipse ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )
</h3>
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
<p> 绘制在<em>r</em>内适合的的椭圆。

<h3 class=fn>void <a name="drawImage"></a>QPainter::drawImage ( int&nbsp;x, int&nbsp;y, const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;image, int&nbsp;sx = 0, int&nbsp;sy = 0, int&nbsp;sw = -1, int&nbsp;sh = -1, int&nbsp;conversionFlags = 0 )
</h3>
在(<em>x</em>, <em>y</em>)点绘制从(<em>sx</em>, <em>sy</em>)开始,<em>sw</em>、<em>sh</em>分别为宽高的像素区域,如果图片需要被转换为像素映射,使用<em>conversionFlags</em>。<em>conversionFlags</em>的默认值为0,关于其它值有什么作用请参考convertFromImage()。
<p> 如果<a href="#device">device</a>()是<a href="qpixmap.html">QPixmap</a>或<a href="qwidget.html">QWidget</a>,这个函数可以把<em>image</em>转换为像素映射然后再绘制它;如果device()是<a href="qprinter.html">QPrinter</a>或<a href="qpicture.html">QPicture</a>,它会直接绘制它。
<p> 当在QPrinter上绘制时,图像中的alpha掩码将被忽略。
<p> <p>请参考<a href="#drawPixmap">drawPixmap</a>()和<a href="qpixmap.html#convertFromImage">QPixmap::convertFromImage</a>()。
<p>实例: <a href="canvas-example.html#x2717">canvas/canvas.cpp</a>。

<h3 class=fn>void <a name="drawImage-2"></a>QPainter::drawImage ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;, const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;sr, int&nbsp;conversionFlags = 0 )
</h3>
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
<p> 在给定的点绘制图像中的矩形<em>sr</em>。

<h3 class=fn>void <a name="drawImage-3"></a>QPainter::drawImage ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p, const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;i, int&nbsp;conversion_flags = 0 )
</h3>
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
<p> 在点<em>p</em>绘制图像<em>i</em>。
<p> 如果图像需要被修改来适应低分辨率的结果(例如从32位转换为8位),使用<em>conversion_flags</em>来指定你希望发生什么。
<p> <p>请参考<a href="qt.html#ImageConversionFlags-enum">Qt::ImageConversionFlags</a>。

<h3 class=fn>void <a name="drawImage-4"></a>QPainter::drawImage ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;i )
</h3>
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
<p> 在矩形<em>r</em>中绘制图像<em>i</em>。如果图像和矩形的大小不同,图像将被伸缩来适应矩形。

<h3 class=fn>void <a name="drawLine"></a>QPainter::drawLine ( int&nbsp;x1, int&nbsp;y1, int&nbsp;x2, int&nbsp;y2 )
</h3>
绘制从(<em>x1</em>, <em>y1</em>)到(<em>x2</em>, <em>y2</em>)的直线并且设置当前画笔位置为(<em>x2</em>, <em>y2</em>)。
<p> <p>请参考<a href="#pen">pen</a>()。
<p>实例:<a href="coordsys.html#x2431">aclock/aclock.cpp</a>、<a href="drawlines-example.html#x1697">drawlines/connect.cpp</a>、<a href="progress-example.html#x41">progress/progress.cpp</a>、<a href="splitter-example.html#x1235">splitter/splitter.cpp</a>、<a href="themes-example.html#x244">themes/metal.cpp</a>和<a href="themes-example.html#x175">themes/wood.cpp</a>。

<h3 class=fn>void <a name="drawLine-2"></a>QPainter::drawLine ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p1, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p2 )
</h3>
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
<p> 绘制从点<em>p1</em>到点<em>p2</em>的直线。

<h3 class=fn>void <a name="drawLineSegments"></a>QPainter::drawLineSegments ( const&nbsp;<a href="qpointarray.html">QPointArray</a>&nbsp;&amp;&nbsp;a, int&nbsp;index = 0, int&nbsp;nlines = -1 )
</h3>
绘制<em>a</em>中,从<em>a[index]</em>开始(<em>index</em>默认为0)的点确定的<em>nlines</em>条分隔的线。如果<em>nlines</em>为-1(默认),直到数组结束所有的点都被使用(也就是绘制(a.size()-index)/2个线)。
<p> 绘制的第一条线是从<em>a[index]</em>到<em>a[index+1]</em>。绘制的第二条线是从<em>a[index+2]</em>到<em>a[index+3]</em>,等等。
<p> <p>请参考<a href="#drawPolyline">drawPolyline</a>()、<a href="#drawPolygon">drawPolygon</a>()和<a href="qpen.html">QPen</a>。

<h3 class=fn>void <a name="drawPicture"></a>QPainter::drawPicture ( int&nbsp;x, int&nbsp;y, const&nbsp;<a href="qpicture.html">QPicture</a>&nbsp;&amp;&nbsp;pic )
</h3>
在(<em>x</em>, <em>y</em>)重放图片<em>pic</em>。
<p> 当这个函数被调用时,如果(<em>x</em>, <em>y</em>) = (0, 0),它就和<a href="qpicture.html#play">QPicture::play</a>()一样了。
<p>实例:<a href="picture-example.html#x81">picture/picture.cpp</a>和<a href="xform-example.html#x1433">xform/xform.cpp</a>。

<h3 class=fn>void <a name="drawPicture-2"></a>QPainter::drawPicture ( const&nbsp;<a href="qpicture.html">QPicture</a>&nbsp;&amp;&nbsp;pic )
</h3>
<p> <b>这个函数是废弃的。</b>它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。
<p> 使用另外一个(0, 0)位移的<a href="#drawPicture">QPainter::drawPicture</a>()函数来替代它。

<h3 class=fn>void <a name="drawPicture-3"></a>QPainter::drawPicture ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p, const&nbsp;<a href="qpicture.html">QPicture</a>&nbsp;&amp;&nbsp;pic )
</h3>
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
<p> 在点<em>p</em>绘制图片<em>pic</em>。

<h3 class=fn>void <a name="drawPie"></a>QPainter::drawPie ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, int&nbsp;a, int&nbsp;alen )
</h3>
绘制由矩形<em>(x, y, w, h)</em>确定的饼图,开始角度为<em>a</em>,并且弧长为<em>alen</em>。

⌨️ 快捷键说明

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