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

📄 qabstractlayout.h

📁 著名的A780系列,E680系列的SDK开发包
💻 H
字号:
/****************************************************************************** $Id: qt/src/kernel/qabstractlayout.h   2.3.6   edited 2001-01-26 $**** Definition of the abstract layout base class**** Created : 960416**** Copyright (C) 1992-2000 Trolltech AS.  All rights reserved.**** This file is part of the kernel module of the Qt GUI Toolkit.**** This file may be distributed under the terms of the Q Public License** as defined by Trolltech AS of Norway and appearing in the file** LICENSE.QPL included in the packaging of this file.**** This file may be distributed and/or modified under the terms of the** GNU General Public License version 2 as published by the Free Software** Foundation and appearing in the file LICENSE.GPL included in the** packaging of this file.**** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition** licenses may use this file in accordance with the Qt Commercial License** Agreement provided with the Software.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.**** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for**   information about Qt Commercial License Agreements.** See http://www.trolltech.com/qpl/ for QPL licensing information.** See http://www.trolltech.com/gpl/ for GPL licensing information.**** Contact info@trolltech.com if any conditions of this licensing are** not clear to you.************************************************************************/#ifndef QABSTRACTLAYOUT_H#define QABSTRACTLAYOUT_H#ifndef QT_H#include "qobject.h"#include "qsizepolicy.h"#include "qwidget.h"#endif // QT_H#ifndef QT_NO_LAYOUTclass QMenuBar;class QWidget;struct QLayoutData;class QLayoutItem;class QLayout;class QSpacerItem;class QDomElement;class QConfigureLayoutEvent;class Q_EXPORT QGLayoutIterator : public QShared{public:    virtual ~QGLayoutIterator();    virtual QLayoutItem *next() = 0;    virtual QLayoutItem *current() = 0;    virtual QLayoutItem *takeCurrent() = 0;};class Q_EXPORT QLayoutIterator{public:    QLayoutIterator( QGLayoutIterator *i ) :it(i) {}    QLayoutIterator( const QLayoutIterator &i ) :it( i.it )    { if ( it ) it->ref(); }    ~QLayoutIterator() { if ( it && it->deref() ) delete it; }    QLayoutIterator &operator=( const QLayoutIterator &i )    {	if ( i.it ) i.it->ref();	if ( it && it->deref() ) delete it;	it = i.it;	return *this;    }    QLayoutItem *operator++() { return it ? it->next() : 0; }    QLayoutItem *current() { return it ? it->current() : 0; }    QLayoutItem *takeCurrent() { return it ? it->takeCurrent() : 0; }    void deleteCurrent();private:    QGLayoutIterator *it;};class Q_EXPORT QLayoutItem{public:    QLayoutItem( int alignment = 0 ) :align(alignment) {}    virtual ~QLayoutItem();    virtual QSize sizeHint() const = 0;    virtual QSize minimumSize() const = 0;    virtual QSize maximumSize() const = 0;    virtual QSizePolicy::ExpandData expanding() const =0;    virtual void setGeometry( const QRect& ) = 0;    virtual QRect geometry() const = 0;    virtual bool isEmpty() const = 0;    virtual bool hasHeightForWidth() const;    virtual int heightForWidth( int ) const;    virtual void invalidate();    virtual QWidget *widget();    virtual QLayoutIterator iterator();    virtual QLayout *layout();    virtual QSpacerItem *spacerItem();    int alignment() const { return align; }    virtual void setAlignment( int a );protected:    int align;};class Q_EXPORT QSpacerItem : public QLayoutItem{ public:    QSpacerItem( int w, int h,		 QSizePolicy::SizeType hData=QSizePolicy::Minimum,		 QSizePolicy::SizeType vData= QSizePolicy::Minimum )	:width(w), height(h), sizeP(hData, vData )	{}    void changeSize( int w, int h,		QSizePolicy::SizeType hData=QSizePolicy::Minimum,		QSizePolicy::SizeType vData=QSizePolicy::Minimum );    QSize sizeHint() const ;    QSize minimumSize() const ;    QSize maximumSize() const ;    QSizePolicy::ExpandData expanding() const;    bool isEmpty() const;    void setGeometry( const QRect& );    QRect geometry() const;    QSpacerItem *spacerItem();private:    int width, height;    QSizePolicy sizeP;    QRect rect;};class Q_EXPORT QWidgetItem : public QLayoutItem{public:    QWidgetItem( QWidget *w ) : wid(w) {}    QSize sizeHint() const ;    QSize minimumSize() const ;    QSize maximumSize() const ;    QSizePolicy::ExpandData expanding() const;    bool isEmpty() const;    void setGeometry( const QRect& ) ;    QRect geometry() const;    //void invalidate();    virtual QWidget *widget();    bool hasHeightForWidth() const;    int heightForWidth( int ) const;    const QSize &widgetSizeHint() const;private:    //QSize cachedSizeHint;    QWidget *wid;};class Q_EXPORT QLayout : public QObject, public QLayoutItem{    Q_OBJECT    Q_ENUMS( ResizeMode )    Q_PROPERTY( int margin READ margin WRITE setMargin )    Q_PROPERTY( int spacing READ spacing WRITE setSpacing )    Q_PROPERTY( ResizeMode resizeMode READ resizeMode WRITE setResizeMode )public:    QLayout( QWidget *parent, int margin=0, int space=-1,	     const char *name=0 );    QLayout( QLayout *parentLayout, int space=-1, const char *name=0 );    QLayout( int space=-1, const char *name=0 );    ~QLayout();    int margin() const { return outsideBorder; }    int spacing() const { return insideSpacing; }    virtual void setMargin( int );    virtual void setSpacing( int );    enum { unlimited = QWIDGETSIZE_MAX };#if 1 //OBSOLETE    int defaultBorder() const { return insideSpacing; }    void freeze( int w, int h );    void freeze() { setResizeMode( Fixed ); }#endif    enum ResizeMode { FreeResize, Minimum, Fixed };    void setResizeMode( ResizeMode );    ResizeMode resizeMode() const;#ifndef QT_NO_MENUBAR    virtual void  setMenuBar( QMenuBar *w );    QMenuBar *menuBar() const { return menubar; }#endif    QWidget *mainWidget();    bool isTopLevel() const { return topLevel; }    virtual void setAutoAdd( bool );    bool autoAdd() const { return autoNewChild; }    void invalidate();    QRect geometry() const;    bool activate();    void add( QWidget *w ) { addItem( new QWidgetItem( w ) ); }    virtual void addItem ( QLayoutItem * ) = 0;    QSizePolicy::ExpandData expanding() const;    QSize minimumSize() const;    QSize maximumSize() const;    void setGeometry( const QRect& )=0;    QLayoutIterator iterator()=0;    bool isEmpty() const;    int totalHeightForWidth( int w ) const;    QSize totalMinimumSize() const;    QSize totalMaximumSize() const;    QSize totalSizeHint() const;    QLayout *layout();    bool supportsMargin() const { return marginImpl; }        void setEnabled( bool );    bool isEnabled() const;protected:    bool  eventFilter( QObject *, QEvent * );    void addChildLayout( QLayout *l );    void deleteAllItems();    void setSupportsMargin( bool );    QRect alignmentRect( const QRect& ) const;private:    void setWidgetLayout( QWidget *, QLayout * );    void init();    int insideSpacing;    int outsideBorder;    uint topLevel : 1;    uint autoMinimum : 1;    uint autoNewChild : 1;    uint frozen : 1;    uint activated : 1;    uint marginImpl : 1;    uint enabled : 1;    QRect rect;    QLayoutData *extraData;#ifndef QT_NO_MENUBAR    QMenuBar *menubar;#endifprivate:	// Disabled copy constructor and operator=#if defined(Q_DISABLE_COPY)    QLayout( const QLayout & );    QLayout &operator=( const QLayout & );#endif};inline void QLayoutIterator::deleteCurrent(){    delete takeCurrent();}#endif //QT_NO_LAYOUT#endif

⌨️ 快捷键说明

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