A<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B%2FQt%2FQBrush</id>
		<title>C++/Qt/QBrush - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B%2FQt%2FQBrush"/>
		<link rel="alternate" type="text/html" href="http://www.cppe.ru/index.php?title=C%2B%2B/Qt/QBrush&amp;action=history"/>
		<updated>2026-04-18T18:55:09Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.cppe.ru/index.php?title=C%2B%2B/Qt/QBrush&amp;diff=1062&amp;oldid=prev</id>
		<title> в 14:21, 25 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.cppe.ru/index.php?title=C%2B%2B/Qt/QBrush&amp;diff=1062&amp;oldid=prev"/>
				<updated>2010-05-25T14:21:06Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 14:21, 25 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.cppe.ru/index.php?title=C%2B%2B/Qt/QBrush&amp;diff=1063&amp;oldid=prev</id>
		<title>Admin: 1 версия:&amp;#32;Импорт контента...</title>
		<link rel="alternate" type="text/html" href="http://www.cppe.ru/index.php?title=C%2B%2B/Qt/QBrush&amp;diff=1063&amp;oldid=prev"/>
				<updated>2010-05-25T10:24:43Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия: Импорт контента...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Basic drawing==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
/****************************************************************************&lt;br /&gt;
**&lt;br /&gt;
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;br /&gt;
** All rights reserved.&lt;br /&gt;
** Contact: Nokia Corporation (qt-info@nokia.com)&lt;br /&gt;
**&lt;br /&gt;
** This file is part of the examples of the Qt Toolkit.&lt;br /&gt;
**&lt;br /&gt;
** $QT_BEGIN_LICENSE:LGPL$&lt;br /&gt;
** Commercial Usage&lt;br /&gt;
** Licensees holding valid Qt Commercial licenses may use this file in&lt;br /&gt;
** accordance with the Qt Commercial License Agreement provided with the&lt;br /&gt;
** Software or, alternatively, in accordance with the terms contained in&lt;br /&gt;
** a written agreement between you and Nokia.&lt;br /&gt;
**&lt;br /&gt;
** GNU Lesser General Public License Usage&lt;br /&gt;
** Alternatively, this file may be used under the terms of the GNU Lesser&lt;br /&gt;
** General Public License version 2.1 as published by the Free Software&lt;br /&gt;
** Foundation and appearing in the file LICENSE.LGPL included in the&lt;br /&gt;
** packaging of this file.  Please review the following information to&lt;br /&gt;
** ensure the GNU Lesser General Public License version 2.1 requirements&lt;br /&gt;
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.&lt;br /&gt;
**&lt;br /&gt;
** In addition, as a special exception, Nokia gives you certain additional&lt;br /&gt;
** rights.  These rights are described in the Nokia Qt LGPL Exception&lt;br /&gt;
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.&lt;br /&gt;
**&lt;br /&gt;
** GNU General Public License Usage&lt;br /&gt;
** Alternatively, this file may be used under the terms of the GNU&lt;br /&gt;
** General Public License version 3.0 as published by the Free Software&lt;br /&gt;
** Foundation and appearing in the file LICENSE.GPL included in the&lt;br /&gt;
** packaging of this file.  Please review the following information to&lt;br /&gt;
** ensure the GNU General Public License version 3.0 requirements will be&lt;br /&gt;
** met: http://www.gnu.org/copyleft/gpl.html.&lt;br /&gt;
**&lt;br /&gt;
** If you have questions regarding the use of this file, please contact&lt;br /&gt;
** Nokia at qt-info@nokia.com.&lt;br /&gt;
** $QT_END_LICENSE$&lt;br /&gt;
**&lt;br /&gt;
****************************************************************************/&lt;br /&gt;
#ifndef RENDERAREA_H&lt;br /&gt;
#define RENDERAREA_H&lt;br /&gt;
#include &amp;lt;QBrush&amp;gt;&lt;br /&gt;
#include &amp;lt;QPen&amp;gt;&lt;br /&gt;
#include &amp;lt;QPixmap&amp;gt;&lt;br /&gt;
#include &amp;lt;QWidget&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class RenderArea : public QWidget&lt;br /&gt;
{&lt;br /&gt;
    Q_OBJECT&lt;br /&gt;
public:&lt;br /&gt;
    enum Shape { Line, Points, Polyline, Polygon, Rect, RoundedRect, Ellipse, Arc,&lt;br /&gt;
                 Chord, Pie, Path, Text, Pixmap };&lt;br /&gt;
    RenderArea(QWidget *parent = 0);&lt;br /&gt;
    QSize minimumSizeHint() const;&lt;br /&gt;
    QSize sizeHint() const;&lt;br /&gt;
public slots:&lt;br /&gt;
    void setShape(Shape shape);&lt;br /&gt;
    void setPen(const QPen &amp;amp;pen);&lt;br /&gt;
    void setBrush(const QBrush &amp;amp;brush);&lt;br /&gt;
    void setAntialiased(bool antialiased);&lt;br /&gt;
    void setTransformed(bool transformed);&lt;br /&gt;
protected:&lt;br /&gt;
    void paintEvent(QPaintEvent *event);&lt;br /&gt;
private:&lt;br /&gt;
    Shape shape;&lt;br /&gt;
    QPen pen;&lt;br /&gt;
    QBrush brush;&lt;br /&gt;
    bool antialiased;&lt;br /&gt;
    bool transformed;&lt;br /&gt;
    QPixmap pixmap;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;QtGui&amp;gt;&lt;br /&gt;
#include &amp;quot;renderarea.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
RenderArea::RenderArea(QWidget *parent)&lt;br /&gt;
    : QWidget(parent)&lt;br /&gt;
{&lt;br /&gt;
    shape = Polygon;&lt;br /&gt;
    antialiased = false;&lt;br /&gt;
    transformed = false;&lt;br /&gt;
    pixmap.load(&amp;quot;:/images/qt-logo.png&amp;quot;);&lt;br /&gt;
    setBackgroundRole(QPalette::Base);&lt;br /&gt;
    setAutoFillBackground(true);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
QSize RenderArea::minimumSizeHint() const&lt;br /&gt;
{&lt;br /&gt;
    return QSize(100, 100);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
QSize RenderArea::sizeHint() const&lt;br /&gt;
{&lt;br /&gt;
    return QSize(400, 200);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void RenderArea::setShape(Shape shape)&lt;br /&gt;
{&lt;br /&gt;
    this-&amp;gt;shape = shape;&lt;br /&gt;
    update();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void RenderArea::setPen(const QPen &amp;amp;pen)&lt;br /&gt;
{&lt;br /&gt;
    this-&amp;gt;pen = pen;&lt;br /&gt;
    update();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void RenderArea::setBrush(const QBrush &amp;amp;brush)&lt;br /&gt;
{&lt;br /&gt;
    this-&amp;gt;brush = brush;&lt;br /&gt;
    update();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void RenderArea::setAntialiased(bool antialiased)&lt;br /&gt;
{&lt;br /&gt;
    this-&amp;gt;antialiased = antialiased;&lt;br /&gt;
    update();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void RenderArea::setTransformed(bool transformed)&lt;br /&gt;
{&lt;br /&gt;
    this-&amp;gt;transformed = transformed;&lt;br /&gt;
    update();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void RenderArea::paintEvent(QPaintEvent * /* event */)&lt;br /&gt;
{&lt;br /&gt;
    static const QPoint points[4] = {&lt;br /&gt;
        QPoint(10, 80),&lt;br /&gt;
        QPoint(20, 10),&lt;br /&gt;
        QPoint(80, 30),&lt;br /&gt;
        QPoint(90, 70)&lt;br /&gt;
    };&lt;br /&gt;
    QRect rect(10, 20, 80, 60);&lt;br /&gt;
    QPainterPath path;&lt;br /&gt;
    path.moveTo(20, 80);&lt;br /&gt;
    path.lineTo(20, 30);&lt;br /&gt;
    path.cubicTo(80, 0, 50, 50, 80, 80);&lt;br /&gt;
    int startAngle = 20 * 16;&lt;br /&gt;
    int arcLength = 120 * 16;&lt;br /&gt;
&lt;br /&gt;
    QPainter painter(this);&lt;br /&gt;
    painter.setPen(pen);&lt;br /&gt;
    painter.setBrush(brush);&lt;br /&gt;
    if (antialiased) {&lt;br /&gt;
        painter.setRenderHint(QPainter::Antialiasing, true);&lt;br /&gt;
        painter.translate(+0.5, +0.5);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    for (int x = 0; x &amp;lt; width(); x += 100) {&lt;br /&gt;
        for (int y = 0; y &amp;lt; height(); y += 100) {&lt;br /&gt;
            painter.save();&lt;br /&gt;
            painter.translate(x, y);&lt;br /&gt;
 &lt;br /&gt;
            if (transformed) {&lt;br /&gt;
                painter.translate(50, 50);&lt;br /&gt;
                painter.rotate(60.0);&lt;br /&gt;
                painter.scale(0.6, 0.9);&lt;br /&gt;
                painter.translate(-50, -50);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            switch (shape) {&lt;br /&gt;
            case Line:&lt;br /&gt;
                painter.drawLine(rect.bottomLeft(), rect.topRight());&lt;br /&gt;
                break;&lt;br /&gt;
            case Points:&lt;br /&gt;
                painter.drawPoints(points, 4);&lt;br /&gt;
                break;&lt;br /&gt;
            case Polyline:&lt;br /&gt;
                painter.drawPolyline(points, 4);&lt;br /&gt;
                break;&lt;br /&gt;
            case Polygon:&lt;br /&gt;
                painter.drawPolygon(points, 4);&lt;br /&gt;
                break;&lt;br /&gt;
            case Rect:&lt;br /&gt;
                painter.drawRect(rect);&lt;br /&gt;
                break;&lt;br /&gt;
            case RoundedRect:&lt;br /&gt;
                painter.drawRoundedRect(rect, 25, 25, Qt::RelativeSize);&lt;br /&gt;
                break;&lt;br /&gt;
            case Ellipse:&lt;br /&gt;
                painter.drawEllipse(rect);&lt;br /&gt;
                break;&lt;br /&gt;
            case Arc:&lt;br /&gt;
                painter.drawArc(rect, startAngle, arcLength);&lt;br /&gt;
                break;&lt;br /&gt;
            case Chord:&lt;br /&gt;
                painter.drawChord(rect, startAngle, arcLength);&lt;br /&gt;
                break;&lt;br /&gt;
            case Pie:&lt;br /&gt;
                painter.drawPie(rect, startAngle, arcLength);&lt;br /&gt;
                break;&lt;br /&gt;
            case Path:&lt;br /&gt;
                painter.drawPath(path);&lt;br /&gt;
                break;&lt;br /&gt;
            case Text:&lt;br /&gt;
                painter.drawText(rect, Qt::AlignCenter, tr(&amp;quot;Qt by\nNokia&amp;quot;));&lt;br /&gt;
                break;&lt;br /&gt;
            case Pixmap:&lt;br /&gt;
                painter.drawPixmap(10, 10, pixmap);&lt;br /&gt;
            }&lt;br /&gt;
 &lt;br /&gt;
            painter.restore();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    painter.setPen(palette().dark().color());&lt;br /&gt;
    painter.setBrush(Qt::NoBrush);&lt;br /&gt;
    painter.drawRect(QRect(0, 0, width() - 1, height() - 1));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#ifndef WINDOW_H&lt;br /&gt;
#define WINDOW_H&lt;br /&gt;
#include &amp;lt;QWidget&amp;gt;&lt;br /&gt;
QT_BEGIN_NAMESPACE&lt;br /&gt;
class QCheckBox;&lt;br /&gt;
class QComboBox;&lt;br /&gt;
class QLabel;&lt;br /&gt;
class QSpinBox;&lt;br /&gt;
QT_END_NAMESPACE&lt;br /&gt;
class RenderArea;&lt;br /&gt;
&lt;br /&gt;
class Window : public QWidget&lt;br /&gt;
{&lt;br /&gt;
    Q_OBJECT&lt;br /&gt;
public:&lt;br /&gt;
    Window();&lt;br /&gt;
private slots:&lt;br /&gt;
    void shapeChanged();&lt;br /&gt;
    void penChanged();&lt;br /&gt;
    void brushChanged();&lt;br /&gt;
private:&lt;br /&gt;
    RenderArea *renderArea;&lt;br /&gt;
    QLabel *shapeLabel;&lt;br /&gt;
    QLabel *penWidthLabel;&lt;br /&gt;
    QLabel *penStyleLabel;&lt;br /&gt;
    QLabel *penCapLabel;&lt;br /&gt;
    QLabel *penJoinLabel;&lt;br /&gt;
    QLabel *brushStyleLabel;&lt;br /&gt;
    QLabel *otherOptionsLabel;&lt;br /&gt;
    QComboBox *shapeComboBox;&lt;br /&gt;
    QSpinBox *penWidthSpinBox;&lt;br /&gt;
    QComboBox *penStyleComboBox;&lt;br /&gt;
    QComboBox *penCapComboBox;&lt;br /&gt;
    QComboBox *penJoinComboBox;&lt;br /&gt;
    QComboBox *brushStyleComboBox;&lt;br /&gt;
    QCheckBox *antialiasingCheckBox;&lt;br /&gt;
    QCheckBox *transformationsCheckBox;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;QtGui&amp;gt;&lt;br /&gt;
#include &amp;quot;renderarea.h&amp;quot;&lt;br /&gt;
#include &amp;quot;window.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
const int IdRole = Qt::UserRole;&lt;br /&gt;
&lt;br /&gt;
Window::Window()&lt;br /&gt;
{&lt;br /&gt;
    renderArea = new RenderArea;&lt;br /&gt;
    shapeComboBox = new QComboBox;&lt;br /&gt;
    shapeComboBox-&amp;gt;addItem(tr(&amp;quot;Polygon&amp;quot;), RenderArea::Polygon);&lt;br /&gt;
    shapeComboBox-&amp;gt;addItem(tr(&amp;quot;Rectangle&amp;quot;), RenderArea::Rect);&lt;br /&gt;
    shapeComboBox-&amp;gt;addItem(tr(&amp;quot;Rounded Rectangle&amp;quot;), RenderArea::RoundedRect);&lt;br /&gt;
    shapeComboBox-&amp;gt;addItem(tr(&amp;quot;Ellipse&amp;quot;), RenderArea::Ellipse);&lt;br /&gt;
    shapeComboBox-&amp;gt;addItem(tr(&amp;quot;Pie&amp;quot;), RenderArea::Pie);&lt;br /&gt;
    shapeComboBox-&amp;gt;addItem(tr(&amp;quot;Chord&amp;quot;), RenderArea::Chord);&lt;br /&gt;
    shapeComboBox-&amp;gt;addItem(tr(&amp;quot;Path&amp;quot;), RenderArea::Path);&lt;br /&gt;
    shapeComboBox-&amp;gt;addItem(tr(&amp;quot;Line&amp;quot;), RenderArea::Line);&lt;br /&gt;
    shapeComboBox-&amp;gt;addItem(tr(&amp;quot;Polyline&amp;quot;), RenderArea::Polyline);&lt;br /&gt;
    shapeComboBox-&amp;gt;addItem(tr(&amp;quot;Arc&amp;quot;), RenderArea::Arc);&lt;br /&gt;
    shapeComboBox-&amp;gt;addItem(tr(&amp;quot;Points&amp;quot;), RenderArea::Points);&lt;br /&gt;
    shapeComboBox-&amp;gt;addItem(tr(&amp;quot;Text&amp;quot;), RenderArea::Text);&lt;br /&gt;
    shapeComboBox-&amp;gt;addItem(tr(&amp;quot;Pixmap&amp;quot;), RenderArea::Pixmap);&lt;br /&gt;
    shapeLabel = new QLabel(tr(&amp;quot;&amp;amp;Shape:&amp;quot;));&lt;br /&gt;
    shapeLabel-&amp;gt;setBuddy(shapeComboBox);&lt;br /&gt;
&lt;br /&gt;
    penWidthSpinBox = new QSpinBox;&lt;br /&gt;
    penWidthSpinBox-&amp;gt;setRange(0, 20);&lt;br /&gt;
    penWidthSpinBox-&amp;gt;setSpecialValueText(tr(&amp;quot;0 (cosmetic pen)&amp;quot;));&lt;br /&gt;
    penWidthLabel = new QLabel(tr(&amp;quot;Pen &amp;amp;Width:&amp;quot;));&lt;br /&gt;
    penWidthLabel-&amp;gt;setBuddy(penWidthSpinBox);&lt;br /&gt;
&lt;br /&gt;
    penStyleComboBox = new QComboBox;&lt;br /&gt;
    penStyleComboBox-&amp;gt;addItem(tr(&amp;quot;Solid&amp;quot;), Qt::SolidLine);&lt;br /&gt;
    penStyleComboBox-&amp;gt;addItem(tr(&amp;quot;Dash&amp;quot;), Qt::DashLine);&lt;br /&gt;
    penStyleComboBox-&amp;gt;addItem(tr(&amp;quot;Dot&amp;quot;), Qt::DotLine);&lt;br /&gt;
    penStyleComboBox-&amp;gt;addItem(tr(&amp;quot;Dash Dot&amp;quot;), Qt::DashDotLine);&lt;br /&gt;
    penStyleComboBox-&amp;gt;addItem(tr(&amp;quot;Dash Dot Dot&amp;quot;), Qt::DashDotDotLine);&lt;br /&gt;
    penStyleComboBox-&amp;gt;addItem(tr(&amp;quot;None&amp;quot;), Qt::NoPen);&lt;br /&gt;
    penStyleLabel = new QLabel(tr(&amp;quot;&amp;amp;Pen Style:&amp;quot;));&lt;br /&gt;
    penStyleLabel-&amp;gt;setBuddy(penStyleComboBox);&lt;br /&gt;
    penCapComboBox = new QComboBox;&lt;br /&gt;
    penCapComboBox-&amp;gt;addItem(tr(&amp;quot;Flat&amp;quot;), Qt::FlatCap);&lt;br /&gt;
    penCapComboBox-&amp;gt;addItem(tr(&amp;quot;Square&amp;quot;), Qt::SquareCap);&lt;br /&gt;
    penCapComboBox-&amp;gt;addItem(tr(&amp;quot;Round&amp;quot;), Qt::RoundCap);&lt;br /&gt;
    penCapLabel = new QLabel(tr(&amp;quot;Pen &amp;amp;Cap:&amp;quot;));&lt;br /&gt;
    penCapLabel-&amp;gt;setBuddy(penCapComboBox);&lt;br /&gt;
    penJoinComboBox = new QComboBox;&lt;br /&gt;
    penJoinComboBox-&amp;gt;addItem(tr(&amp;quot;Miter&amp;quot;), Qt::MiterJoin);&lt;br /&gt;
    penJoinComboBox-&amp;gt;addItem(tr(&amp;quot;Bevel&amp;quot;), Qt::BevelJoin);&lt;br /&gt;
    penJoinComboBox-&amp;gt;addItem(tr(&amp;quot;Round&amp;quot;), Qt::RoundJoin);&lt;br /&gt;
    penJoinLabel = new QLabel(tr(&amp;quot;Pen &amp;amp;Join:&amp;quot;));&lt;br /&gt;
    penJoinLabel-&amp;gt;setBuddy(penJoinComboBox);&lt;br /&gt;
&lt;br /&gt;
    brushStyleComboBox = new QComboBox;&lt;br /&gt;
    brushStyleComboBox-&amp;gt;addItem(tr(&amp;quot;Linear Gradient&amp;quot;),&lt;br /&gt;
            Qt::LinearGradientPattern);&lt;br /&gt;
    brushStyleComboBox-&amp;gt;addItem(tr(&amp;quot;Radial Gradient&amp;quot;),&lt;br /&gt;
            Qt::RadialGradientPattern);&lt;br /&gt;
    brushStyleComboBox-&amp;gt;addItem(tr(&amp;quot;Conical Gradient&amp;quot;),&lt;br /&gt;
            Qt::ConicalGradientPattern);&lt;br /&gt;
    brushStyleComboBox-&amp;gt;addItem(tr(&amp;quot;Texture&amp;quot;), Qt::TexturePattern);&lt;br /&gt;
    brushStyleComboBox-&amp;gt;addItem(tr(&amp;quot;Solid&amp;quot;), Qt::SolidPattern);&lt;br /&gt;
    brushStyleComboBox-&amp;gt;addItem(tr(&amp;quot;Horizontal&amp;quot;), Qt::HorPattern);&lt;br /&gt;
    brushStyleComboBox-&amp;gt;addItem(tr(&amp;quot;Vertical&amp;quot;), Qt::VerPattern);&lt;br /&gt;
    brushStyleComboBox-&amp;gt;addItem(tr(&amp;quot;Cross&amp;quot;), Qt::CrossPattern);&lt;br /&gt;
    brushStyleComboBox-&amp;gt;addItem(tr(&amp;quot;Backward Diagonal&amp;quot;), Qt::BDiagPattern);&lt;br /&gt;
    brushStyleComboBox-&amp;gt;addItem(tr(&amp;quot;Forward Diagonal&amp;quot;), Qt::FDiagPattern);&lt;br /&gt;
    brushStyleComboBox-&amp;gt;addItem(tr(&amp;quot;Diagonal Cross&amp;quot;), Qt::DiagCrossPattern);&lt;br /&gt;
    brushStyleComboBox-&amp;gt;addItem(tr(&amp;quot;Dense 1&amp;quot;), Qt::Dense1Pattern);&lt;br /&gt;
    brushStyleComboBox-&amp;gt;addItem(tr(&amp;quot;Dense 2&amp;quot;), Qt::Dense2Pattern);&lt;br /&gt;
    brushStyleComboBox-&amp;gt;addItem(tr(&amp;quot;Dense 3&amp;quot;), Qt::Dense3Pattern);&lt;br /&gt;
    brushStyleComboBox-&amp;gt;addItem(tr(&amp;quot;Dense 4&amp;quot;), Qt::Dense4Pattern);&lt;br /&gt;
    brushStyleComboBox-&amp;gt;addItem(tr(&amp;quot;Dense 5&amp;quot;), Qt::Dense5Pattern);&lt;br /&gt;
    brushStyleComboBox-&amp;gt;addItem(tr(&amp;quot;Dense 6&amp;quot;), Qt::Dense6Pattern);&lt;br /&gt;
    brushStyleComboBox-&amp;gt;addItem(tr(&amp;quot;Dense 7&amp;quot;), Qt::Dense7Pattern);&lt;br /&gt;
    brushStyleComboBox-&amp;gt;addItem(tr(&amp;quot;None&amp;quot;), Qt::NoBrush);&lt;br /&gt;
    brushStyleLabel = new QLabel(tr(&amp;quot;&amp;amp;Brush Style:&amp;quot;));&lt;br /&gt;
    brushStyleLabel-&amp;gt;setBuddy(brushStyleComboBox);&lt;br /&gt;
&lt;br /&gt;
    otherOptionsLabel = new QLabel(tr(&amp;quot;Other Options:&amp;quot;));&lt;br /&gt;
 &lt;br /&gt;
    antialiasingCheckBox = new QCheckBox(tr(&amp;quot;&amp;amp;Antialiasing&amp;quot;));&lt;br /&gt;
 &lt;br /&gt;
    transformationsCheckBox = new QCheckBox(tr(&amp;quot;&amp;amp;Transformations&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
    connect(shapeComboBox, SIGNAL(activated(int)),&lt;br /&gt;
            this, SLOT(shapeChanged()));&lt;br /&gt;
    connect(penWidthSpinBox, SIGNAL(valueChanged(int)),&lt;br /&gt;
            this, SLOT(penChanged()));&lt;br /&gt;
    connect(penStyleComboBox, SIGNAL(activated(int)),&lt;br /&gt;
            this, SLOT(penChanged()));&lt;br /&gt;
    connect(penCapComboBox, SIGNAL(activated(int)),&lt;br /&gt;
            this, SLOT(penChanged()));&lt;br /&gt;
    connect(penJoinComboBox, SIGNAL(activated(int)),&lt;br /&gt;
            this, SLOT(penChanged()));&lt;br /&gt;
    connect(brushStyleComboBox, SIGNAL(activated(int)),&lt;br /&gt;
            this, SLOT(brushChanged()));&lt;br /&gt;
    connect(antialiasingCheckBox, SIGNAL(toggled(bool)),&lt;br /&gt;
            renderArea, SLOT(setAntialiased(bool)));&lt;br /&gt;
    connect(transformationsCheckBox, SIGNAL(toggled(bool)),&lt;br /&gt;
            renderArea, SLOT(setTransformed(bool)));&lt;br /&gt;
&lt;br /&gt;
    QGridLayout *mainLayout = new QGridLayout;&lt;br /&gt;
 &lt;br /&gt;
    mainLayout-&amp;gt;setColumnStretch(0, 1);&lt;br /&gt;
    mainLayout-&amp;gt;setColumnStretch(3, 1);&lt;br /&gt;
    mainLayout-&amp;gt;addWidget(renderArea, 0, 0, 1, 4);&lt;br /&gt;
    mainLayout-&amp;gt;setRowMinimumHeight(1, 6);&lt;br /&gt;
    mainLayout-&amp;gt;addWidget(shapeLabel, 2, 1, Qt::AlignRight);&lt;br /&gt;
    mainLayout-&amp;gt;addWidget(shapeComboBox, 2, 2);&lt;br /&gt;
    mainLayout-&amp;gt;addWidget(penWidthLabel, 3, 1, Qt::AlignRight);&lt;br /&gt;
    mainLayout-&amp;gt;addWidget(penWidthSpinBox, 3, 2);&lt;br /&gt;
    mainLayout-&amp;gt;addWidget(penStyleLabel, 4, 1, Qt::AlignRight);&lt;br /&gt;
    mainLayout-&amp;gt;addWidget(penStyleComboBox, 4, 2);&lt;br /&gt;
    mainLayout-&amp;gt;addWidget(penCapLabel, 5, 1, Qt::AlignRight);&lt;br /&gt;
    mainLayout-&amp;gt;addWidget(penCapComboBox, 5, 2);&lt;br /&gt;
    mainLayout-&amp;gt;addWidget(penJoinLabel, 6, 1, Qt::AlignRight);&lt;br /&gt;
    mainLayout-&amp;gt;addWidget(penJoinComboBox, 6, 2);&lt;br /&gt;
    mainLayout-&amp;gt;addWidget(brushStyleLabel, 7, 1, Qt::AlignRight);&lt;br /&gt;
    mainLayout-&amp;gt;addWidget(brushStyleComboBox, 7, 2);&lt;br /&gt;
    mainLayout-&amp;gt;setRowMinimumHeight(8, 6);&lt;br /&gt;
    mainLayout-&amp;gt;addWidget(otherOptionsLabel, 9, 1, Qt::AlignRight);&lt;br /&gt;
    mainLayout-&amp;gt;addWidget(antialiasingCheckBox, 9, 2);&lt;br /&gt;
    mainLayout-&amp;gt;addWidget(transformationsCheckBox, 10, 2);&lt;br /&gt;
    setLayout(mainLayout);&lt;br /&gt;
    shapeChanged();&lt;br /&gt;
    penChanged();&lt;br /&gt;
    brushChanged();&lt;br /&gt;
    antialiasingCheckBox-&amp;gt;setChecked(true);&lt;br /&gt;
    setWindowTitle(tr(&amp;quot;Basic Drawing&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void Window::shapeChanged()&lt;br /&gt;
{&lt;br /&gt;
    RenderArea::Shape shape = RenderArea::Shape(shapeComboBox-&amp;gt;itemData(&lt;br /&gt;
            shapeComboBox-&amp;gt;currentIndex(), IdRole).toInt());&lt;br /&gt;
    renderArea-&amp;gt;setShape(shape);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void Window::penChanged()&lt;br /&gt;
{&lt;br /&gt;
    int width = penWidthSpinBox-&amp;gt;value();&lt;br /&gt;
    Qt::PenStyle style = Qt::PenStyle(penStyleComboBox-&amp;gt;itemData(&lt;br /&gt;
            penStyleComboBox-&amp;gt;currentIndex(), IdRole).toInt());&lt;br /&gt;
    Qt::PenCapStyle cap = Qt::PenCapStyle(penCapComboBox-&amp;gt;itemData(&lt;br /&gt;
            penCapComboBox-&amp;gt;currentIndex(), IdRole).toInt());&lt;br /&gt;
    Qt::PenJoinStyle join = Qt::PenJoinStyle(penJoinComboBox-&amp;gt;itemData(&lt;br /&gt;
            penJoinComboBox-&amp;gt;currentIndex(), IdRole).toInt());&lt;br /&gt;
    renderArea-&amp;gt;setPen(QPen(Qt::blue, width, style, cap, join));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void Window::brushChanged()&lt;br /&gt;
{&lt;br /&gt;
    Qt::BrushStyle style = Qt::BrushStyle(brushStyleComboBox-&amp;gt;itemData(&lt;br /&gt;
            brushStyleComboBox-&amp;gt;currentIndex(), IdRole).toInt());&lt;br /&gt;
&lt;br /&gt;
    if (style == Qt::LinearGradientPattern) {&lt;br /&gt;
        QLinearGradient linearGradient(0, 0, 100, 100);&lt;br /&gt;
        linearGradient.setColorAt(0.0, Qt::white);&lt;br /&gt;
        linearGradient.setColorAt(0.2, Qt::green);&lt;br /&gt;
        linearGradient.setColorAt(1.0, Qt::black);&lt;br /&gt;
        renderArea-&amp;gt;setBrush(linearGradient);&lt;br /&gt;
 &lt;br /&gt;
    } else if (style == Qt::RadialGradientPattern) {&lt;br /&gt;
        QRadialGradient radialGradient(50, 50, 50, 70, 70);&lt;br /&gt;
        radialGradient.setColorAt(0.0, Qt::white);&lt;br /&gt;
        radialGradient.setColorAt(0.2, Qt::green);&lt;br /&gt;
        radialGradient.setColorAt(1.0, Qt::black);&lt;br /&gt;
        renderArea-&amp;gt;setBrush(radialGradient);&lt;br /&gt;
    } else if (style == Qt::ConicalGradientPattern) {&lt;br /&gt;
        QConicalGradient conicalGradient(50, 50, 150);&lt;br /&gt;
        conicalGradient.setColorAt(0.0, Qt::white);&lt;br /&gt;
        conicalGradient.setColorAt(0.2, Qt::green);&lt;br /&gt;
        conicalGradient.setColorAt(1.0, Qt::black);&lt;br /&gt;
        renderArea-&amp;gt;setBrush(conicalGradient);&lt;br /&gt;
 &lt;br /&gt;
    } else if (style == Qt::TexturePattern) {&lt;br /&gt;
        renderArea-&amp;gt;setBrush(QBrush(QPixmap(&amp;quot;:/images/brick.png&amp;quot;)));&lt;br /&gt;
 &lt;br /&gt;
    } else {&lt;br /&gt;
        renderArea-&amp;gt;setBrush(QBrush(Qt::green, style));&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;QApplication&amp;gt;&lt;br /&gt;
#include &amp;quot;window.h&amp;quot;&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
    Q_INIT_RESOURCE(basicdrawing);&lt;br /&gt;
    QApplication app(argc, argv);&lt;br /&gt;
    Window window;&lt;br /&gt;
    window.show();&lt;br /&gt;
    return app.exec();&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Create brush==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
/****************************************************************************&lt;br /&gt;
**&lt;br /&gt;
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;br /&gt;
** All rights reserved.&lt;br /&gt;
** Contact: Nokia Corporation (qt-info@nokia.com)&lt;br /&gt;
**&lt;br /&gt;
** This file is part of the documentation of the Qt Toolkit.&lt;br /&gt;
**&lt;br /&gt;
** $QT_BEGIN_LICENSE:LGPL$&lt;br /&gt;
** Commercial Usage&lt;br /&gt;
** Licensees holding valid Qt Commercial licenses may use this file in&lt;br /&gt;
** accordance with the Qt Commercial License Agreement provided with the&lt;br /&gt;
** Software or, alternatively, in accordance with the terms contained in&lt;br /&gt;
** a written agreement between you and Nokia.&lt;br /&gt;
**&lt;br /&gt;
** GNU Lesser General Public License Usage&lt;br /&gt;
** Alternatively, this file may be used under the terms of the GNU Lesser&lt;br /&gt;
** General Public License version 2.1 as published by the Free Software&lt;br /&gt;
** Foundation and appearing in the file LICENSE.LGPL included in the&lt;br /&gt;
** packaging of this file.  Please review the following information to&lt;br /&gt;
** ensure the GNU Lesser General Public License version 2.1 requirements&lt;br /&gt;
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.&lt;br /&gt;
**&lt;br /&gt;
** In addition, as a special exception, Nokia gives you certain additional&lt;br /&gt;
** rights.  These rights are described in the Nokia Qt LGPL Exception&lt;br /&gt;
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.&lt;br /&gt;
**&lt;br /&gt;
** GNU General Public License Usage&lt;br /&gt;
** Alternatively, this file may be used under the terms of the GNU&lt;br /&gt;
** General Public License version 3.0 as published by the Free Software&lt;br /&gt;
** Foundation and appearing in the file LICENSE.GPL included in the&lt;br /&gt;
** packaging of this file.  Please review the following information to&lt;br /&gt;
** ensure the GNU General Public License version 3.0 requirements will be&lt;br /&gt;
** met: http://www.gnu.org/copyleft/gpl.html.&lt;br /&gt;
**&lt;br /&gt;
** If you have questions regarding the use of this file, please contact&lt;br /&gt;
** Nokia at qt-info@nokia.com.&lt;br /&gt;
** $QT_END_LICENSE$&lt;br /&gt;
**&lt;br /&gt;
****************************************************************************/&lt;br /&gt;
#include &amp;lt;QtGui&amp;gt;&lt;br /&gt;
int main(int argv, char **args)&lt;br /&gt;
{&lt;br /&gt;
    QApplication app(argv, args);&lt;br /&gt;
    QRadialGradient gradient(50, 50, 50, 50, 50);&lt;br /&gt;
    gradient.setColorAt(0, QColor::fromRgbF(0, 1, 0, 1));&lt;br /&gt;
    gradient.setColorAt(1, QColor::fromRgbF(0, 0, 0, 0));&lt;br /&gt;
    QBrush brush(gradient);&lt;br /&gt;
    QWidget widget;&lt;br /&gt;
    QPalette palette;&lt;br /&gt;
    palette.setBrush(widget.backgroundRole(), brush);&lt;br /&gt;
    widget.setPalette(palette);&lt;br /&gt;
    widget.show();&lt;br /&gt;
    return app.exec();&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paint with QBrush==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
        &lt;br /&gt;
#include &amp;lt;QtGui&amp;gt;&lt;br /&gt;
int main(int argv, char **args)&lt;br /&gt;
{&lt;br /&gt;
    QApplication app(argv, args);&lt;br /&gt;
    QLinearGradient linearGrad(QPointF(100, 100), QPointF(200, 200));&lt;br /&gt;
    linearGrad.setColorAt(0, Qt::black);&lt;br /&gt;
    linearGrad.setColorAt(1, Qt::white);&lt;br /&gt;
    QBrush brush(linearGrad);&lt;br /&gt;
        QPainter painter;&lt;br /&gt;
        QPen pen(Qt::red, 2);                 // red solid line, 2 pixels wide&lt;br /&gt;
        painter.setPen(pen);              // set the red, wide pen&lt;br /&gt;
        painter.drawRect(40,30, 200,100); // draw a rectangle&lt;br /&gt;
        painter.setPen(Qt::blue);             // set blue pen, 0 pixel width&lt;br /&gt;
        painter.drawLine(40,30, 240,130); // draw a diagonal in rectangle&lt;br /&gt;
        painter.end();                    // painting done&lt;br /&gt;
    QWidget widget;&lt;br /&gt;
    QPalette palette;&lt;br /&gt;
    palette.setBrush(widget.backgroundRole(), brush);&lt;br /&gt;
    widget.setPalette(palette);&lt;br /&gt;
    widget.show();&lt;br /&gt;
    return app.exec();&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Set push button checkable to true==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;QtGui&amp;gt;&lt;br /&gt;
int main(int argc, char* argv[])&lt;br /&gt;
{&lt;br /&gt;
  QApplication app(argc, argv);&lt;br /&gt;
  QDialog dlg;&lt;br /&gt;
  QPushButton *btn = new QPushButton(QObject::tr(&amp;quot;Expand/Collapse&amp;quot;),&amp;amp;dlg);&lt;br /&gt;
  btn-&amp;gt;setCheckable(true);&lt;br /&gt;
  QVBoxLayout *lay = new QVBoxLayout(&amp;amp;dlg);&lt;br /&gt;
  lay-&amp;gt;addWidget(btn);&lt;br /&gt;
  QLabel *ext = new QLabel(QObject::tr(&amp;quot;Extension&amp;quot;));&lt;br /&gt;
  dlg.setExtension(ext);&lt;br /&gt;
  QObject::connect(btn, SIGNAL(toggled(bool)),&amp;amp;dlg, SLOT(showExtension(bool)));&lt;br /&gt;
  dlg.exec();&lt;br /&gt;
  return app.exec();&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using Pen and Brush to draw==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;QtGui&amp;gt;&lt;br /&gt;
int main(int argc, char* argv[])&lt;br /&gt;
{&lt;br /&gt;
  QApplication app(argc, argv);&lt;br /&gt;
  QRect r(0,0, 100, 100);&lt;br /&gt;
  QPixmap pm(r.size());&lt;br /&gt;
  pm.fill();&lt;br /&gt;
  QPainter p(&amp;amp;pm);&lt;br /&gt;
  p.setRenderHint(QPainter::Antialiasing, true);&lt;br /&gt;
  QPen pen(Qt::red, 2);&lt;br /&gt;
  p.setPen(pen);&lt;br /&gt;
  QBrush brush(Qt::blue);&lt;br /&gt;
  p.setBrush(brush);&lt;br /&gt;
  QRect ri = r.adjusted(10,10,-10,-10)&lt;br /&gt;
  p.drawEllipse(ri);&lt;br /&gt;
  QLabel l;&lt;br /&gt;
  l.setPixmap(pm);&lt;br /&gt;
  l.show();&lt;br /&gt;
  return app.exec();&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>