Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Classes principales  ·  Annotées  ·  Classes groupées  ·  Modules  ·  Fonctions  · 

displayshape.h Example File
tools/qtdemo/displayshape.h

    /****************************************************************************
    **
    ** Copyright (C) 2005-2005 Trolltech AS. All rights reserved.
    **
    ** This file is part of the documentation of the Qt Toolkit.
    **
    ** This file may be used under the terms of the GNU General Public
** License version 2.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of
** this file.  Please review the following information to ensure GNU
** General Public Licensing requirements will be met:
** http://www.trolltech.com/products/qt/opensource.html
**
** If you are unsure which license is appropriate for your use, please
** review the following information:
** http://www.trolltech.com/products/qt/licensing.html or contact the
** sales department at sales@trolltech.com.
    **
    ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
    ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
    **
    ****************************************************************************/

    #ifndef DISPLAYSHAPE_H
    #define DISPLAYSHAPE_H

    #include <QBrush>
    #include <QFont>
    #include <QHash>
    #include <QPainterPath>
    #include <QPen>
    #include <QPointF>
    #include <QSizeF>
    #include <QWidget>

    class DisplayShape
    {
    public:
        DisplayShape(const QPointF &position, const QSizeF &maxSize);
        virtual ~DisplayShape() {};

        virtual bool animate();
        virtual bool contains(const QString &key) const;
        virtual bool isInteractive() const;
        virtual QVariant metaData(const QString &key) const;
        virtual void paint(QPainter *painter) const;
        virtual QPointF position() const;
        virtual QPointF target() const;
        virtual QRectF rect() const;
        virtual QSizeF size() const;
        virtual void removeMetaData(const QString &key);
        virtual void setInteractive(bool enable);
        virtual void setMetaData(const QString &key, const QVariant &value);
        virtual void setPosition(const QPointF &point);
        virtual void setTarget(const QPointF &point);

    protected:
        QHash<QString,QVariant> meta;
        QImage image;
        QPointF pos;
        QPointF targetPos;
        QSizeF maxSize;
        bool interactive;
    };

    class PanelShape : public DisplayShape
    {
    public:
        PanelShape(const QPainterPath &path, const QBrush &normal,
                  const QBrush &highlighted, const QPen &pen,
                  const QPointF &position, const QSizeF &maxSize);

        bool animate();
        void paint(QPainter *painter) const;
        QRectF rect() const;

    private:
        QBrush brush;
        QBrush highlightedBrush;
        QBrush normalBrush;
        QPainterPath path;
        QPen pen;
    };

    class TitleShape : public DisplayShape
    {
    public:
        TitleShape(const QString &text, const QFont &font, const QPen &pen,
                   const QPointF &position, const QSizeF &maxSize,
                   Qt::Alignment alignment = Qt::AlignVCenter | Qt::AlignLeft);

        bool animate();
        void paint(QPainter *painter) const;
        QRectF rect() const;

    private:
        QFont font;
        QString text;
        QPen pen;
        QRectF textRect;
        Qt::Alignment alignment;
    };

    class ImageShape : public DisplayShape
    {
    public:
        ImageShape(const QImage &original, const QPointF &position,
                   const QSizeF &maxSize, int alpha = 0,
                   Qt::Alignment alignment = Qt::AlignCenter);

        bool animate();
        void paint(QPainter *painter) const;
        QRectF rect() const;

    private:
        void redraw();

        int alpha;
        QImage source;
        QPointF offset;
        Qt::Alignment alignment;
        qreal scale;
    };

    class DocumentShape : public DisplayShape
    {
    public:
        DocumentShape(const QString &text, const QFont &font, const QPen &pen,
                      const QPointF &position, const QSizeF &maxSize);
        ~DocumentShape();

        bool animate();
        void paint(QPainter *painter) const;
        QRectF rect() const;

    private:
        qreal formatText();

        QFont font;
        QStringList paragraphs;
        QList<QTextLayout*> layouts;
        QPen pen;
    };

    #endif

Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 4.0
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
 
 
 
 
Partenaires

Hébergement Web