📄 qvariant.h
字号:
/******************************************************************************** Copyright (C) 1992-2007 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://trolltech.com/products/qt/licenses/licensing/opensource/**** If you are unsure which license is appropriate for your use, please** review the following information:** http://trolltech.com/products/qt/licenses/licensing/licensingoverview** or contact the sales department at sales@trolltech.com.**** In addition, as a special exception, Trolltech gives you certain** additional rights. These rights are described in the Trolltech GPL** Exception version 1.0, which can be found at** http://www.trolltech.com/products/qt/gplexception/ and in the file** GPL_EXCEPTION.txt in this package.**** In addition, as a special exception, Trolltech, as the sole copyright** holder for Qt Designer, grants users of the Qt/Eclipse Integration** plug-in the right for the Qt/Eclipse Integration to link to** functionality provided by Qt Designer and its related libraries.**** Trolltech reserves all rights not expressly granted herein.**** 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 QTransform;class QStringList;class QTime;class QPoint;class QPointF;class QSize;class QSizeF;class QRect;class QRectF;#ifndef QT_NO_REGEXPclass QRegExp;#endifclass 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, Transform = 81, LastGuiType = Transform, 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);#ifndef QT_NO_REGEXP QVariant(const QRegExp ®Exp);#endif 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;#ifndef QT_NO_REGEXP QRegExp toRegExp() const;#endif#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)); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -