?? qvariant.h
字號:
/******************************************************************************** Copyright (C) 1992-2006 Trolltech ASA. All rights reserved.**** This file is part of the QtCore module 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 QVARIANT_H#define QVARIANT_H#include <QtCore/qatomic.h>#include <QtCore/qbytearray.h>#include <QtCore/qlist.h>#include <QtCore/qmetatype.h>#include <QtCore/qmap.h>#include <QtCore/qstring.h>QT_BEGIN_HEADERQT_MODULE(Core)class QBitArray;class QDataStream;class QDate;class QDateTime;class QLine;class QLineF;class QLocale;class QMatrix;class QStringList;class QTime;class QPoint;class QPointF;class QSize;class QSizeF;class QRect;class QRectF;class QRegExp;class QTextFormat;class QTextLength;class QUrl;class QVariant;class QVariantComparisonHelper;#ifndef QT_NO_MEMBER_TEMPLATEStemplate <typename T>inline QVariant qVariantFromValue(const T &);template <typename T>inline void qVariantSetValue(QVariant &, const T &);template<typename T>inline T qVariantValue(const QVariant &);template<typename T>inline bool qVariantCanConvert(const QVariant &);#endifclass Q_CORE_EXPORT QVariant{ public: enum Type { Invalid = 0, Bool = 1, Int = 2, UInt = 3, LongLong = 4, ULongLong = 5, Double = 6, Char = 7, Map = 8, List = 9, String = 10, StringList = 11, ByteArray = 12, BitArray = 13, Date = 14, Time = 15, DateTime = 16, Url = 17, Locale = 18, Rect = 19, RectF = 20, Size = 21, SizeF = 22, Line = 23, LineF = 24, Point = 25, PointF = 26, RegExp = 27, LastCoreType = RegExp, // value 62 is internally reserved#ifdef QT3_SUPPORT ColorGroup = 63,#endif Font = 64, Pixmap = 65, Brush = 66, Color = 67, Palette = 68, Icon = 69, Image = 70, Polygon = 71, Region = 72, Bitmap = 73, Cursor = 74, SizePolicy = 75, KeySequence = 76, Pen = 77, TextLength = 78, TextFormat = 79, Matrix = 80, LastGuiType = Matrix, UserType = 127,#ifdef QT3_SUPPORT IconSet = Icon, CString = ByteArray, PointArray = Polygon,#endif LastType = 0xffffffff // need this so that gcc >= 3.4 allocates 32 bits for Type }; inline QVariant(); ~QVariant(); QVariant(Type type); QVariant(int typeOrUserType, const void *copy); QVariant(const QVariant &other);#ifndef QT_NO_DATASTREAM QVariant(QDataStream &s);#endif QVariant(int i); QVariant(uint ui); QVariant(qlonglong ll); QVariant(qulonglong ull); QVariant(bool b); QVariant(double d);#ifndef QT_NO_CAST_FROM_ASCII QT_ASCII_CAST_WARN_CONSTRUCTOR QVariant(const char *str);#endif QVariant(const QByteArray &bytearray); QVariant(const QBitArray &bitarray); QVariant(const QString &string); QVariant(const QLatin1String &string); QVariant(const QStringList &stringlist); QVariant(const QChar &qchar); QVariant(const QDate &date); QVariant(const QTime &time); QVariant(const QDateTime &datetime); QVariant(const QList<QVariant> &list); QVariant(const QMap<QString,QVariant> &map);#ifndef QT_NO_GEOM_VARIANT QVariant(const QSize &size); QVariant(const QSizeF &size); QVariant(const QPoint &pt); QVariant(const QPointF &pt); QVariant(const QLine &line); QVariant(const QLineF &line); QVariant(const QRect &rect); QVariant(const QRectF &rect);#endif QVariant(const QUrl &url); QVariant(const QLocale &locale); QVariant(const QRegExp ®Exp); QVariant(Qt::GlobalColor color); QVariant& operator=(const QVariant &other); Type type() const; int userType() const; const char *typeName() const; bool canConvert(Type t) const; bool convert(Type t);#ifdef QT3_SUPPORT inline QT3_SUPPORT bool canCast(Type t) const { return canConvert(t); } inline QT3_SUPPORT bool cast(Type t) { return convert(t); }#endif inline bool isValid() const; bool isNull() const; void clear(); void detach(); inline bool isDetached() const; int toInt(bool *ok = 0) const; uint toUInt(bool *ok = 0) const; qlonglong toLongLong(bool *ok = 0) const; qulonglong toULongLong(bool *ok = 0) const; bool toBool() const; double toDouble(bool *ok = 0) const; QByteArray toByteArray() const; QBitArray toBitArray() const; QString toString() const; QStringList toStringList() const; QChar toChar() const; QDate toDate() const; QTime toTime() const; QDateTime toDateTime() const; QList<QVariant> toList() const; QMap<QString, QVariant> toMap() const;#ifndef QT_NO_GEOM_VARIANT QPoint toPoint() const; QPointF toPointF() const; QRect toRect() const; QSize toSize() const; QSizeF toSizeF() const; QLine toLine() const; QLineF toLineF() const; QRectF toRectF() const;#endif QUrl toUrl() const; QLocale toLocale() const; QRegExp toRegExp() const;#ifdef QT3_SUPPORT inline QT3_SUPPORT int &asInt(); inline QT3_SUPPORT uint &asUInt(); inline QT3_SUPPORT qlonglong &asLongLong(); inline QT3_SUPPORT qulonglong &asULongLong(); inline QT3_SUPPORT bool &asBool(); inline QT3_SUPPORT double &asDouble(); inline QT3_SUPPORT QByteArray &asByteArray(); inline QT3_SUPPORT QBitArray &asBitArray(); inline QT3_SUPPORT QString &asString(); inline QT3_SUPPORT QStringList &asStringList(); inline QT3_SUPPORT QDate &asDate(); inline QT3_SUPPORT QTime &asTime(); inline QT3_SUPPORT QDateTime &asDateTime(); inline QT3_SUPPORT QList<QVariant> &asList(); inline QT3_SUPPORT QMap<QString,QVariant> &asMap(); inline QT3_SUPPORT QPoint &asPoint(); inline QT3_SUPPORT QRect &asRect(); inline QT3_SUPPORT QSize &asSize();#endif //QT3_SUPPORT#ifndef QT_NO_DATASTREAM void load(QDataStream &ds); void save(QDataStream &ds) const;#endif static const char *typeToName(Type type); static Type nameToType(const char *name);#ifdef QT3_SUPPORT inline QT3_SUPPORT_CONSTRUCTOR QVariant(bool val, int) { create(Bool, &val); } inline QT3_SUPPORT const QByteArray toCString() const { return toByteArray(); } inline QT3_SUPPORT QByteArray &asCString() { return *reinterpret_cast<QByteArray *>(castOrDetach(ByteArray)); }#endif void *data(); const void *constData() const; inline const void *data() const { return constData(); }#ifndef QT_NO_MEMBER_TEMPLATES template<typename T> inline void setValue(const T &value); template<typename T>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -