首頁>技術>

由於昨天的排版效果在手機上顯得很亂,所以今天全部改為程式碼塊顯示。

drawPicture
void QPainter::drawPicture(const QPointF &point, const QPicture &picture)在給定點point回放給定圖片pciture。QPicture類是一個可以記錄和重放QPainter命令的繪畫裝置。圖片以平臺無關的格式將Painter命令序列化到IO裝置。 可以在小部件或畫素圖上繪製的所有內容也可以儲存在圖片中。當以point = QPoint(0, 0)呼叫時,此函式與QPicture::play()完全相同。另請參見QPicture::play()。
QPicture picture;QPointF point(10.0, 20.0)picture.load("drawing.pic");QPainter painter(this);painter.drawPicture(0, 0, picture);
void QPainter::drawPicture(int x, int y, const QPicture &picture)這是一個過載函式。在給定點(x, y)回放給定圖片pciture。
void QPainter::drawPicture(const QPoint &point, const QPicture &picture)這是一個過載函式。在給定點point回放給定圖片pciture。
drawPie
void QPainter::drawPie(const QRectF &rectangle, int startAngle, int spanAngle)繪製由給定矩形rectangle,起始角度startAngle和夾角spanAngle定義的餅圖。餅圖被當前的brush()填充。必須以度的1/16來指定startAngle和spanAngle,即一個完整的圓等於5760(16 * 360)。 角度的正值表示逆時針方向,而負值表示順時針方向。 零度位於3點鐘位置。另請參見drawEllipse(), drawChord()和“座標系”。
QRectF rectangle(10.0, 20.0, 80.0, 60.0);int startAngle = 30 * 16;int spanAngle = 120 * 16;QPainter painter(this);painter.drawPie(rectangle, startAngle, spanAngle);
void QPainter::drawPie(int x, int y, int width, int height, int startAngle, int spanAngle)這是一個過載函式。繪製以(x, y)為起點,寬度為width,高度為height的矩形定義的餅圖,該餅圖的起始角度為startAngle,夾角為spanAngle。
void QPainter::drawPie(const QRect &rectangle, int startAngle, int spanAngle)這是一個過載函式。繪製由給定矩形rectangle、起始角度startAngle和夾角spanAngle定義的餅圖。
drawPixmap
void QPainter::drawPixmap(const QRectF &target, const QPixmap &pixmap, const QRectF &source)將給定畫素圖pixmap的矩形部分source繪製到繪製裝置中的目標矩形target中。注意:如果影象和矩形尺寸不相同,則將影象縮放以適合矩形。注意:有關如何受QImage::devicePixelRatio()影響的資訊,請參見“繪製高解析度版本的Pixmap和Images”。如果pixmap是一個QBitmap,它是用筆顏色“設定”的位繪製的。如果backgroundMode是Qt::OpaqueMode,“unset”位使用背景筆刷的顏色繪製;如果backgroundMode是Qt::TransparentMode,“unset”位是透明的。不支援使用漸變色或紋理顏色繪製點陣圖。
QRectF target(10.0, 20.0, 80.0, 60.0);QRectF source(0.0, 0.0, 70.0, 40.0);QPixmap pixmap(":myPixmap.png");QPainter(this);painter.drawPixmap(target, pixmap, source);

另請參見drawImage()和QPixmap::devicePixelRatio()。

void QPainter::drawPixmap(const QRect &target, const QPixmap &pixmap, const QRect &source)這是一個過載函式。將給定畫素圖pixmap的矩形部分source繪製到繪製裝置中的目標矩形target中。注意:如果影象和矩形尺寸不相同,則將影象縮放以適合矩形。
void QPainter::drawPixmap(int x, int y, int w, int h, const QPixmap &pixmap, int sx, int sy, int sw, int sh)這是一個過載函式。在點(x, y)處繪製給定畫素圖中以(sx, sy)為原點,寬度為sw、高度為sh的矩形部分,繪製的寬度為w,高度為h。如果sw或sh等於零,則使用畫素圖的寬度/高度,並透過偏移sx / sy進行調整;
void QPainter::drawPixmap(int x, int y, const QPixmap &pixmap, int sx, int sy, int sw, int sh)這是一個過載函式。以(x, y)為起點,透過將畫素圖pixmap的一部分複製到繪圖裝置中繪製畫素圖。(x, y)指要在其上繪製的繪畫裝置中的左上點。(sx, sy)指要繪製的畫素圖的左上角。 預設值為(0, 0)。(sw, sh)指要繪製的畫素圖的尺寸。 預設值(0, 0)(和負數)表示一直到畫素圖的右下角。
void QPainter::drawPixmap(const QPointF &point, const QPixmap &pixmap, const QRectF &source)這是一個過載函式。以點point為起點,繪製給定畫素圖pixmap的矩形部分source。
void QPainter::drawPixmap(const QPoint &point, const QPixmap &pixmap, const QRect &source)這是一個過載函式。以點point為起點,繪製給定畫素圖pixmap的矩形部分source。
void QPainter::drawPixmap(const QPointF &point, const QPixmap &pixmap)這是一個過載函式。以點point為起點,繪製給定畫素圖pixmap。
void QPainter::drawPixmap(const QPoint &point, const QPixmap &pixmap)這是一個過載函式。以點point為起點,繪製給定畫素圖pixmap。
void QPainter::drawPixmap(int x, int y, const QPixmap &pixmap)                          這是一個過載函式。以點(x, y)為起點,繪製給定畫素圖pixmap。
void QPainter::drawPixmap(const QRect &rectangle, const QPixmap &pixmap)這是一個過載函式。將給定的畫素圖pixmap繪製到給定的矩形中。注意:如果影象和矩形尺寸不相同,則將影象縮放以適合矩形。
void QPainter::drawPixmap(int x, int y, int width, int height, const QPixmap &pixmap)這是一個過載函式。以點(x, y)為起點,將給定的畫素圖pixmap繪製到的寬度為width和高度為height的矩形中。
void QPainter::drawPixmapFragments(const PixmapFragment *fragments, int fragmentCount, const QPixmap &pixmap, PixmapFragmentHints hints = PixmapFragmentHints())此函式用於在具有不同比例、旋轉和不透明度的多個位置繪製pixmap或pixmap的子矩形。fragments是fragmentCount元素的陣列,這些元素指定用於繪製每個pixmap片段的引數。hints引數可用於傳遞圖形提示。此函式可能比多次呼叫drawPixmap()更快,因為後端可以最佳化狀態更改。此函式在qt4.7中引入。另請參見QPainter::PixmapFragment和QPainter::PixmapFragmentHint。
drawPoint
void QPainter::drawPoint(const QPointF &position)使用當前筆的顏色在給定位置position處繪製一個點。另請參見“座標系”。
void QPainter::drawPoint(const QPoint &position)這是一個過載函式。使用當前筆的顏色在給定位置position處繪製一個點。
void QPainter::drawPoint(int x, int y)這是一個過載函式。在給定位置(x, y)處繪製一個點。
void QPainter::drawPoints(const QPointF *points, int pointCount)使用當前筆的顏色繪製陣列points中的前pointCount個點。另請參見“座標系”。
void QPainter::drawPoints(const QPolygonF &points)這是一個過載函式。繪製向量points中的點。
void QPainter::drawPoints(const QPoint *points, int pointCount)這是一個過載函式。使用當前筆的顏色繪製陣列points中的前pointCount個點。
void QPainter::drawPoints(const QPolygon &points)這是一個過載函式。繪製向量points中的點。
drawPolygon
void QPainter::drawPolygon(const QPointF *points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill)使用當前畫筆和筆刷繪製由陣列points的前pointCount個點定義的多邊形。第一個點隱式連線到最後一個點,並且多邊形被當前的brush()填充。如果fillRule為Qt::WindingFill,則使用纏繞填充演算法填充多邊形。 如果fillRule為Qt::OddEvenFill,則使用奇偶填充演算法填充多邊形。有關這些填充規則的詳細說明,請參見Qt::FillRule。另請參見drawConvexPolygon(), drawPolyline()和“座標系“。
static const QPointF points[4] = {    QPointF(10.0, 80.0),    QPointF(20.0, 10.0),    QPointF(80.0, 30.0),    QPointF(90.0, 70.0)};QPainter painter(this);painter.drawPolygon(points, 4);
void QPainter::drawPolygon(const QPolygonF &points, Qt::FillRule fillRule = Qt::OddEvenFill)這是一個過載函式。使用填充規則fillRule繪製由給定points定義的多邊形。
void QPainter::drawPolygon(const QPoint *points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill)這是一個過載函式。繪製由陣列points的前pointCount個點定義的多邊形。
void QPainter::drawPolygon(const QPolygon &points, Qt::FillRule fillRule = Qt::OddEvenFill)這是一個過載函式。使用填充規則fillRule繪製由給定points定義的多邊形。
drawPolyline
void QPainter::drawPolyline(const QPointF *points, int pointCount)使用當前筆繪製由陣列points的前pointCount個點定義的折線。請注意,與drawPolygon()函式不同,最後一點沒有連線到第一個點,也沒有填充折線。另請參見drawLines(), drawPolygon()和“座標系”。
static const QPointF points[3] = {    QPointF(10.0, 80.0),    QPointF(20.0, 10.0),    QPointF(80.0, 30.0),};QPainter painter(this);painter.drawPolyline(points, 3);
void QPainter::drawPolyline(const QPolygonF &points)這是一個過載函式。使用當前筆繪製由給定points定義的折線。
void QPainter::drawPolyline(const QPoint *points, int pointCount)這是一個過載函式。使用當前筆繪製陣列points中的前pointCount個點定義的折線。
void QPainter::drawPolyline(const QPolygon &points)這是一個過載函式。使用當前筆繪製由給定points定義的折線。
drawRect
void QPainter::drawRect(const QRectF &rectangle)使用當前的畫筆和畫刷繪製矩形rectangle。填充矩形的大小為square.size()。 描邊矩形的大小為rectangle.size()加上筆的寬度。另請參見drawRects(), drawPolygon()和“座標系”。
QRectF rectangle(10.0, 20.0, 80.0, 60.0);QPainter painter(this);painter.drawRect(rectangle);
void QPainter::drawRect(int x, int y, int width, int height)這是一個過載函式。以(x, y)為左上角,寬度為width,高度為height,繪製一個矩形。
void QPainter::drawRect(const QRect &rectangle)這是一個過載函式。使用當前的畫筆和畫刷繪製矩形rectangle。
void QPainter::drawRects(const QRectF *rectangles, int rectCount)使用當前畫筆繪製給定rectangles陣列中的的前rectCount個矩形。另請參見drawRect()。
void QPainter::drawRects(const QVector<QRectF> &rectangles)這是一個過載函式。使用當前畫筆繪製給定的rectangles。
void QPainter::drawRects(const QRect *rectangles, int rectCount)這是一個過載函式。使用當前畫筆繪製給定rectangles陣列中的的前rectCount個矩形。
void QPainter::drawRects(const QVector<QRect> &rectangles)這是一個過載函式。使用當前畫筆繪製給定的rectangles。
drawRoundedRect
void QPainter::drawRoundedRect(const QRectF &rect, qreal xRadius, qreal yRadius, Qt::SizeMode mode = Qt::AbsoluteSize)繪製具有圓角的給定矩形rect。xRadius和yRadius引數指定橢圓的半徑,該半徑定義了圓角矩形的角。 當mode為Qt::RelativeSize時,xRadius和yRadius分別以矩形寬度和高度的一半的百分比指定,並且應在0.0到100.0的範圍內。填充矩形的大小為rect.size()。 描邊矩形的大小為rect.size()加上筆的寬度。此函式在Qt 4.4中引入。另請參見drawRect()和QPen。
QRectF rectangle(10.0, 20.0, 80.0, 60.0);QPainter painter(this);painter.drawRoundedRect(rectangle, 20.0, 15.0);
void QPainter::drawRoundedRect(int x, int y, int w, int h, qreal xRadius, qreal yRadius, Qt::SizeMode mode = Qt::AbsoluteSize)這是一個過載函式。繪製以(x, y)為左上角,寬為w,高為h的圓角矩形。xRadius和yRadius引數指定橢圓的半徑,該半徑定義了圓角矩形的角。 此函式在Qt 4.4中引入。
void QPainter::drawRoundedRect(const QRect &rect, qreal xRadius, qreal yRadius, Qt::SizeMode mode = Qt::AbsoluteSize)這是一個過載函式。繪製具有圓角的給定矩形rect。xRadius和yRadius引數指定橢圓的半徑,該半徑定義了圓角矩形的角。此函式在Qt 4.4中引入。
drawStaticText
void QPainter::drawStaticText(const QPointF &topLeftPosition, const QStaticText &staticText)在給定的topLeftPosition處繪製給定的靜態文字staticText。將使用字型和在painter上設定的變換來繪製文字。 如果在繪畫板上設定的字型和/或變換與用於初始化QStaticText的佈局的字型和/或變換不同,則必須重新計算佈局。 使用QStaticText::prepare()初始化staticText,其字型和轉換將在以後進行繪製。如果topLeftPosition與staticText初始化時或上一次繪製時不相同,那麼在將文字轉換到新位置時會有一些開銷。注意:如果painter的變換不是仿射的,則將使用對drawText()的常規呼叫來繪製staticText,從而失去任何可能改善效能的可能性。注意:y位置用作字型的頂部。此功能在Qt 4.7中引入。另請參見QStaticText。
void QPainter::drawStaticText(const QPoint &topLeftPosition, const QStaticText &staticText)這是一個過載函式。在給定的topLeftPosition處繪製給定的靜態文字staticText。注意:y位置用作字型的頂部。此功能在Qt 4.7中引入。
void QPainter::drawStaticText(int left, int top, const QStaticText &staticText)這是一個過載函式。在座標(left, top)處繪製靜態文字staticText。注意:y位置用作字型的頂部。此功能在Qt 4.7中引入。
drawText
void QPainter::drawText(const QPointF &position, const QString &text)從給定位置position開始,以當前定義的文字方向繪製給定文字text。此函式不處理換行符(\n),因為它不能將文字分成多行,也不能顯示換行符。 如果要繪製帶有換行符的多行文字,或者希望對文字進行換行,請使用QPainter::drawText()其他採用矩形定義的過載。預設情況下,QPainter繪製抗鋸齒的文字。注意:y位置用作字型的基線。另請參見setFont()和setPen()。
void QPainter::drawText(const QPoint &position, const QString &text)這是一個過載函式。從給定位置position開始,以當前定義的文字方向繪製給定文字text。預設情況下,QPainter繪製抗鋸齒的文字。注意:y位置用作字型的基線。另請參見setFont()和setPen()。
void QPainter::drawText(int x, int y, const QString &text)這是一個過載函式。從給定位置(x, y)處開始,以當前定義的文字方向繪製給定文字text。預設情況下,QPainter繪製抗鋸齒的文字。注意:y位置用作字型的基線。另請參見setFont()和setPen()。
void QPainter::drawText(const QRectF &rectangle, int flags, const QString &text, QRectF *boundingRect = Q_NULLPTR)這是一個過載函式。在給定的矩形rectangle內繪製給定的文字text。矩形以及對齊標記定義了文字的錨點。
QPainter painter(this);painter.drawText(rect, Qt::AlignCenter, tr("Qt\nProject"));
boundingRect(如果不是空的話)被設定為包圍文字的邊框。 例如,在下面的例子中,點劃線表示由函式計算的boundingRect,而虛線表示矩形rectangle:
QPainter painter(this);QFont font = painter.font();font.setPixelSize(48);painter.setFont(font);const QRect rectangle = QRect(0, 0, 100, 50);QRect boundingRect;painter.drawText(rectangle, 0, tr("Hello"), &boundingRect);QPen pen = painter.pen();pen.setStyle(Qt::DotLine);painter.setPen(pen);painter.drawRect(boundingRect.adjusted(0, 0, -pen.width(), -pen.width()));pen.setStyle(Qt::DashLine);painter.setPen(pen);painter.drawRect(rectangle.adjusted(0, 0, -pen.width(), -pen.width()));
flags引數是以下標誌的按位或:Qt::AlignLeftQt::AlignRightQt::AlignHCenterQt::AlignJustifyQt::AlignTopQt::AlignBottomQt::AlignVCenterQt::AlignCenterQt::TextDontClipQt::TextSingleLineQt::TextExpandTabsQt::TextShowMnemonicQt::TextWordWrapQt::TextIncludeTrailingSpaces預設情況下,QPainter繪製抗鋸齒的文字。注意:y位置用作字型的基線。另請參見Qt::AlignmentFlag, Qt::TextFlag, boundingRect()和layoutDirection()。
void QPainter::drawText(const QRect &rectangle, int flags, const QString &text, QRect *boundingRect = Q_NULLPTR)這是一個過載函式。根據指定的標誌flags在給定的矩形rectangle內繪製給定的文字text。預設情況下,QPainter繪製抗鋸齒的文字。注意:y座標用作字型的頂部。另請參見setFont()和setPen()。
void QPainter::drawText(int x, int y, int width, int height, int flags, const QString &text, QRect *boundingRect = Q_NULLPTR)這是一個過載函式。在(x, y)為原點,寬度為width,高度為height的矩形內繪製給定的文字text。flags引數是以下標誌的按位或:Qt::AlignLeftQt::AlignRightQt::AlignHCenterQt::AlignJustifyQt::AlignTopQt::AlignBottomQt::AlignVCenterQt::AlignCenterQt::TextSingleLineQt::TextExpandTabsQt::TextShowMnemonicQt::TextWordWrap預設情況下,QPainter繪製抗鋸齒的文字。注意:y座標用作字型的頂部。另請參見Qt::AlignmentFlag, Qt::TextFlag, setFont()和setPen()。
void QPainter::drawText(const QRectF &rectangle, const QString &text, const QTextOption &option = QTextOption())這是一個過載函式。在使用選項option控制其位置和方向的指定矩形rectangle中繪製給定文字text。預設情況下,QPainter繪製抗鋸齒的文字。注意:矩形的y座標用作字型的頂部。另請參見setFont()和setPen()。

25
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • MongoDB 未加密導致的慘痛經歷與教訓