diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2011-04-14 05:36:56 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2011-04-14 05:36:56 (GMT) |
commit | d58cbb0ae009d7ff295d44b8e48352ff802b2e35 (patch) | |
tree | 5d8d8e5ea0cd1c9dffc6abd3e6e40058536236c8 /doc/src/snippets/code/doc_src_graphicsview.cpp | |
parent | a5d5971586d0a12e55374dae30e17454bca12600 (diff) | |
parent | cc3bcc003048760a501debe49b6fcebffaac3cef (diff) | |
download | Qt-d58cbb0ae009d7ff295d44b8e48352ff802b2e35.zip Qt-d58cbb0ae009d7ff295d44b8e48352ff802b2e35.tar.gz Qt-d58cbb0ae009d7ff295d44b8e48352ff802b2e35.tar.bz2 |
Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qt-qml-team
* 'master' of git://scm.dev.nokia.troll.no/qt/qt-qml-team: (485 commits)
Remove a race condition in SIGCHLD handler.
Fix warnings about && inside ||
Update XCreateWindow in qgl_X11egl.cpp
Allow enum values to be used as signal parameters
ListModel::clear() should not clear roles
Lancelot: support for custom keys added to protocol. API cleanup.
Make sure removed QTextBlock is invalid
Cocoa: Fixup wrong code in patch baaa5ae
Designer: Allow promoted QWidget's to be buddies.
Designer: Specify 'notr' attribute for buttongroup name.
[QTBUG-15278] QWidget::windowState gets out of sync (Aero Snap)
HTTP cacheing: do not store the date header with the resource
Let's not write to the source buffer when blending argb32 on rgb16.
Add support for -unset <prop> option to qmake.
make -markuntranslated work without -idbased
fix conditional on shell type
Updated QtOpenGL DEF file
Lancelot: bail out if rendering consistently fails
Minor optimization to lance/elot
Make it possible to test the new font hinting in lance[elot]
...
Diffstat (limited to 'doc/src/snippets/code/doc_src_graphicsview.cpp')
-rw-r--r-- | doc/src/snippets/code/doc_src_graphicsview.cpp | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/doc/src/snippets/code/doc_src_graphicsview.cpp b/doc/src/snippets/code/doc_src_graphicsview.cpp new file mode 100644 index 0000000..00ebab3 --- /dev/null +++ b/doc/src/snippets/code/doc_src_graphicsview.cpp @@ -0,0 +1,117 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** $QT_END_LICENSE$ +** +****************************************************************************/ + +//! [0] +QGraphicsScene scene; +QGraphicsRectItem *rect = scene.addRect(QRectF(0, 0, 100, 100)); + +QGraphicsItem *item = scene.itemAt(50, 50); +// item == rect +//! [0] + + +//! [1] +QGraphicsScene scene; +myPopulateScene(&scene); + +QGraphicsView view(&scene); +view.show(); +//! [1] + + +//! [2] +class View : public QGraphicsView +{ +Q_OBJECT + ... +public slots: + void zoomIn() { scale(1.2, 1.2); } + void zoomOut() { scale(1 / 1.2, 1 / 1.2); } + void rotateLeft() { rotate(-10); } + void rotateRight() { rotate(10); } + ... +}; +//! [2] + + +//! [3] +QGraphicsScene scene; +scene.addRect(QRectF(0, 0, 100, 200), QPen(Qt::black), QBrush(Qt::green)); + +QPrinter printer; +if (QPrintDialog(&printer).exec() == QDialog::Accepted) { + QPainter painter(&printer); + painter.setRenderHint(QPainter::Antialiasing); + scene.render(&painter); +} +//! [3] + + +//! [4] +QGraphicsScene scene; +scene.addRect(QRectF(0, 0, 100, 200), QPen(Qt::black), QBrush(Qt::green)); + +QPixmap pixmap; +QPainter painter(&pixmap); +painter.setRenderHint(QPainter::Antialiasing); +scene.render(&painter); +painter.end(); + +pixmap.save("scene.png"); +//! [4] + + +//! [5] +void CustomItem::mousePressEvent(QGraphicsSceneMouseEvent *event) +{ + QMimeData *data = new QMimeData; + data->setColor(Qt::green); + + QDrag *drag = new QDrag(event->widget()); + drag->setMimeData(data); + drag->start(); +} +//! [5] + + +//! [6] +QGraphicsView view(&scene); +view.setViewport(new QGLWidget(QGLFormat(QGL::SampleBuffers))); +//! [6] |