<?xml version="1.0"?>
<doc>
    <assembly>
        <name>qyoto-qtcore</name>
    </assembly>
    <members>
        <member name="T:QtCore.QAbstractItemModel">
            <summary>
            The QAbstractItemModel class provides the abstract interface for item model classes.
            </summary>
            <remarks>
            <para></para>
            <para>The QAbstractItemModel class defines the standard interface that item models must use to be able to interoperate with other components in the model/view architecture. It is not supposed to be instantiated directly. Instead, you should subclass it to create new models.</para>
            <para>The QAbstractItemModel class is one of the Model/View Classes and is part of Qt's model/view framework.</para>
            <para>If you need a model to use with a QListView or a QTableView, you should consider subclassing QAbstractListModel or QAbstractTableModel instead of this class.</para>
            <para>The underlying data model is exposed to views and delegates as a hierarchy of tables. If you do not make use of the hierarchy, then the model is a simple table of rows and columns. Each item has a unique index specified by a QModelIndex.</para>
            <para>Every item of data that can be accessed via a model has an associated model index. You can obtain this model index using the index() function. Each index may have a sibling() index; child items have a parent() index.</para>
            <para>Each item has a number of data elements associated with it and they can be retrieved by specifying a role (see Qt::ItemDataRole) to the model's data() function. Data for all available roles can be obtained at the same time using the itemData() function.</para>
            <para>Data for each role is set using a particular Qt::ItemDataRole. Data for individual roles are set individually with setData(), or they can be set for all roles with setItemData().</para>
            <para>Items can be queried with flags() (see Qt::ItemFlag) to see if they can be selected, dragged, or manipulated in other ways.</para>
            <para>If an item has child objects, hasChildren() returns true for the corresponding index.</para>
            <para>The model has a rowCount() and a columnCount() for each level of the hierarchy. Rows and columns can be inserted and removed with insertRows(), insertColumns(), removeRows(), and removeColumns().</para>
            <para>The model emits signals to indicate changes. For example, dataChanged() is emitted whenever items of data made available by the model are changed. Changes to the headers supplied by the model cause headerDataChanged() to be emitted. If the structure of the underlying data changes, the model can emit layoutChanged() to indicate to any attached views that they should redisplay any items shown, taking the new structure into account.</para>
            <para>The items available through the model can be searched for particular data using the match() function.</para>
            <para>To sort the model, you can use sort().</para>
            <para></para>
            <para>Subclassing</para>
            <para>Note: Some general guidelines for subclassing models are available in the Model Subclassing Reference.</para>
            <para>When subclassing QAbstractItemModel, at the very least you must implement index(), parent(), rowCount(), columnCount(), and data(). These functions are used in all read-only models, and form the basis of editable models.</para>
            <para>You can also reimplement hasChildren() to provide special behavior for models where the implementation of rowCount() is expensive. This makes it possible for models to restrict the amount of data requested by views, and can be used as a way to implement lazy population of model data.</para>
            <para>To enable editing in your model, you must also implement setData(), and reimplement flags() to ensure that ItemIsEditable is returned. You can also reimplement headerData() and setHeaderData() to control the way the headers for your model are presented.</para>
            <para>The dataChanged() and headerDataChanged() signals must be emitted explicitly when reimplementing the setData() and setHeaderData() functions, respectively.</para>
            <para>Custom models need to create model indexes for other components to use. To do this, call createIndex() with suitable row and column numbers for the item, and an identifier for it, either as a pointer or as an integer value. The combination of these values must be unique for each item. Custom models typically use these unique identifiers in other reimplemented functions to retrieve item data and access information about the item's parents and children. See the Simple Tree Model Example for more information about unique identifiers.</para>
            <para>It is not necessary to support every role defined in Qt::ItemDataRole. Depending on the type of data contained within a model, it may only be useful to implement the data() function to return valid information for some of the more common roles. Most models provide at least a textual representation of item data for the Qt::DisplayRole, and well-behaved models should also provide valid information for the Qt::ToolTipRole and Qt::WhatsThisRole. Supporting these roles enables models to be used with standard Qt views. However, for some models that handle highly-specialized data, it may be appropriate to provide data only for user-defined roles.</para>
            <para>Models that provide interfaces to resizable data structures can provide implementations of insertRows(), removeRows(), insertColumns(),and removeColumns(). When implementing these functions, it is important to notify any connected views about changes to the model's dimensions both before and after they occur:</para>
            <para></para>
            <para>An insertRows() implementation must call beginInsertRows() before inserting new rows into the data structure, and endInsertRows() immediately afterwards.</para>
            <para>An insertColumns() implementation must call beginInsertColumns() before inserting new columns into the data structure, and endInsertColumns() immediately afterwards.</para>
            <para>A removeRows() implementation must call beginRemoveRows() before the rows are removed from the data structure, and endRemoveRows() immediately afterwards.</para>
            <para>A removeColumns() implementation must call beginRemoveColumns() before the columns are removed from the data structure, and endRemoveColumns() immediately afterwards.</para>
            <para></para>
            <para>The private signals that these functions emit give attached components the chance to take action before any data becomes unavailable. The encapsulation of the insert and remove operations with these begin and end functions also enables the model to manage persistent model indexes correctly. If you want selections to be handled properly, you must ensure that you call these functions. If you insert or remove an item with children, you do not need to call these functions for the child items. In other words, the parent item will take care of its child items.</para>
            <para>To create models that populate incrementally, you can reimplement fetchMore() and canFetchMore(). If the reimplementation of fetchMore() adds rows to the model, beginInsertRows() and endInsertRows() must be called.</para>
            <para></para>
            <para>See also Model Classes, Model Subclassing Reference, QModelIndex, QAbstractItemView, Using drag and drop with item views, Simple DOM Model Example, Simple Tree Model Example, Editable Tree Model Example, and Fetch More Example.</para>
            </remarks>
        </member>
        <member name="T:QtCore.QObject">
            <summary>
            The QObject class is the base class of all Qt objects.
            </summary>
            <remarks>
            <para></para>
            <para>QObject is the heart of the Qt Object Model. The central feature in this model is a very powerful mechanism for seamless object communication called signals and slots. You can connect a signal to a slot with connect() and destroy the connection with disconnect(). To avoid never ending notification loops you can temporarily block signals with blockSignals(). The protected functions connectNotify() and disconnectNotify() make it possible to track connections.</para>
            <para>QObjects organize themselves in object trees. When you create a QObject with another object as parent, the object will automatically add itself to the parent's children() list. The parent takes ownership of the object; i.e., it will automatically delete its children in its destructor. You can look for an object by name and optionally type using findChild() or findChildren().</para>
            <para>Every object has an objectName() and its class name can be found via the corresponding metaObject() (see QMetaObject::className()). You can determine whether the object's class inherits another class in the QObject inheritance hierarchy by using the inherits() function.</para>
            <para>When an object is deleted, it emits a destroyed() signal. You can catch this signal to avoid dangling references to QObjects.</para>
            <para>QObjects can receive events through event() and filter the events of other objects. See installEventFilter() and eventFilter() for details. A convenience handler, childEvent(), can be reimplemented to catch child events.</para>
            <para>Events are delivered in the thread in which the object was created; see Thread Support in Qt and thread() for details. Note that event processing is not done at all for QObjects with no thread affinity (thread() returns zero). Use the moveToThread() function to change the thread affinity for an object and its children (the object cannot be moved if it has a parent).</para>
            <para>Last but not least, QObject provides the basic timer support in Qt; see QTimer for high-level support for timers.</para>
            <para>Notice that the Q_OBJECT macro is mandatory for any object that implements signals, slots or properties. You also need to run the Meta Object Compiler on the source file. We strongly recommend the use of this macro in all subclasses of QObject regardless of whether or not they actually use signals, slots and properties, since failure to do so may lead certain functions to exhibit strange behavior.</para>
            <para>All Qt widgets inherit QObject. The convenience function isWidgetType() returns whether an object is actually a widget. It is much faster than qobject_cast&amp;lt;QWidget *&amp;gt;(obj) or obj-&amp;gt;inherits(&amp;quot;QWidget&amp;quot;).</para>
            <para>Some QObject functions, e.g. children(), return a QObjectList. QObjectList is a typedef for QList&amp;lt;QObject *&amp;gt;.</para>
            <para></para>
            <para>No copy constructor or assignment operator</para>
            <para>QObject has neither a copy constructor nor an assignment operator. This is by design. Actually, they are declared, but in a private section with the macro Q_DISABLE_COPY(). In fact, all Qt classes derived from QObject (direct or indirect) use this macro to declare their copy constructor and assignment operator to be private. The reasoning is found in the discussion on Identity vs Value on the Qt Object Model page.</para>
            <para>The main consequence is that you should use pointers to QObject (or to your QObject subclass) where you might otherwise be tempted to use your QObject subclass as a value. For example, without a copy constructor, you can't use a subclass of QObject as the value to be stored in one of the container classes. You must store pointers.</para>
            <para></para>
            <para>Auto-Connection</para>
            <para>Qt's meta-object system provides a mechanism to automatically connect signals and slots between QObject subclasses and their children. As long as objects are defined with suitable object names, and slots follow a simple naming convention, this connection can be performed at run-time by the QMetaObject::connectSlotsByName() function.</para>
            <para>uic generates code that invokes this function to enable auto-connection to be performed between widgets on forms created with Qt Designer. More information about using auto-connection with Qt Designer is given in the Using a Designer UI File in Your Application section of the Qt Designer manual.</para>
            <para></para>
            <para>Dynamic Properties</para>
            <para>From Qt 4.2, dynamic properties can be added to and removed from QObject instances at run-time. Dynamic properties do not need to be declared at compile-time, yet they provide the same advantages as static properties and are manipulated using the same API - using property() to read them and setProperty() to write them.</para>
            <para>From Qt 4.3, dynamic properties are supported by Qt Designer, and both standard Qt widgets and user-created forms can be given dynamic properties.</para>
            <para></para>
            <para>Internationalization (i18n)</para>
            <para>All QObject subclasses support Qt's translation features, making it possible to translate an application's user interface into different languages.</para>
            <para>To make user-visible text translatable, it must be wrapped in calls to the tr() function. This is explained in detail in the Writing Source Code for Translation document.</para>
            <para></para>
            <para>See also QMetaObject, QPointer, QObjectCleanupHandler, Q_DISABLE_COPY(), and Object Trees &amp;amp; Ownership.</para>
            </remarks>
        </member>
        <member name="T:QtCore.Qt">
            <summary>
            The Qt namespace contains miscellaneous identifiers used throughout the Qt library.
            </summary>
            <remarks>
            <para></para>
            </remarks>
            <summary>
            The Qt namespace contains miscellaneous identifiers used throughout the Qt library.
            </summary>
            <remarks>
            <para></para>
            </remarks>
        </member>
        <member name="T:QtCore.Qt.AlignmentFlag">
            <summary>
            <para>This enum type is used to describe alignment. It contains horizontal and vertical flags that can be combined to produce the required effect.</para>
            <para>The TextElideMode enum can also be used in many situations to fine-tune the appearance of aligned text.</para>
            <para>The horizontal flags are:</para>
            <para>The vertical flags are:</para>
            <para>You can use only one of the horizontal flags at a time. There is one two-dimensional flag:</para>
            <para>You can use at most one horizontal and one vertical flag at a time. Qt::AlignCenter counts as both horizontal and vertical.</para>
            <para>Three enum values are useful in applications that can be run in right-to-left mode:</para>
            <para>Masks:</para>
            <para>Conflicting combinations of flags have undefined meanings.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.AlignmentFlag.AlignAbsolute">
            <summary>
            <para>If the widget's layout direction is Qt::RightToLeft (instead of Qt::LeftToRight, the default), Qt::AlignLeft refers to the right edge and Qt::AlignRight to the left edge. This is normally the desired behavior. If you want Qt::AlignLeft to always mean &quot;left&quot; and Qt::AlignRight to always mean &quot;right&quot;, combine the flag with Qt::AlignAbsolute.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.AlignmentFlag.AlignBottom">
            <summary>
            <para>Aligns with the bottom.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.AlignmentFlag.AlignCenter">
            <summary>
            <para>Centers in both dimensions.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.AlignmentFlag.AlignHCenter">
            <summary>
            <para>Centers horizontally in the available space.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.AlignmentFlag.AlignJustify">
            <summary>
            <para>Justifies the text in the available space.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.AlignmentFlag.AlignLeading">
            <summary>
            <para>Synonym for Qt::AlignLeft.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.AlignmentFlag.AlignLeft">
            <summary>
            <para>Aligns with the left edge.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.AlignmentFlag.AlignRight">
            <summary>
            <para>Aligns with the right edge.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.AlignmentFlag.AlignTop">
            <summary>
            <para>Aligns with the top.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.AlignmentFlag.AlignTrailing">
            <summary>
            <para>Synonym for Qt::AlignRight.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.AlignmentFlag.AlignVCenter">
            <summary>
            <para>Centers vertically in the available space.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.AnchorAttribute">
            <summary>
            <para>An anchor has one or more of the following attributes:</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.AnchorAttribute.AnchorHref">
            <summary>
            <para>The href attribute of the anchor. This attribute is used when a link is clicked to determine what content to load.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.AnchorAttribute.AnchorName">
            <summary>
            <para>The name attribute of the anchor. This attribute is used when scrolling to an anchor in the document.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.AnchorPoint">
            <summary>
            <para>Specifies a side of a layout item that can be anchored. This is used by QGraphicsAnchorLayout.</para>
            <para>See also QGraphicsAnchorLayout.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.AnchorPoint.AnchorBottom">
            <summary>
            <para>The bottom side of a layout item.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.AnchorPoint.AnchorHorizontalCenter">
            <summary>
            <para>A &quot;virtual&quot; side that is centered between the left and the right side of a layout item.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.AnchorPoint.AnchorLeft">
            <summary>
            <para>The left side of a layout item.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.AnchorPoint.AnchorRight">
            <summary>
            <para>The right side of a layout item.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.AnchorPoint.AnchorTop">
            <summary>
            <para>The top side of a layout item.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.AnchorPoint.AnchorVerticalCenter">
            <summary>
            <para>A &quot;virtual&quot; side that is centered between the top and the bottom side of a layout item.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.ApplicationAttribute">
            <summary>
            <para>This enum describes attributes that change the behavior of application-wide features. These are enabled and disabled using QCoreApplication::setAttribute(), and can be tested for with QCoreApplication::testAttribute().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ApplicationAttribute.AA_CaptureMultimediaKeys">
            <summary>
            <para>Enables application to receive multimedia key events (play, next, previous etc). This includes also external sources such as headsets. Application can not use Remote Control framework on Symbian if this attribute is set. On Symbian, multimedia key event routing may vary between different devices. For example, application on background may receive multimedia key events only if it has active audio stream i.e. it is playing music or video. This attribute must be set before QApplication is constructed. This attribute is only supported in Symbian platform.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ApplicationAttribute.AA_DontCreateNativeWidgetSiblings">
            <summary>
            <para>Ensures that siblings of native widgets stay non-native unless specifically set by the Qt::WA_NativeWindow attribute.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ApplicationAttribute.AA_DontShowIconsInMenus">
            <summary>
            <para>Actions with the Icon property won't be shown in any menus unless specifically set by the QAction::iconVisibleInMenu property. Menus that are currently open or menus already created in the native Mac OS X menubar may not pick up a change in this attribute. Changes in the QAction::iconVisibleInMenu property will always be picked up.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ApplicationAttribute.AA_DontUseNativeMenuBar">
            <summary>
            <para>All menubars created while this attribute is set to true won't be used as a native menubar (e.g, the menubar at the top of the main screen on Mac OS X or at the bottom in Windows CE).</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ApplicationAttribute.AA_ImmediateWidgetCreation">
            <summary>
            <para>Ensures that widgets are created as soon as they are constructed. By default, resources for widgets are allocated on demand to improve efficiency and minimize resource usage. Setting or clearing this attribute affects widgets constructed after the change. Setting it tells Qt to create toplevel windows immediately. Therefore, if it is important to minimize resource consumption, do not set this attribute.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ApplicationAttribute.AA_MSWindowsUseDirect3DByDefault">
            <summary>
            <para>This value is obsolete and has no effect.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ApplicationAttribute.AA_MacDontSwapCtrlAndMeta">
            <summary>
            <para>On Mac OS X by default, Qt swaps the Control and Meta (Command) keys (i.e., whenever Control is pressed, Qt sends Meta, and whenever Meta is pressed Control is sent). When this attribute is true, Qt will not do the flip. QKeySequence::StandardShortcuts will also flip accordingly (i.e., QKeySequence::Copy will be Command+C on the keyboard regardless of the value set, though what is output for QKeySequence::toString(QKeySequence::PortableText) will be different).</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ApplicationAttribute.AA_MacPluginApplication">
            <summary>
            <para>Stops the Qt mac application from doing specific initializations that do not necessarily make sense when using Qt to author a plugin. This includes avoiding loading our nib for the main menu and not taking possession of the native menu bar. When setting this attribute to true will also set the AA_DontUseNativeMenuBar attribute to true.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ApplicationAttribute.AA_NativeWindows">
            <summary>
            <para>Ensures that widgets have native windows.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ApplicationAttribute.AA_S60DisablePartialScreenInputMode">
            <summary>
            <para>By default in Symbian^3, a separate editing window is opened on top of an application. This is exactly like editing on previous versions of Symbian behave. When this attribute is false, a non-fullscreen virtual keyboard window is shown on top of application and it is ensured that the focused text input widget is visible. The auto-translation of input widget is only supported for applications based on QGraphicsView, but the non-fullscreen virtual keyboard will work for any kind of application (i.e. QWidgets-based). By default this attribute is true. This attribute must be set after QApplication is constructed. This is only supported in Symbian^3 and later Symbian releases.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ApplicationAttribute.AA_S60DontConstructApplicationPanes">
            <summary>
            <para>Stops Qt from initializing the S60 status pane and softkey pane on Symbian. This is useful to save memory and reduce startup time for applications that will run in fullscreen mode during their whole lifetime. This attribute must be set before QApplication is constructed.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ApplicationAttribute.AA_X11InitThreads">
            <summary>
            <para>Calls XInitThreads() as part of the QApplication construction in order to make Xlib calls thread-safe. This attribute must be set before QApplication is constructed.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.AspectRatioMode">
            <summary>
            <para>This enum type defines what happens to the aspect ratio when scaling an rectangle.</para>
            <para>See also QSize::scale() and QImage::scaled().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.AspectRatioMode.IgnoreAspectRatio">
            <summary>
            <para>The size is scaled freely. The aspect ratio is not preserved.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.AspectRatioMode.KeepAspectRatio">
            <summary>
            <para>The size is scaled to a rectangle as large as possible inside a given rectangle, preserving the aspect ratio.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.AspectRatioMode.KeepAspectRatioByExpanding">
            <summary>
            <para>The size is scaled to a rectangle as small as possible outside a given rectangle, preserving the aspect ratio.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.Axis">
            <summary>
            <para>This enum type defines three values to represent the three axes in the cartesian coordinate system.</para>
            <para>See also QTransform::rotate() and QTransform::rotateRadians().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Axis.XAxis">
            <summary>
            <para>The X axis.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Axis.YAxis">
            <summary>
            <para>The Y axis.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Axis.ZAxis">
            <summary>
            <para>The Z axis.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.BGMode">
            <summary>
            <para>Background mode:</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.BrushStyle">
            <summary>
            <para>This enum type defines the brush styles supported by Qt, i.e. the fill pattern of shapes drawn using QPainter.</para>
            <para>See also QBrush.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.BrushStyle.BDiagPattern">
            <summary>
            <para>Backward diagonal lines.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.BrushStyle.ConicalGradientPattern">
            <summary>
            <para>Conical gradient (set using a dedicated QBrush constructor).</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.BrushStyle.CrossPattern">
            <summary>
            <para>Crossing horizontal and vertical lines.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.BrushStyle.Dense1Pattern">
            <summary>
            <para>Extremely dense brush pattern.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.BrushStyle.Dense2Pattern">
            <summary>
            <para>Very dense brush pattern.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.BrushStyle.Dense3Pattern">
            <summary>
            <para>Somewhat dense brush pattern.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.BrushStyle.Dense4Pattern">
            <summary>
            <para>Half dense brush pattern.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.BrushStyle.Dense5Pattern">
            <summary>
            <para>Somewhat sparse brush pattern.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.BrushStyle.Dense6Pattern">
            <summary>
            <para>Very sparse brush pattern.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.BrushStyle.Dense7Pattern">
            <summary>
            <para>Extremely sparse brush pattern.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.BrushStyle.DiagCrossPattern">
            <summary>
            <para>Crossing diagonal lines.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.BrushStyle.FDiagPattern">
            <summary>
            <para>Forward diagonal lines.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.BrushStyle.HorPattern">
            <summary>
            <para>Horizontal lines.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.BrushStyle.LinearGradientPattern">
            <summary>
            <para>Linear gradient (set using a dedicated QBrush constructor).</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.BrushStyle.NoBrush">
            <summary>
            <para>No brush pattern.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.BrushStyle.RadialGradientPattern">
            <summary>
            <para>Radial gradient (set using a dedicated QBrush constructor).</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.BrushStyle.SolidPattern">
            <summary>
            <para>Uniform color.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.BrushStyle.TexturePattern">
            <summary>
            <para>Custom pattern (see QBrush::setTexture()).</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.BrushStyle.VerPattern">
            <summary>
            <para>Vertical lines.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.CheckState">
            <summary>
            <para>This enum describes the state of checkable items, controls, and widgets.</para>
            <para>See also QCheckBox, Qt::ItemFlags, and Qt::ItemDataRole.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CheckState.Checked">
            <summary>
            <para>The item is checked.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CheckState.PartiallyChecked">
            <summary>
            <para>The item is partially checked. Items in hierarchical models may be partially checked if some, but not all, of their children are checked.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CheckState.Unchecked">
            <summary>
            <para>The item is unchecked.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ClipOperation.IntersectClip">
            <summary>
            <para>Intersects the current clip path/rect/region with the one supplied in the function call.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ClipOperation.NoClip">
            <summary>
            <para>This operation turns clipping off.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ClipOperation.ReplaceClip">
            <summary>
            <para>Replaces the current clip path/rect/region with the one supplied in the function call.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ClipOperation.UniteClip">
            <summary>
            <para>Unites the current clip path/rect/region with the one supplied in the function call.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.ConnectionType">
            <summary>
            <para>This enum describes the types of connection that can be used between signals and slots. In particular, it determines whether a particular signal is delivered to a slot immediately or queued for delivery at a later time.</para>
            <para>With queued connections, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message:</para>
            <para> QObject::connect: Cannot queue arguments of type 'MyType'</para>
            <para>Call qRegisterMetaType() to register the data type before you establish the connection.</para>
            <para>When using signals and slots with multiple threads, see Signals and Slots Across Threads.</para>
            <para>See also Thread Support in Qt, QObject::connect(), qRegisterMetaType(), and Q_DECLARE_METATYPE().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ConnectionType.AutoCompatConnection">
            <summary>
            <para>The default type when Qt 3 support is enabled. Same as AutoConnection but will also cause warnings to be output in certain situations. See Compatibility Signals and Slots for further information.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ConnectionType.AutoConnection">
            <summary>
            <para>(default) If the signal is emitted from a different thread than the receiving object, the signal is queued, behaving as Qt::QueuedConnection. Otherwise, the slot is invoked directly, behaving as Qt::DirectConnection. The type of connection is determined when the signal is emitted.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ConnectionType.BlockingQueuedConnection">
            <summary>
            <para>Same as QueuedConnection, except the current thread blocks until the slot returns. This connection type should only be used where the emitter and receiver are in different threads. Note: Violating this rule can cause your application to deadlock.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ConnectionType.DirectConnection">
            <summary>
            <para>The slot is invoked immediately, when the signal is emitted.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ConnectionType.QueuedConnection">
            <summary>
            <para>The slot is invoked when control returns to the event loop of the receiver's thread. The slot is executed in the receiver's thread.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ConnectionType.UniqueConnection">
            <summary>
            <para>Same as AutoConnection, but the connection is made only if it does not duplicate an existing connection. i.e., if the same signal is already connected to the same slot for the same pair of objects, then the connection will fail. This connection type was introduced in Qt 4.6.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.ContextMenuPolicy">
            <summary>
            <para>This enum type defines the various policies a widget can have with respect to showing a context menu.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ContextMenuPolicy.ActionsContextMenu">
            <summary>
            <para>The widget displays its QWidget::actions() as context menu.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ContextMenuPolicy.CustomContextMenu">
            <summary>
            <para>The widget emits the QWidget::customContextMenuRequested() signal.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ContextMenuPolicy.DefaultContextMenu">
            <summary>
            <para>The widget's QWidget::contextMenuEvent() handler is called.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ContextMenuPolicy.NoContextMenu">
            <summary>
            <para>The widget does not feature a context menu, context menu handling is deferred to the widget's parent.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ContextMenuPolicy.PreventContextMenu">
            <summary>
            <para>The widget does not feature a context menu, and in contrast to NoContextMenu, the handling is not deferred to the widget's parent. This means that all right mouse button events are guaranteed to be delivered to the widget itself through mousePressEvent(), and mouseReleaseEvent().</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.CoordinateSystem">
            <summary>
            <para>This enum specifies the coordinate system.</para>
            <para>This enum was introduced or modified in Qt 4.6.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CoordinateSystem.DeviceCoordinates">
            <summary>
            <para>Coordinates are relative to the upper-left corner of the object's paint device.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CoordinateSystem.LogicalCoordinates">
            <summary>
            <para>Coordinates are relative to the upper-left corner of the object.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.Corner">
            <summary>
            <para>This enum type specifies a corner in a rectangle:</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Corner.BottomLeftCorner">
            <summary>
            <para>The bottom-left corner of the rectangle.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Corner.BottomRightCorner">
            <summary>
            <para>The bottom-right corner of the rectangle.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Corner.TopLeftCorner">
            <summary>
            <para>The top-left corner of the rectangle.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Corner.TopRightCorner">
            <summary>
            <para>The top-right corner of the rectangle.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.CursorMoveStyle">
            <summary>
            <para>This enum describes the movement style available to text cursors. The options are:</para>
            <para>This enum was introduced or modified in Qt 4.8.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CursorMoveStyle.LogicalMoveStyle">
            <summary>
            <para>Within a left-to-right text block, decrease cursor position when pressing left arrow key, increase cursor position when pressing the right arrow key. If the text block is right-to-left, the opposite behavior applies.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CursorMoveStyle.VisualMoveStyle">
            <summary>
            <para>Pressing the left arrow key will always cause the cursor to move left, regardless of the text's writing direction. Pressing the right arrow key will always cause the cursor to move right.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.CursorShape">
            <summary>
            <para>This enum type defines the various cursors that can be used.</para>
            <para>The standard arrow cursor is the default for widgets in a normal state.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CursorShape.ArrowCursor">
            <summary>
            <para>The standard arrow cursor.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CursorShape.BlankCursor">
            <summary>
            <para>A blank/invisible cursor, typically used when the cursor shape needs to be hidden.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CursorShape.BusyCursor">
            <summary>
            <para>An hourglass or watch cursor, usually shown during operations that allow the user to interact with the application while they are performed in the background.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CursorShape.ClosedHandCursor">
            <summary>
            <para>A cursor representing a closed hand, typically used to indicate that a dragging operation is in progress that involves scrolling.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CursorShape.CrossCursor">
            <summary>
            <para>A crosshair cursor, typically used to help the user accurately select a point on the screen.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CursorShape.DragCopyCursor">
            <summary>
            <para>A cursor that is usually used when dragging an item to copy it.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CursorShape.DragLinkCursor">
            <summary>
            <para>A cursor that is usually used when dragging an item to make a link to it.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CursorShape.DragMoveCursor">
            <summary>
            <para>A cursor that is usually used when dragging an item.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CursorShape.ForbiddenCursor">
            <summary>
            <para>A slashed circle cursor, typically used during drag and drop operations to indicate that dragged content cannot be dropped on particular widgets or inside certain regions.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CursorShape.IBeamCursor">
            <summary>
            <para>A caret or ibeam cursor, indicating that a widget can accept and display text input.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CursorShape.OpenHandCursor">
            <summary>
            <para>A cursor representing an open hand, typically used to indicate that the area under the cursor is the visible part of a canvas that the user can click and drag in order to scroll around.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CursorShape.PointingHandCursor">
            <summary>
            <para>A pointing hand cursor that is typically used for clickable elements such as hyperlinks.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CursorShape.SizeAllCursor">
            <summary>
            <para>A cursor used for elements that are used to resize top-level windows in any direction.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CursorShape.SizeBDiagCursor">
            <summary>
            <para>A cursor used for elements that are used to diagonally resize top-level windows at their top-right and bottom-left corners.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CursorShape.SizeFDiagCursor">
            <summary>
            <para>A cursor used for elements that are used to diagonally resize top-level windows at their top-left and bottom-right corners.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CursorShape.SizeHorCursor">
            <summary>
            <para>A cursor used for elements that are used to horizontally resize top-level windows.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CursorShape.SizeVerCursor">
            <summary>
            <para>A cursor used for elements that are used to vertically resize top-level windows.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CursorShape.SplitHCursor">
            <summary>
            <para>A cursor used for horizontal splitters, indicating that a handle can be dragged vertically to adjust the use of available space.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CursorShape.SplitVCursor">
            <summary>
            <para>A cursor used for vertical splitters, indicating that a handle can be dragged horizontally to adjust the use of available space.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CursorShape.UpArrowCursor">
            <summary>
            <para>An arrow pointing upwards toward the top of the screen.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CursorShape.WaitCursor">
            <summary>
            <para>An hourglass or watch cursor, usually shown during operations that prevent the user from interacting with the application.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.CursorShape.WhatsThisCursor">
            <summary>
            <para>An arrow with a question mark, typically used to indicate the presence of What's This? help for a widget.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.DateFormat">
            <summary>
            <para>Note: For ISODate formats, each Y, M and D represents a single digit of the year, month and day used to specify the date. Each H, M and S represents a single digit of the hour, minute and second used to specify the time. The presence of a literal T character is used to separate the date and time when both are specified.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.DateFormat.DefaultLocaleLongDate">
            <summary>
            <para>The long format used by the application's locale.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.DateFormat.DefaultLocaleShortDate">
            <summary>
            <para>The short format specified by the application's locale.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.DateFormat.ISODate">
            <summary>
            <para>ISO 8601 extended format: either YYYY-MM-DD for dates or YYYY-MM-DDTHH:mm:ss, YYYY-MM-DDTHH:mm:ssTZD (e.g., 1997-07-16T19:20:30+01:00) for combined dates and times.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.DateFormat.LocalDate">
            <summary>
            <para>This enum value is deprecated. Use Qt::SystemLocaleShortDate instead (or Qt::SystemLocaleLongDate if you want long dates).</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.DateFormat.LocaleDate">
            <summary>
            <para>This enum value is deprecated. Use Qt::DefaultLocaleShortDate instead (or Qt::DefaultLocaleLongDate if you want long dates).</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.DateFormat.SystemLocaleDate">
            <summary>
            <para>This enum value is deprecated. Use Qt::SystemLocaleShortDate instead (or Qt::SystemLocaleLongDate if you want long dates).</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.DateFormat.SystemLocaleLongDate">
            <summary>
            <para>The long format used by the operating system.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.DateFormat.SystemLocaleShortDate">
            <summary>
            <para>The short format used by the operating system.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.DateFormat.TextDate">
            <summary>
            <para>The default Qt format, which includes the day and month name, the day number in the month, and the year in full. The day and month names will be short, localized names. This is basically equivalent to using the date format string, &quot;ddd MMM d yyyy&quot;. See QDate::toString() for more information.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.DropAction.CopyAction">
            <summary>
            <para>Copy the data to the target.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.DropAction.IgnoreAction">
            <summary>
            <para>Ignore the action (do nothing with the data).</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.DropAction.LinkAction">
            <summary>
            <para>Create a link from the source to the target.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.DropAction.MoveAction">
            <summary>
            <para>Move the data from the source to the target.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.DropAction.TargetMoveAction">
            <summary>
            <para>On Windows, this value is used when the ownership of the D&amp;D data should be taken over by the target application, i.e., the source application should not delete the data.  On X11 this value is used to do a move.  TargetMoveAction is not used on the Mac.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.EventPriority">
            <summary>
            <para>This enum can be used to specify event priorities.</para>
            <para>Note that these values are provided purely for convenience, since event priorities can be any value between INT_MAX and INT_MIN, inclusive. For example, you can define custom priorities as being relative to each other:</para>
            <para> enum CustomEventPriority</para>
            <para> {</para>
            <para>     // An important event</para>
            <para>     ImportantEventPriority = Qt::HighEventPriority,</para>
            <para></para>
            <para>     // A more important event</para>
            <para>     MoreImportantEventPriority = ImportantEventPriority + 1,</para>
            <para></para>
            <para>     // A critical event</para>
            <para>     CriticalEventPriority = 100 * MoreImportantEventPriority,</para>
            <para></para>
            <para>     // Not that important</para>
            <para>     StatusEventPriority = Qt::LowEventPriority,</para>
            <para></para>
            <para>     // These are less important than Status events</para>
            <para>     IdleProcessingDoneEventPriority = StatusEventPriority - 1</para>
            <para> };</para>
            <para>See also QCoreApplication::postEvent().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.EventPriority.HighEventPriority">
            <summary>
            <para>Events with this priority are sent before events with NormalEventPriority or LowEventPriority.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.EventPriority.LowEventPriority">
            <summary>
            <para>Events with this priority are sent after events with HighEventPriority or NormalEventPriority.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.EventPriority.NormalEventPriority">
            <summary>
            <para>Events with this priority are sent after events with HighEventPriority, but before events with LowEventPriority.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.FillRule">
            <summary>
            <para>Specifies which method should be used to fill the paths and polygons.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.FillRule.OddEvenFill">
            <summary>
            <para>Specifies that the region is filled using the odd even fill rule. With this rule, we determine whether a point is inside the shape by using the following method. Draw a horizontal line from the point to a location outside the shape, and count the number of intersections. If the number of intersections is an odd number, the point is inside the shape. This mode is the default.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.FillRule.WindingFill">
            <summary>
            <para>Specifies that the region is filled using the non zero winding rule. With this rule, we determine whether a point is inside the shape by using the following method. Draw a horizontal line from the point to a location outside the shape. Determine whether the direction of the line at each intersection point is up or down. The winding number is determined by summing the direction of each intersection. If the number is non zero, the point is inside the shape. This fill mode can also in most cases be considered as the intersection of closed shapes.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.FocusPolicy">
            <summary>
            <para>This enum type defines the various policies a widget can have with respect to acquiring keyboard focus.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.FocusPolicy.ClickFocus">
            <summary>
            <para>The widget accepts focus by clicking.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.FocusPolicy.NoFocus">
            <summary>
            <para>The widget does not accept focus.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.FocusPolicy.StrongFocus">
            <summary>
            <para>The widget accepts focus by both tabbing and clicking. On Mac OS X this will also be indicate that the widget accepts tab focus when in 'Text/List focus mode'.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.FocusPolicy.TabFocus">
            <summary>
            <para>The widget accepts focus by tabbing.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.FocusPolicy.WheelFocus">
            <summary>
            <para>Like Qt::StrongFocus plus the widget accepts focus by using the mouse wheel.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.FocusReason">
            <summary>
            <para>This enum specifies why the focus changed. It will be passed through QWidget::setFocus and can be retrieved in the QFocusEvent sent to the widget upon focus change.</para>
            <para>See also Keyboard Focus.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.FocusReason.ActiveWindowFocusReason">
            <summary>
            <para>The window system made this window either active or inactive.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.FocusReason.BacktabFocusReason">
            <summary>
            <para>A Backtab occurred. The input for this may include the Shift or Control keys; e.g. Shift+Tab.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.FocusReason.MenuBarFocusReason">
            <summary>
            <para>The menu bar took focus.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.FocusReason.MouseFocusReason">
            <summary>
            <para>A mouse action occurred.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.FocusReason.OtherFocusReason">
            <summary>
            <para>Another reason, usually application-specific.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.FocusReason.PopupFocusReason">
            <summary>
            <para>The application opened/closed a pop-up that grabbed/released the keyboard focus.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.FocusReason.ShortcutFocusReason">
            <summary>
            <para>The user typed a label's buddy shortcut</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.FocusReason.TabFocusReason">
            <summary>
            <para>The Tab key was pressed.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.GestureFlag">
            <summary>
            <para>This enum type describes additional flags that can be used when subscribing to a gesture.</para>
            <para>This enum was introduced or modified in Qt 4.6.</para>
            <para></para>
            <para>See also QWidget::grabGesture() and QGraphicsObject::grabGesture().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GestureFlag.DontStartGestureOnChildren">
            <summary>
            <para>By default gestures can start on the widget or over any of its children. Use this flag to disable this and allow a gesture to start on the widget only.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GestureFlag.IgnoredGesturesPropagateToParent">
            <summary>
            <para>Since Qt 4.7, this flag allows you to fine-tune gesture event propagation. By setting the flag when grabbing a gesture all ignored partial gestures will propagate to their parent items.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GestureFlag.ReceivePartialGestures">
            <summary>
            <para>Allows any ignored gesture events to be propagated to parent widgets which have specified this hint. By default only gestures that are in the Qt::GestureStarted state are propagated and the widget always gets the full gesture sequence starting with a gesture in the Qt::GestureStarted state and ending with a gesture in the Qt::GestureFinished or Qt::GestureCanceled states.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.GestureState">
            <summary>
            <para>This enum type describes the state of a gesture.</para>
            <para>This enum was introduced or modified in Qt 4.6.</para>
            <para>See also QGesture.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GestureState.GestureCanceled">
            <summary>
            <para>A gesture was canceled.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GestureState.GestureFinished">
            <summary>
            <para>A gesture has finished.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GestureState.GestureStarted">
            <summary>
            <para>A continuous gesture has started.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GestureState.GestureUpdated">
            <summary>
            <para>A gesture continues.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.GestureType">
            <summary>
            <para>This enum type describes the standard gestures.</para>
            <para>User-defined gestures are registered with the QGestureRecognizer::registerRecognizer() function which generates a custom gesture ID with the Qt::CustomGesture flag set.</para>
            <para>This enum was introduced or modified in Qt 4.6.</para>
            <para>See also QGesture, QWidget::grabGesture(), and QGraphicsObject::grabGesture().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GestureType.CustomGesture">
            <summary>
            <para>A flag that can be used to test if the gesture is a user-defined gesture ID.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GestureType.PanGesture">
            <summary>
            <para>A Pan gesture.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GestureType.PinchGesture">
            <summary>
            <para>A Pinch gesture.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GestureType.SwipeGesture">
            <summary>
            <para>A Swipe gesture.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GestureType.TapAndHoldGesture">
            <summary>
            <para>A Tap-And-Hold (Long-Tap) gesture.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GestureType.TapGesture">
            <summary>
            <para>A Tap gesture.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.GlobalColor">
            <summary>
            <para>Qt's predefined QColor objects:</para>
            <para>See also QColor.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GlobalColor.black">
            <summary>
            <para>Black (#000000)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GlobalColor.blue">
            <summary>
            <para>Blue (#0000ff)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GlobalColor.color0">
            <summary>
            <para>0 pixel value (for bitmaps)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GlobalColor.color1">
            <summary>
            <para>1 pixel value (for bitmaps)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GlobalColor.cyan">
            <summary>
            <para>Cyan (#00ffff)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GlobalColor.darkBlue">
            <summary>
            <para>Dark blue (#000080)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GlobalColor.darkCyan">
            <summary>
            <para>Dark cyan (#008080)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GlobalColor.darkGray">
            <summary>
            <para>Dark gray (#808080)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GlobalColor.darkGreen">
            <summary>
            <para>Dark green (#008000)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GlobalColor.darkMagenta">
            <summary>
            <para>Dark magenta (#800080)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GlobalColor.darkRed">
            <summary>
            <para>Dark red (#800000)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GlobalColor.darkYellow">
            <summary>
            <para>Dark yellow (#808000)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GlobalColor.gray">
            <summary>
            <para>Gray (#a0a0a4)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GlobalColor.green">
            <summary>
            <para>Green (#00ff00)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GlobalColor.lightGray">
            <summary>
            <para>Light gray (#c0c0c0)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GlobalColor.magenta">
            <summary>
            <para>Magenta (#ff00ff)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GlobalColor.red">
            <summary>
            <para>Red (#ff0000)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GlobalColor.transparent">
            <summary>
            <para>A transparent black value (i.e., QColor(0, 0, 0, 0))</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GlobalColor.white">
            <summary>
            <para>White (#ffffff)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.GlobalColor.yellow">
            <summary>
            <para>Yellow (#ffff00)</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.ImageConversionFlag">
            <summary>
            <para>The options marked &quot;(default)&quot; are set if no other values from the list are included (since the defaults are zero):</para>
            <para>Color/Mono preference (ignored for QBitmap):</para>
            <para>Dithering mode preference for RGB channels:</para>
            <para>Dithering mode preference for alpha channel:</para>
            <para>Color matching versus dithering preference:</para>
            <para>Don't do any format conversions on the image. Can be useful when converting a QImage to a QPixmap for a one-time rendering operation for example.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ImageConversionFlag.AutoColor">
            <summary>
            <para>(default) - If the image has depth 1 and contains only black and white pixels, the pixmap becomes monochrome.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ImageConversionFlag.AvoidDither">
            <summary>
            <para>(default when converting for the purpose of saving to file) - Dither 32-bit images only if the image has more than 256 colors and it is being converted to 8 bits.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ImageConversionFlag.ColorOnly">
            <summary>
            <para>The pixmap is dithered/converted to the native display depth.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ImageConversionFlag.DiffuseAlphaDither">
            <summary>
            <para>A high-quality dither.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ImageConversionFlag.DiffuseDither">
            <summary>
            <para>(default) - A high-quality dither.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ImageConversionFlag.MonoOnly">
            <summary>
            <para>The pixmap becomes monochrome. If necessary, it is dithered using the chosen dithering algorithm.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ImageConversionFlag.NoOpaqueDetection">
            <summary>
            <para>Do not check whether the image contains non-opaque pixels. Use this if you know that the image is semi-transparent and you want to avoid the overhead of checking the pixels in the image until a non-opaque pixel is found, or if you want the pixmap to retain an alpha channel for some other reason. If the image has no alpha channel this flag has no effect.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ImageConversionFlag.OrderedAlphaDither">
            <summary>
            <para>A faster, more ordered dither.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ImageConversionFlag.OrderedDither">
            <summary>
            <para>A faster, more ordered dither.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ImageConversionFlag.PreferDither">
            <summary>
            <para>(default when converting to a pixmap) - Always dither 32-bit images when the image is converted to 8 bits.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ImageConversionFlag.ThresholdAlphaDither">
            <summary>
            <para>(default) - No dithering.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ImageConversionFlag.ThresholdDither">
            <summary>
            <para>No dithering; closest color is used.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.InputMethodHint">
            <summary>
            <para>Flags that alter the behavior:</para>
            <para>Flags that restrict input (exclusive flags):</para>
            <para>Masks:</para>
            <para>Note: If several exclusive flags are ORed together, the resulting character set will consist of the union of the specified sets. For instance specifying ImhNumbersOnly and ImhUppercaseOnly would yield a set consisting of numbers and uppercase letters.</para>
            <para></para>
            <para>See also QGraphicsItem::inputMethodHints().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.InputMethodHint.ImhDialableCharactersOnly">
            <summary>
            <para>Only characters suitable for phone dialling are allowed.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.InputMethodHint.ImhDigitsOnly">
            <summary>
            <para>Only digits are allowed.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.InputMethodHint.ImhEmailCharactersOnly">
            <summary>
            <para>Only characters suitable for email addresses are allowed.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.InputMethodHint.ImhExclusiveInputMask">
            <summary>
            <para>This mask yields nonzero if any of the exclusive flags are used.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.InputMethodHint.ImhFormattedNumbersOnly">
            <summary>
            <para>Only number input is allowed. This includes decimal point and minus sign.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.InputMethodHint.ImhHiddenText">
            <summary>
            <para>Characters should be hidden, as is typically used when entering passwords. This is automatically set when setting QLineEdit::echoMode to Password.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.InputMethodHint.ImhLowercaseOnly">
            <summary>
            <para>Only lower case letter input is allowed.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.InputMethodHint.ImhNoAutoUppercase">
            <summary>
            <para>The input method should not try to automatically switch to upper case when a sentence ends.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.InputMethodHint.ImhNoPredictiveText">
            <summary>
            <para>Do not use predictive text (i.e. dictionary lookup) while typing.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.InputMethodHint.ImhNone">
            <summary>
            <para>No hints.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.InputMethodHint.ImhPreferLowercase">
            <summary>
            <para>Lower case letters are preferred (but not required).</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.InputMethodHint.ImhPreferNumbers">
            <summary>
            <para>Numbers are preferred (but not required).</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.InputMethodHint.ImhPreferUppercase">
            <summary>
            <para>Upper case letters are preferred (but not required).</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.InputMethodHint.ImhUppercaseOnly">
            <summary>
            <para>Only upper case letter input is allowed.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.InputMethodHint.ImhUrlCharactersOnly">
            <summary>
            <para>Only characters suitable for URLs are allowed.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.InputMethodQuery.ImAnchorPosition">
            <summary>
            <para>The position of the selection anchor. This may be less or greater than ImCursorPosition, depending on which side of selection the cursor is. If there is no selection, it returns the same as ImCursorPosition.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.InputMethodQuery.ImCurrentSelection">
            <summary>
            <para>The currently selected text.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.InputMethodQuery.ImCursorPosition">
            <summary>
            <para>The logical position of the cursor within the text surrounding the input area (see ImSurroundingText).</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.InputMethodQuery.ImFont">
            <summary>
            <para>The currently used font for text input.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.InputMethodQuery.ImMaximumTextLength">
            <summary>
            <para>The maximum number of characters that the widget can hold. If there is no limit, QVariant() is returned.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.InputMethodQuery.ImMicroFocus">
            <summary>
            <para>The rectangle covering the area of the input cursor in widget coordinates.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.InputMethodQuery.ImSurroundingText">
            <summary>
            <para>The plain text around the input area, for example the current paragraph.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.ItemDataRole">
            <summary>
            <para>Each item in the model has a set of data elements associated with it, each with its own role. The roles are used by the view to indicate to the model which type of data it needs. Custom models should return data in these types.</para>
            <para>The general purpose roles (and the associated types) are:</para>
            <para>Roles describing appearance and meta data (with associated types):</para>
            <para>Accessibility roles (with associated types):</para>
            <para>User roles:</para>
            <para>For user roles, it is up to the developer to decide which types to use and ensure that components use the correct types when accessing and setting data.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemDataRole.AccessibleDescriptionRole">
            <summary>
            <para>A description of the item for accessibility purposes. (QString)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemDataRole.AccessibleTextRole">
            <summary>
            <para>The text to be used by accessibility extensions and plugins, such as screen readers. (QString)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemDataRole.BackgroundColorRole">
            <summary>
            <para>This role is obsolete. Use BackgroundRole instead.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemDataRole.BackgroundRole">
            <summary>
            <para>The background brush used for items rendered with the default delegate. (QBrush)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemDataRole.CheckStateRole">
            <summary>
            <para>This role is used to obtain the checked state of an item. (Qt::CheckState)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemDataRole.DecorationRole">
            <summary>
            <para>The data to be rendered as a decoration in the form of an icon. (QColor, QIcon or QPixmap)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemDataRole.DisplayRole">
            <summary>
            <para>The key data to be rendered in the form of text. (QString)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemDataRole.EditRole">
            <summary>
            <para>The data in a form suitable for editing in an editor. (QString)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemDataRole.FontRole">
            <summary>
            <para>The font used for items rendered with the default delegate. (QFont)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemDataRole.ForegroundRole">
            <summary>
            <para>The foreground brush (text color, typically) used for items rendered with the default delegate. (QBrush)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemDataRole.InitialSortOrderRole">
            <summary>
            <para>This role is used to obtain the initial sort order of a header view section. (Qt::SortOrder). This role was introduced in Qt 4.8.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemDataRole.SizeHintRole">
            <summary>
            <para>The size hint for the item that will be supplied to views. (QSize)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemDataRole.StatusTipRole">
            <summary>
            <para>The data displayed in the status bar. (QString)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemDataRole.TextAlignmentRole">
            <summary>
            <para>The alignment of the text for items rendered with the default delegate. (Qt::AlignmentFlag)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemDataRole.TextColorRole">
            <summary>
            <para>This role is obsolete. Use ForegroundRole instead.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemDataRole.ToolTipRole">
            <summary>
            <para>The data displayed in the item's tooltip. (QString)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemDataRole.UserRole">
            <summary>
            <para>The first role that can be used for application-specific purposes.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemDataRole.WhatsThisRole">
            <summary>
            <para>The data displayed for the item in &quot;What's This?&quot; mode. (QString)</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.ItemFlag">
            <summary>
            <para>This enum describes the properties of an item:</para>
            <para>Note that checkable items need to be given both a suitable set of flags and an initial state, indicating whether the item is checked or not. This is handled automatically for model/view components, but needs to be explicitly set for instances of QListWidgetItem, QTableWidgetItem, and QTreeWidgetItem.</para>
            <para></para>
            <para>See also QAbstractItemModel.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemFlag.ItemIsDragEnabled">
            <summary>
            <para>It can be dragged.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemFlag.ItemIsDropEnabled">
            <summary>
            <para>It can be used as a drop target.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemFlag.ItemIsEditable">
            <summary>
            <para>It can be edited.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemFlag.ItemIsEnabled">
            <summary>
            <para>The user can interact with the item.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemFlag.ItemIsSelectable">
            <summary>
            <para>It can be selected.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemFlag.ItemIsTristate">
            <summary>
            <para>The item is checkable with three separate states.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemFlag.ItemIsUserCheckable">
            <summary>
            <para>It can be checked or unchecked by the user.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemFlag.NoItemFlags">
            <summary>
            <para>It does not have any properties set.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.ItemSelectionMode">
            <summary>
            <para>This enum is used in QGraphicsItem, QGraphicsScene and QGraphicsView to specify how items are selected, or how to determine if a shapes and items collide.</para>
            <para>See also QGraphicsScene::items(), QGraphicsScene::collidingItems(), QGraphicsView::items(), QGraphicsItem::collidesWithItem(), and QGraphicsItem::collidesWithPath().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemSelectionMode.ContainsItemBoundingRect">
            <summary>
            <para>The output list contains only items whose bounding rectangle is fully contained inside the selection area. Items that intersect with the area's outline are not included.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemSelectionMode.ContainsItemShape">
            <summary>
            <para>The output list contains only items whose shape is fully contained inside the selection area. Items that intersect with the area's outline are not included.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemSelectionMode.IntersectsItemBoundingRect">
            <summary>
            <para>The output list contains both items whose bounding rectangle is fully contained inside the selection area, and items that intersect with the area's outline. This method is commonly used for determining areas that need redrawing.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ItemSelectionMode.IntersectsItemShape">
            <summary>
            <para>The output list contains both items whose shape is fully contained inside the selection area, and items that intersect with the area's outline. This is a common mode for rubber band selection.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.Key">
            <summary>
            <para>The key names used by Qt.</para>
            <para>See also QKeyEvent::key().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_AltGr">
            <summary>
            <para>On Windows, when the KeyDown event for this key is sent, the Ctrl+Alt modifiers are also set.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_Calculator">
            <summary>
            <para>On X11 this key is not mapped for legacy reasons. Use Qt::Key_Launch1 instead.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_Call">
            <summary>
            <para>A key to answer or initiate a call (see Qt::Key_ToggleCallHangup for a key to toggle current call state)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_Camera">
            <summary>
            <para>A key to activate the camera shutter</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_CameraFocus">
            <summary>
            <para>A key to focus the camera</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_Control">
            <summary>
            <para>On Mac OS X, this corresponds to the Command keys.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_Enter">
            <summary>
            <para>Typically located on the keypad.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_Hangup">
            <summary>
            <para>A key to end an ongoing call (see Qt::Key_ToggleCallHangup for a key to toggle current call state)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_Launch0">
            <summary>
            <para>On X11 this key is mapped to &quot;My Computer&quot; (XF86XK_MyComputer) key for legacy reasons.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_Launch1">
            <summary>
            <para>On X11 this key is mapped to &quot;Calculator&quot; (XF86XK_Calculator) key for legacy reasons.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_Launch2">
            <summary>
            <para>On X11 this key is mapped to XF86XK_Launch0 key for legacy reasons.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_Launch3">
            <summary>
            <para>On X11 this key is mapped to XF86XK_Launch1 key for legacy reasons.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_Launch4">
            <summary>
            <para>On X11 this key is mapped to XF86XK_Launch2 key for legacy reasons.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_Launch5">
            <summary>
            <para>On X11 this key is mapped to XF86XK_Launch3 key for legacy reasons.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_Launch6">
            <summary>
            <para>On X11 this key is mapped to XF86XK_Launch4 key for legacy reasons.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_Launch7">
            <summary>
            <para>On X11 this key is mapped to XF86XK_Launch5 key for legacy reasons.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_Launch8">
            <summary>
            <para>On X11 this key is mapped to XF86XK_Launch6 key for legacy reasons.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_Launch9">
            <summary>
            <para>On X11 this key is mapped to XF86XK_Launch7 key for legacy reasons.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_LaunchA">
            <summary>
            <para>On X11 this key is mapped to XF86XK_Launch8 key for legacy reasons.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_LaunchB">
            <summary>
            <para>On X11 this key is mapped to XF86XK_Launch9 key for legacy reasons.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_LaunchC">
            <summary>
            <para>On X11 this key is mapped to XF86XK_LaunchA key for legacy reasons.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_LaunchD">
            <summary>
            <para>On X11 this key is mapped to XF86XK_LaunchB key for legacy reasons.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_LaunchE">
            <summary>
            <para>On X11 this key is mapped to XF86XK_LaunchC key for legacy reasons.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_LaunchF">
            <summary>
            <para>On X11 this key is mapped to XF86XK_LaunchD key for legacy reasons.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_LaunchG">
            <summary>
            <para>On X11 this key is mapped to XF86XK_LaunchE key for legacy reasons.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_LaunchH">
            <summary>
            <para>On X11 this key is mapped to XF86XK_LaunchF key for legacy reasons.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_MediaPause">
            <summary>
            <para>A key setting the state of the media player to pause (Note: not the pause/break key)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_MediaPlay">
            <summary>
            <para>A key setting the state of the media player to play</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_MediaStop">
            <summary>
            <para>A key setting the state of the media player to stop</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_MediaTogglePlayPause">
            <summary>
            <para>A key to toggle the play/pause state in the media player (rather than setting an absolute state)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_Meta">
            <summary>
            <para>On Mac OS X, this corresponds to the Control keys. On Windows keyboards, this key is mapped to the Windows key.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_Pause">
            <summary>
            <para>The Pause/Break key (Note: Not anything to do with pausing media)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Key.Key_ToggleCallHangup">
            <summary>
            <para>A key to toggle the current call state (ie. either answer, or hangup) depending on current call state</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.KeyboardModifier">
            <summary>
            <para>This enum describes the modifier keys.</para>
            <para>Note: On Mac OS X, the ControlModifier value corresponds to the Command keys on the Macintosh keyboard, and the MetaModifier value corresponds to the Control keys. The KeypadModifier value will also be set when an arrow key is pressed as the arrow keys are considered part of the keypad.</para>
            <para>Note: On Windows Keyboards, Qt::MetaModifier and Qt::Key_Meta are mapped to the Windows key.</para>
            <para></para>
            <para>See also MouseButton and Modifier.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.KeyboardModifier.AltModifier">
            <summary>
            <para>An Alt key on the keyboard is pressed.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.KeyboardModifier.ControlModifier">
            <summary>
            <para>A Ctrl key on the keyboard is pressed.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.KeyboardModifier.GroupSwitchModifier">
            <summary>
            <para>X11 only. A Mode_switch key on the keyboard is pressed.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.KeyboardModifier.KeypadModifier">
            <summary>
            <para>A keypad button is pressed.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.KeyboardModifier.MetaModifier">
            <summary>
            <para>A Meta key on the keyboard is pressed.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.KeyboardModifier.NoModifier">
            <summary>
            <para>No modifier key is pressed.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.KeyboardModifier.ShiftModifier">
            <summary>
            <para>A Shift key on the keyboard is pressed.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.LayoutDirection">
            <summary>
            <para>Specifies the direction of Qt's layouts and text handling.</para>
            <para>Right-to-left layouts are necessary for certain languages, notably Arabic and Hebrew.</para>
            <para>LayoutDirectionAuto serves two purposes. When used in conjunction with widgets and layouts, it will imply to use the layout direction set on the parent widget or QApplication. This has the same effect as QWidget::unsetLayoutDirection().</para>
            <para>When LayoutDirectionAuto is used in conjunction with text layouting, it will imply that the text directionality is determined from the content of the string to be layouted.</para>
            <para>See also QApplication::setLayoutDirection(), QWidget::setLayoutDirection(), QTextOption::setTextDirection(), and QString::isRightToLeft().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.LayoutDirection.LayoutDirectionAuto">
            <summary>
            <para>Automatic layout.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.LayoutDirection.LeftToRight">
            <summary>
            <para>Left-to-right layout.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.LayoutDirection.RightToLeft">
            <summary>
            <para>Right-to-left layout.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.MaskMode">
            <summary>
            <para>This enum specifies the behavior of the QPixmap::createMaskFromColor() and QImage::createMaskFromColor() functions.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.MaskMode.MaskInColor">
            <summary>
            <para>Creates a mask where all pixels matching the given color are opaque.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.MaskMode.MaskOutColor">
            <summary>
            <para>Creates a mask where all pixels matching the given color are transparent.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.MatchFlag">
            <summary>
            <para>This enum describes the type of matches that can be used when searching for items in a model.</para>
            <para></para>
            <para>See also QString::compare() and QRegExp.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.MatchFlag.MatchCaseSensitive">
            <summary>
            <para>The search is case sensitive.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.MatchFlag.MatchContains">
            <summary>
            <para>The search term is contained in the item.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.MatchFlag.MatchEndsWith">
            <summary>
            <para>The search term matches the end of the item.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.MatchFlag.MatchExactly">
            <summary>
            <para>Performs QVariant-based matching.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.MatchFlag.MatchFixedString">
            <summary>
            <para>Performs string-based matching. String-based comparisons are case-insensitive unless the MatchCaseSensitive flag is also specified.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.MatchFlag.MatchRecursive">
            <summary>
            <para>Searches the entire hierarchy.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.MatchFlag.MatchRegExp">
            <summary>
            <para>Performs string-based matching using a regular expression as the search term.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.MatchFlag.MatchStartsWith">
            <summary>
            <para>The search term matches the start of the item.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.MatchFlag.MatchWildcard">
            <summary>
            <para>Performs string-based matching using a string with wildcards as the search term.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.MatchFlag.MatchWrap">
            <summary>
            <para>Perform a search that wraps around, so that when the search reaches the last item in the model, it begins again at the first item and continues until all items have been examined.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.Modifier">
            <summary>
            <para>This enum provides shorter names for the keyboard modifier keys supported by Qt.</para>
            <para>Note: On Mac OS X, the CTRL value corresponds to the Command keys on the Macintosh keyboard, and the META value corresponds to the Control keys.</para>
            <para>See also KeyboardModifier and MouseButton.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Modifier.ALT">
            <summary>
            <para>The normal Alt keys, but not keys like AltGr.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Modifier.CTRL">
            <summary>
            <para>The Ctrl keys.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Modifier.META">
            <summary>
            <para>The Meta keys.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Modifier.SHIFT">
            <summary>
            <para>The Shift keys provided on all standard keyboards.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.Modifier.UNICODE_ACCEL">
            <summary>
            <para>The shortcut is specified as a Unicode code point, not as a Qt Key.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.MouseButton">
            <summary>
            <para>This enum type describes the different mouse buttons.</para>
            <para></para>
            <para>See also KeyboardModifier and Modifier.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.MouseButton.LeftButton">
            <summary>
            <para>The left button is pressed, or an event refers to the left button. (The left button may be the right button on left-handed mice.)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.MouseButton.MidButton">
            <summary>
            <para>The middle button.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.MouseButton.MiddleButton">
            <summary>
            <para>The middle button.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.MouseButton.NoButton">
            <summary>
            <para>The button state does not refer to any button (see QMouseEvent::button()).</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.MouseButton.RightButton">
            <summary>
            <para>The right button.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.MouseButton.XButton1">
            <summary>
            <para>The first X button.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.MouseButton.XButton2">
            <summary>
            <para>The second X button.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.NavigationMode">
            <summary>
            <para>This enum type describes the mode for moving focus.</para>
            <para>Note:: in 4.6, cursor navigation is only implemented for Symbian OS. On other platforms, it behaves as NavigationModeNone.</para>
            <para>This enum was introduced or modified in Qt 4.6.</para>
            <para>See also QApplication::setNavigationMode() and QApplication::navigationMode().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.NavigationMode.NavigationModeCursorAuto">
            <summary>
            <para>The mouse cursor is used to change focus, it is displayed only on non touchscreen devices. The keypad is used to implement a virtual cursor, unless the device has an analog mouse type of input device (e.g. touchpad). This is the recommended setting for an application such as a web browser that needs pointer control on both touch and non-touch devices.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.NavigationMode.NavigationModeCursorForceVisible">
            <summary>
            <para>The mouse cursor is used to change focus, it is displayed regardless of device type. The keypad is used to implement a virtual cursor, unless the device has an analog mouse type of input device (e.g. touchpad)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.NavigationMode.NavigationModeKeypadDirectional">
            <summary>
            <para>Qt::Key_Up, Qt::Key_Down, Qt::Key_Left and Qt::Key_Right are used to change focus.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.NavigationMode.NavigationModeKeypadTabOrder">
            <summary>
            <para>Qt::Key_Up and Qt::Key_Down are used to change focus.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.NavigationMode.NavigationModeNone">
            <summary>
            <para>Only the touch screen is used.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.Orientation">
            <summary>
            <para>This type is used to signify an object's orientation.</para>
            <para>Orientation is used with QScrollBar for example.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.PenCapStyle">
            <summary>
            <para>This enum type defines the pen cap styles supported by Qt, i.e. the line end caps that can be drawn using QPainter.</para>
            <para></para>
            <para>	</para>
            <para>Qt::SquareCap	Qt::FlatCap	Qt::RoundCap</para>
            <para></para>
            <para>See also QPen.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.PenCapStyle.FlatCap">
            <summary>
            <para>A square line end that does not cover the end point of the line.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.PenCapStyle.RoundCap">
            <summary>
            <para>A rounded line end.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.PenCapStyle.SquareCap">
            <summary>
            <para>A square line end that covers the end point and extends beyond it by half the line width.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.PenJoinStyle">
            <summary>
            <para>This enum type defines the pen join styles supported by Qt, i.e. which joins between two connected lines can be drawn using QPainter.</para>
            <para></para>
            <para>	</para>
            <para>Qt::BevelJoin	Qt::MiterJoin	Qt::RoundJoin</para>
            <para></para>
            <para>See also QPen.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.PenJoinStyle.BevelJoin">
            <summary>
            <para>The triangular notch between the two lines is filled.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.PenJoinStyle.MiterJoin">
            <summary>
            <para>The outer edges of the lines are extended to meet at an angle, and this area is filled.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.PenJoinStyle.RoundJoin">
            <summary>
            <para>A circular arc between the two lines is filled.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.PenJoinStyle.SvgMiterJoin">
            <summary>
            <para>A miter join corresponding to the definition of a miter join in the SVG 1.2 Tiny specification.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.PenStyle">
            <summary>
            <para>This enum type defines the pen styles that can be drawn using QPainter. The styles are:</para>
            <para></para>
            <para>	</para>
            <para>Qt::SolidLine	Qt::DashLine	Qt::DotLine</para>
            <para>	</para>
            <para>Qt::DashDotLine	Qt::DashDotDotLine	Qt::CustomDashLine</para>
            <para></para>
            <para>See also QPen.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.PenStyle.CustomDashLine">
            <summary>
            <para>A custom pattern defined using QPainterPathStroker::setDashPattern().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.PenStyle.DashDotDotLine">
            <summary>
            <para>One dash, two dots, one dash, two dots.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.PenStyle.DashDotLine">
            <summary>
            <para>Alternate dots and dashes.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.PenStyle.DashLine">
            <summary>
            <para>Dashes separated by a few pixels.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.PenStyle.DotLine">
            <summary>
            <para>Dots separated by a few pixels.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.PenStyle.NoPen">
            <summary>
            <para>No line at all. For example, QPainter::drawRect() fills but does not draw any boundary line.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.PenStyle.SolidLine">
            <summary>
            <para>A plain line.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.ScrollBarPolicy">
            <summary>
            <para>This enum type describes the various modes of QAbstractScrollArea's scroll bars.</para>
            <para>(The modes for the horizontal and vertical scroll bars are independent.)</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff">
            <summary>
            <para>QAbstractScrollArea never shows a scroll bar.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOn">
            <summary>
            <para>QAbstractScrollArea always shows a scroll bar.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ScrollBarPolicy.ScrollBarAsNeeded">
            <summary>
            <para>QAbstractScrollArea shows a scroll bar when the content is too large to fit and not otherwise. This is the default.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.ShortcutContext">
            <summary>
            <para>For a QEvent::Shortcut event to occur, the shortcut's key sequence must be entered by the user in a context where the shortcut is active. The possible contexts are these:</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ShortcutContext.ApplicationShortcut">
            <summary>
            <para>The shortcut is active when one of the applications windows are active.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ShortcutContext.WidgetShortcut">
            <summary>
            <para>The shortcut is active when its parent widget has focus.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ShortcutContext.WidgetWithChildrenShortcut">
            <summary>
            <para>The shortcut is active when its parent widget, or any of its children has focus. Children which are top-level widgets, except pop-ups, are not affected by this shortcut context.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ShortcutContext.WindowShortcut">
            <summary>
            <para>The shortcut is active when its parent widget is a logical subwidget of the active top-level window.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.SizeHint">
            <summary>
            <para>This enum is used by QGraphicsLayoutItem::sizeHint()</para>
            <para>This enum was introduced or modified in Qt 4.4.</para>
            <para>See also QGraphicsLayoutItem::sizeHint().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.SizeHint.MaximumSize">
            <summary>
            <para>Is used to specify the maximum size of a graphics layout item.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.SizeHint.MinimumDescent">
            <summary>
            <para>Is used to specify the minimum descent of a text string in a graphics layout item.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.SizeHint.MinimumSize">
            <summary>
            <para>Is used to specify the minimum size of a graphics layout item.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.SizeHint.PreferredSize">
            <summary>
            <para>Is used to specify the preferred size of a graphics layout item.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.SizeMode">
            <summary>
            <para>This enum is used by QPainter::drawRoundedRect() and QPainterPath::addRoundedRect() functions to specify the radii of rectangle corners with respect to the dimensions of the bounding rectangles specified.</para>
            <para>This enum was introduced or modified in Qt 4.4.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.SizeMode.AbsoluteSize">
            <summary>
            <para>Specifies the size using absolute measurements.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.SizeMode.RelativeSize">
            <summary>
            <para>Specifies the size relative to the bounding rectangle, typically using percentage measurements.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.SortOrder">
            <summary>
            <para>This enum describes how the items in a widget are sorted.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.SortOrder.AscendingOrder">
            <summary>
            <para>The items are sorted ascending e.g. starts with 'AAA' ends with 'ZZZ' in Latin-1 locales</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.SortOrder.DescendingOrder">
            <summary>
            <para>The items are sorted descending e.g. starts with 'ZZZ' ends with 'AAA' in Latin-1 locales</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.TextElideMode">
            <summary>
            <para>This enum specifies where the ellipsis should appear when displaying texts that don't fit:</para>
            <para>Qt::ElideMiddle is normally the most appropriate choice for URLs (e.g., &quot;http://bugreports.qt.../QTWEBSITE-13/&quot;), whereas Qt::ElideRight is appropriate for other strings (e.g., &quot;Deploying Applications on Ma...&quot;).</para>
            <para>See also QAbstractItemView::textElideMode, QFontMetrics::elidedText(), AlignmentFlag, and QTabBar::elideMode.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextElideMode.ElideLeft">
            <summary>
            <para>The ellipsis should appear at the beginning of the text.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextElideMode.ElideMiddle">
            <summary>
            <para>The ellipsis should appear in the middle of the text.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextElideMode.ElideNone">
            <summary>
            <para>Ellipsis should NOT appear in the text.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextElideMode.ElideRight">
            <summary>
            <para>The ellipsis should appear at the end of the text.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.TextFlag">
            <summary>
            <para>This enum type is used to define some modifier flags. Some of these flags only make sense in the context of printing:</para>
            <para>Ensures that the longest variant is always used when computing the size of a multi-variant string. (Internal)</para>
            <para>You can use as many modifier flags as you want, except that Qt::TextSingleLine and Qt::TextWordWrap cannot be combined.</para>
            <para>Flags that are inappropriate for a given use are generally ignored.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextFlag.TextDontClip">
            <summary>
            <para>If it's impossible to stay within the given bounds, it prints outside.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextFlag.TextDontPrint">
            <summary>
            <para>Treat this text as &quot;hidden&quot; and don't print it.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextFlag.TextExpandTabs">
            <summary>
            <para>Makes the U+0009 (ASCII tab) character move to the next tab stop.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextFlag.TextHideMnemonic">
            <summary>
            <para>Same as Qt::TextShowMnemonic but doesn't draw the underlines.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextFlag.TextIncludeTrailingSpaces">
            <summary>
            <para>Same as IncludeTrailingSpaces</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextFlag.TextJustificationForced">
            <summary>
            <para>Ensures that text lines are justified.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextFlag.TextShowMnemonic">
            <summary>
            <para>Displays the string &quot;&amp;P&quot; as P (see QButton for an example). For an ampersand, use &quot;&amp;&amp;&quot;.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextFlag.TextSingleLine">
            <summary>
            <para>Treats all whitespace as spaces and prints just one line.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextFlag.TextWordWrap">
            <summary>
            <para>Breaks lines at appropriate points, e.g. at word boundaries.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextFlag.TextWrapAnywhere">
            <summary>
            <para>Breaks lines anywhere, even within words.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.TextFormat">
            <summary>
            <para>This enum is used in widgets that can display both plain text and rich text, e.g. QLabel. It is used for deciding whether a text string should be interpreted as one or the other. This is normally done by passing one of the enum values to a setTextFormat() function.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextFormat.AutoText">
            <summary>
            <para>The text string is interpreted as for Qt::RichText if Qt::mightBeRichText() returns true, otherwise as Qt::PlainText.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextFormat.LogText">
            <summary>
            <para>A special, limited text format which is only used by Q3TextEdit in an optimized mode.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextFormat.PlainText">
            <summary>
            <para>The text string is interpreted as a plain text string.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextFormat.RichText">
            <summary>
            <para>The text string is interpreted as a rich text string.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.TextInteractionFlag">
            <summary>
            <para>This enum specifies how a text displaying widget reacts to user input.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextInteractionFlag.LinksAccessibleByKeyboard">
            <summary>
            <para>Links can be focused using tab and activated with enter.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextInteractionFlag.LinksAccessibleByMouse">
            <summary>
            <para>Links can be highlighted and activated with the mouse.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextInteractionFlag.NoTextInteraction">
            <summary>
            <para>No interaction with the text is possible.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextInteractionFlag.TextBrowserInteraction">
            <summary>
            <para>The default for QTextBrowser.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextInteractionFlag.TextEditable">
            <summary>
            <para>The text is fully editable.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextInteractionFlag.TextEditorInteraction">
            <summary>
            <para>The default for a text editor.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextInteractionFlag.TextSelectableByKeyboard">
            <summary>
            <para>Text can be selected with the cursor keys on the keyboard. A text cursor is shown.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TextInteractionFlag.TextSelectableByMouse">
            <summary>
            <para>Text can be selected with the mouse and copied to the clipboard using a context menu or standard keyboard shortcuts.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.TileRule">
            <summary>
            <para>This enum describes how to repeat or stretch the parts of an image when drawing.</para>
            <para>This enum was introduced or modified in Qt 4.6.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TileRule.RepeatTile">
            <summary>
            <para>Repeat the image until there is no more space. May crop the last image.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TileRule.RoundTile">
            <summary>
            <para>Similar to Repeat, but scales the image down to ensure that the last tile is not cropped.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TileRule.StretchTile">
            <summary>
            <para>Scale the image to fit to the available area.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TimeSpec.LocalTime">
            <summary>
            <para>Locale dependent time (Timezones and Daylight Savings Time).</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TimeSpec.OffsetFromUTC">
            <summary>
            <para>An offset in seconds from Coordinated Universal Time.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TimeSpec.UTC">
            <summary>
            <para>Coordinated Universal Time, replaces Greenwich Mean Time.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.ToolButtonStyle">
            <summary>
            <para>The style of the tool button, describing how the button's text and icon should be displayed.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ToolButtonStyle.ToolButtonFollowStyle">
            <summary>
            <para>Follow the style.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ToolButtonStyle.ToolButtonIconOnly">
            <summary>
            <para>Only display the icon.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ToolButtonStyle.ToolButtonTextBesideIcon">
            <summary>
            <para>The text appears beside the icon.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ToolButtonStyle.ToolButtonTextOnly">
            <summary>
            <para>Only display the text.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.ToolButtonStyle.ToolButtonTextUnderIcon">
            <summary>
            <para>The text appears under the icon.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.TouchPointState">
            <summary>
            <para>This enum represents the state of a touch point at the time the QTouchEvent occurred.</para>
            <para>This enum was introduced or modified in Qt 4.6.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TouchPointState.TouchPointMoved">
            <summary>
            <para>The touch point moved.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TouchPointState.TouchPointPressed">
            <summary>
            <para>The touch point is now pressed.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TouchPointState.TouchPointReleased">
            <summary>
            <para>The touch point was released.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TouchPointState.TouchPointStationary">
            <summary>
            <para>The touch point did not move.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.TransformationMode">
            <summary>
            <para>This enum type defines whether image transformations (e.g., scaling) should be smooth or not.</para>
            <para>See also QImage::scaled().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TransformationMode.FastTransformation">
            <summary>
            <para>The transformation is performed quickly, with no smoothing.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.TransformationMode.SmoothTransformation">
            <summary>
            <para>The resulting image is transformed using bilinear filtering.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.UIEffect">
            <summary>
            <para>This enum describes the available UI effects.</para>
            <para>By default, Qt will try to use the platform specific desktop settings for each effect. Use the QApplication::setDesktopSettingsAware() function (passing false as argument) to prevent this, and the QApplication::setEffectEnabled() to enable or disable a particular effect.</para>
            <para>Note that all effects are disabled on screens running at less than 16-bit color depth.</para>
            <para>See also QApplication::setEffectEnabled() and QApplication::setDesktopSettingsAware().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.UIEffect.UI_AnimateCombo">
            <summary>
            <para>Show animated comboboxes.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.UIEffect.UI_AnimateMenu">
            <summary>
            <para>Show animated menus.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.UIEffect.UI_AnimateToolBox">
            <summary>
            <para>Reserved</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.UIEffect.UI_AnimateTooltip">
            <summary>
            <para>Show tooltip animations.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.UIEffect.UI_FadeMenu">
            <summary>
            <para>Show faded menus.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.UIEffect.UI_FadeTooltip">
            <summary>
            <para>Show tooltip fading effects.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.WidgetAttribute">
            <summary>
            <para>This enum type is used to specify various widget attributes. Attributes are set and cleared with QWidget::setAttribute(), and queried with QWidget::testAttribute(), although some have special convenience functions which are mentioned below.</para>
            <para>Warning: This flag must never be set or cleared by the widget's author.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_AcceptDrops">
            <summary>
            <para>Allows data from drag and drop operations to be dropped onto the widget (see QWidget::setAcceptDrops()).</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_AcceptTouchEvents">
            <summary>
            <para>Allows touch events (see QTouchEvent) to be sent to the widget. Must be set on all widgets that can handle touch events. Without this attribute set, events from a touch device will be sent as mouse events.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_AlwaysShowToolTips">
            <summary>
            <para>Enables tooltips for inactive windows.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_AutoOrientation">
            <summary>
            <para>Causes the widget to change orientation whenever the display changes orientation with respect to the user.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_ContentsPropagated">
            <summary>
            <para>This flag is superfluous and obsolete; it no longer has any effect. Since Qt 4.1, all widgets that do not set WA_PaintOnScreen propagate their contents.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_CustomWhatsThis">
            <summary>
            <para>Indicates that the widget wants to continue operating normally in &quot;What's This?&quot; mode. This is set by the widget's author.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_DeleteOnClose">
            <summary>
            <para>Makes Qt delete this widget when the widget has accepted the close event (see QWidget::closeEvent()).</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_Disabled">
            <summary>
            <para>Indicates that the widget is disabled, i.e. it does not receive any mouse or keyboard events. There is also a getter functions QWidget::isEnabled(). This is set/cleared by the Qt kernel.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_DontCreateNativeAncestors">
            <summary>
            <para>Indicates that the widget's ancestors are kept non-native even though the widget itself is native.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_DontShowOnScreen">
            <summary>
            <para>Indicates that the widget is hidden or is not a part of the viewable Desktop.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_ForceDisabled">
            <summary>
            <para>Indicates that the widget is explicitly disabled, i.e. it will remain disabled even when all its ancestors are set to the enabled state. This implies WA_Disabled. This is set/cleared by QWidget::setEnabled() and QWidget::setDisabled().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_ForceUpdatesDisabled">
            <summary>
            <para>Indicates that updates are explicitly disabled for the widget; i.e. it will remain disabled even when all its ancestors are set to the updates-enabled state. This implies WA_UpdatesDisabled. This is set/cleared by QWidget::setUpdatesEnabled().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_GroupLeader">
            <summary>
            <para>This attribute has been deprecated. Use QWidget::windowModality instead.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_Hover">
            <summary>
            <para>Forces Qt to generate paint events when the mouse enters or leaves the widget. This feature is typically used when implementing custom styles; see the Styles example for details.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_InputMethodEnabled">
            <summary>
            <para>Enables input methods for Asian languages. Must be set when creating custom text editing widgets. On Windows CE and Symbian this flag can be used in addition to QApplication::autoSipEnabled to automatically display the SIP when entering a widget.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_KeyCompression">
            <summary>
            <para>Enables key event compression if set, and disables it if not set. By default key compression is off, so widgets receive one key press event for each key press (or more, since autorepeat is usually on). If you turn it on and your program doesn't keep up with key input, Qt may try to compress key events so that more than one character can be processed in each event. For example, a word processor widget might receive 2, 3 or more characters in each QKeyEvent::text(), if the layout recalculation takes too long for the CPU. If a widget supports multiple character unicode input, it is always safe to turn the compression on. Qt performs key event compression only for printable characters. Qt::Modifier keys, cursor movement keys, function keys and miscellaneous action keys (e.g. Escape, Enter, Backspace, PrintScreen) will stop key event compression, even if there are more compressible key events available. Platforms other than Mac and X11 do not support this compression, in which case turning it on will have no effect. This is set/cleared by the widget's author.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_KeyboardFocusChange">
            <summary>
            <para>Set on a toplevel window when the users changes focus with the keyboard (tab, backtab, or shortcut).</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_LayoutOnEntireRect">
            <summary>
            <para>Indicates that the widget wants QLayout to operate on the entire QWidget::rect(), not only on QWidget::contentsRect(). This is set by the widget's author.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_LayoutUsesWidgetRect">
            <summary>
            <para>Ignore the layout item rect from the style when laying out this widget with QLayout. This makes a difference in QMacStyle and QPlastiqueStyle for some widgets.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_LockLandscapeOrientation">
            <summary>
            <para>Locks the widget to a landscape orientation, ignoring changes to the display's orientation with respect to the user.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_LockPortraitOrientation">
            <summary>
            <para>Locks the widget to a portrait orientation, ignoring changes to the display's orientation with respect to the user.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_MSWindowsUseDirect3D">
            <summary>
            <para>This value is obsolete and has no effect.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_MacAlwaysShowToolWindow">
            <summary>
            <para>On Mac OS X, show the tool window even when the application is not active. By default, all tool windows are hidden when the application is inactive.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_MacBrushedMetal">
            <summary>
            <para>Indicates the widget should be drawn in the brushed metal style as supported by the windowing system. This attribute is only applicable to Mac OS X.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_MacFrameworkScaled">
            <summary>
            <para>Enables resolution independence aware mode on Mac when using Carbon. This attribute has no effect on Cocoa. The attribute is off by default and can be enabled on a per-window basis.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_MacMiniSize">
            <summary>
            <para>Indicates the widget should have the mini size for widgets in Mac OS X. This attribute is only applicable to Mac OS X.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_MacNoClickThrough">
            <summary>
            <para>When a widget that has this attribute set is clicked, and its window is inactive, the click will make the window active but won't be seen by the widget. Typical use of this attribute is on widgets with &quot;destructive&quot; actions, such as a &quot;Delete&quot; button. WA_MacNoClickThrough also applies to all child widgets of the widget that has it set.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_MacNoShadow">
            <summary>
            <para>Since Qt 4.8, this attribute disables drop shadows for this top level window. Only affects Cocoa builds of Qt for Mac OS X.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_MacNormalSize">
            <summary>
            <para>Indicates the widget should have the normal size for widgets in Mac OS X. This attribute is only applicable to Mac OS X.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_MacOpaqueSizeGrip">
            <summary>
            <para>Indicates that the native Carbon size grip should be opaque instead of transparent (the default). This attribute is only applicable to Mac OS X and is set by the widget's author.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_MacShowFocusRect">
            <summary>
            <para>Indicates that this widget should get a QFocusFrame around it. Some widgets draw their own focus halo regardless of this attribute. Not that the QWidget::focusPolicy also plays the main role in whether something is given focus or not, this only controls whether or not this gets the focus frame. This attribute is only applicable to Mac OS X.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_MacSmallSize">
            <summary>
            <para>Indicates the widget should have the small size for widgets in Mac OS X. This attribute is only applicable to Mac OS X.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_MacVariableSize">
            <summary>
            <para>Indicates the widget can choose between alternative sizes for widgets to avoid clipping. This attribute is only applicable to Mac OS X.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_Mapped">
            <summary>
            <para>Indicates that the widget is mapped on screen. This is set/cleared by the Qt kernel.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_MergeSoftkeys">
            <summary>
            <para>Allows widget to merge softkeys with parent widget, i.e. widget can set only one softkeys and request softkey implementation to take rest of the softkeys from the parent. Note parents are traversed until WA_MergeSoftkeys is not set. See also Qt::WA_MergeSoftkeysRecursively This attribute currently has effect only on Symbian platforms</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_MergeSoftkeysRecursively">
            <summary>
            <para>Allows widget to merge softkeys recursively with all parents. If this attribute is set, the widget parents are traversed until window boundary (widget without parent or dialog) is found. This attribute currently has effect only on Symbian platforms</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_MouseNoMask">
            <summary>
            <para>Makes the widget receive mouse events for the entire widget regardless of the currently set mask, overriding QWidget::setMask(). This is not applicable for top-level windows.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_MouseTracking">
            <summary>
            <para>Indicates that the widget has mouse tracking enabled. See QWidget::mouseTracking.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_Moved">
            <summary>
            <para>Indicates that the widget has an explicit position. This is set/cleared by QWidget::move() and by QWidget::setGeometry().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_NativeWindow">
            <summary>
            <para>Indicates that a native window is created for the widget. Enabling this flag will also force a native window for the widget's ancestors unless Qt::WA_DontCreateNativeAncestors is set.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_NoBackground">
            <summary>
            <para>This value is obsolete. Use WA_OpaquePaintEvent instead.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_NoChildEventsForParent">
            <summary>
            <para>Indicates that the widget does not want ChildAdded or ChildRemoved events sent to its parent. This is rarely necessary but can help to avoid automatic insertion widgets like splitters and layouts. This is set by a widget's author.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_NoChildEventsFromChildren">
            <summary>
            <para>Indicates that the widget does not want to receive ChildAdded or ChildRemoved events sent from its children. This is set by a widget's author.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_NoMousePropagation">
            <summary>
            <para>Prohibits mouse events from being propagated to the widget's parent. This attribute is disabled by default.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_NoMouseReplay">
            <summary>
            <para>Used for pop-up widgets. Indicates that the most recent mouse press event should not be replayed when the pop-up widget closes. The flag is set by the widget's author and cleared by the Qt kernel every time the widget receives a new mouse event.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_NoSystemBackground">
            <summary>
            <para>Indicates that the widget has no background, i.e. when the widget receives paint events, the background is not automatically repainted. Note: Unlike WA_OpaquePaintEvent, newly exposed areas are never filled with the background (e.g., after showing a window for the first time the user can see &quot;through&quot; it until the application processes the paint events). This flag is set or cleared by the widget's author.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_OpaquePaintEvent">
            <summary>
            <para>Indicates that the widget paints all its pixels when it receives a paint event. Thus, it is not required for operations like updating, resizing, scrolling and focus changes to erase the widget before generating paint events. The use of WA_OpaquePaintEvent provides a small optimization by helping to reduce flicker on systems that do not support double buffering and avoiding computational cycles necessary to erase the background prior to painting. Note: Unlike WA_NoSystemBackground, WA_OpaquePaintEvent makes an effort to avoid transparent window backgrounds. This flag is set or cleared by the widget's author.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_OutsideWSRange">
            <summary>
            <para>Indicates that the widget is outside the valid range of the window system's coordinate system. A widget outside the valid range cannot be mapped on screen. This is set/cleared by the Qt kernel.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_PaintOnScreen">
            <summary>
            <para>Indicates that the widget wants to draw directly onto the screen. Widgets with this attribute set do not participate in composition management, i.e. they cannot be semi-transparent or shine through semi-transparent overlapping widgets. Note: This flag is only supported on X11 and it disables double buffering. On Qt for Embedded Linux, the flag only works when set on a top-level widget and it relies on support from the active screen driver. This flag is set or cleared by the widget's author. To render outside of Qt's paint system, e.g., if you require native painting primitives, you need to reimplement QWidget::paintEngine() to return 0 and set this flag.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_PaintOutsidePaintEvent">
            <summary>
            <para>Makes it possible to use QPainter to paint on the widget outside paintEvent(). This flag is not supported on Windows, Mac OS X or Embedded Linux. We recommend that you use it only when porting Qt 3 code to Qt 4.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_PaintUnclipped">
            <summary>
            <para>Makes all painters operating on this widget unclipped. Children of this widget or other widgets in front of it do not clip the area the painter can paint on. This flag is only supported for widgets with the WA_PaintOnScreen flag set. The preferred way to do this in a cross platform way is to create a transparent widget that lies in front of the other widgets.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_PendingMoveEvent">
            <summary>
            <para>Indicates that a move event is pending, e.g., when a hidden widget was moved. This flag is set or cleared by the Qt kernel.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_PendingResizeEvent">
            <summary>
            <para>Indicates that a resize event is pending, e.g., when a hidden widget was resized. This flag is set or cleared by the Qt kernel.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_QuitOnClose">
            <summary>
            <para>Makes Qt quit the application when the last widget with the attribute set has accepted closeEvent(). This behavior can be modified with the QApplication::quitOnLastWindowClosed property. By default this attribute is set for all widgets of type Qt::Window.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_Resized">
            <summary>
            <para>Indicates that the widget has an explicit size. This flag is set or cleared by QWidget::resize() and QWidget::setGeometry().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_RightToLeft">
            <summary>
            <para>Indicates that the layout direction for the widget is right to left.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_SetCursor">
            <summary>
            <para>Indicates that the widget has a cursor of its own. This flag is set or cleared by QWidget::setCursor() and QWidget::unsetCursor().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_SetFont">
            <summary>
            <para>Indicates that the widget has a font of its own. This flag is set or cleared by QWidget::setFont().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_SetLocale">
            <summary>
            <para>Indicates the locale should be taken into consideration in the widget.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_SetPalette">
            <summary>
            <para>Indicates that the widget has a palette of its own. This flag is set or cleared by QWidget::setPalette().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_SetStyle">
            <summary>
            <para>Indicates that the widget has a style of its own. This flag is set or cleared by QWidget::setStyle().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_ShowModal">
            <summary>
            <para>This attribute has been deprecated. Use QWidget::windowModality instead.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_ShowWithoutActivating">
            <summary>
            <para>Show the widget without making it active.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_StaticContents">
            <summary>
            <para>Indicates that the widget contents are north-west aligned and static. On resize, such a widget will receive paint events only for parts of itself that are newly visible. This flag is set or cleared by the widget's author.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_StyleSheet">
            <summary>
            <para>Indicates that the widget is styled using a style sheet.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_StyledBackground">
            <summary>
            <para>Indicates the widget should be drawn using a styled background.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_TouchPadAcceptSingleTouchEvents">
            <summary>
            <para>Allows touchpad single touch events to be sent to the widget.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_TranslucentBackground">
            <summary>
            <para>Indicates that the widget should have a translucent background, i.e., any non-opaque regions of the widgets will be translucent because the widget will have an alpha channel. Setting this flag causes WA_NoSystemBackground to be set. On Windows the widget also needs the Qt::FramelessWindowHint window flag to be set. This flag is set or cleared by the widget's author.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_TransparentForMouseEvents">
            <summary>
            <para>When enabled, this attribute disables the delivery of mouse events to the widget and its children. Mouse events are delivered to other widgets as if the widget and its children were not present in the widget hierarchy; mouse clicks and other events effectively &quot;pass through&quot; them. This attribute is disabled by default.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_UnderMouse">
            <summary>
            <para>Indicates that the widget is under the mouse cursor. The value is not updated correctly during drag and drop operations. There is also a getter function, QWidget::underMouse(). This flag is set or cleared by the Qt kernel.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_UpdatesDisabled">
            <summary>
            <para>Indicates that updates are blocked (including the system background). This flag is set or cleared by the Qt kernel.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_WindowModified">
            <summary>
            <para>Indicates that the window is marked as modified. On some platforms this flag will do nothing, on others (including Mac OS X and Windows) the window will take a modified appearance. This flag is set or cleared by QWidget::setWindowModified().</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_WindowPropagation">
            <summary>
            <para>Makes a toplevel window inherit font and palette from its parent.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_X11DoNotAcceptFocus">
            <summary>
            <para>Asks the window manager to not give focus to this top level window. This attribute has no effect on non-X11 platforms.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_X11NetWmWindowTypeCombo">
            <summary>
            <para>Adds _NET_WM_WINDOW_TYPE_COMBO to the window's _NET_WM_WINDOW_TYPE X11 window property. See http://standards.freedesktop.org/wm-spec/ for more details. This attribute has no effect on non-X11 platforms. Note: Qt automatically sets this attribute for the QComboBox pop-up.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_X11NetWmWindowTypeDND">
            <summary>
            <para>Adds _NET_WM_WINDOW_TYPE_DND to the window's _NET_WM_WINDOW_TYPE X11 window property. See http://standards.freedesktop.org/wm-spec/ for more details. This attribute has no effect on non-X11 platforms. Note: Qt automatically sets this attribute on the feedback widget used during a drag.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_X11NetWmWindowTypeDesktop">
            <summary>
            <para>Adds _NET_WM_WINDOW_TYPE_DESKTOP to the window's _NET_WM_WINDOW_TYPE X11 window property. See http://standards.freedesktop.org/wm-spec/ for more details. This attribute has no effect on non-X11 platforms.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_X11NetWmWindowTypeDialog">
            <summary>
            <para>Adds _NET_WM_WINDOW_TYPE_DIALOG to the window's _NET_WM_WINDOW_TYPE X11 window property. See http://standards.freedesktop.org/wm-spec/ for more details. This attribute has no effect on non-X11 platforms. Note: Qt automatically sets this attribute for the Qt::Dialog and Qt::Sheet window types.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_X11NetWmWindowTypeDock">
            <summary>
            <para>Adds _NET_WM_WINDOW_TYPE_DOCK to the window's _NET_WM_WINDOW_TYPE X11 window property. See http://standards.freedesktop.org/wm-spec/ for more details. This attribute has no effect on non-X11 platforms.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_X11NetWmWindowTypeDropDownMenu">
            <summary>
            <para>Adds _NET_WM_WINDOW_TYPE_DROPDOWN_MENU to the window's _NET_WM_WINDOW_TYPE X11 window property. See http://standards.freedesktop.org/wm-spec/ for more details. This attribute has no effect on non-X11 platforms. Note: Qt automatically sets this attribute for QMenus added to a QMenuBar.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_X11NetWmWindowTypeMenu">
            <summary>
            <para>Adds _NET_WM_WINDOW_TYPE_MENU to the window's _NET_WM_WINDOW_TYPE X11 window property. See http://standards.freedesktop.org/wm-spec/ for more details. This attribute has no effect on non-X11 platforms. Note: Qt automatically sets this attribute for QMenu when torn-off.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_X11NetWmWindowTypeNotification">
            <summary>
            <para>Adds _NET_WM_WINDOW_TYPE_NOTIFICATION to the window's _NET_WM_WINDOW_TYPE X11 window property. See http://standards.freedesktop.org/wm-spec/ for more details. This attribute has no effect on non-X11 platforms.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_X11NetWmWindowTypePopupMenu">
            <summary>
            <para>Adds _NET_WM_WINDOW_TYPE_POPUP_MENU to the window's _NET_WM_WINDOW_TYPE X11 window property. See http://standards.freedesktop.org/wm-spec/ for more details. This attribute has no effect on non-X11 platforms. Note: Qt automatically sets this attribute for QMenu.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_X11NetWmWindowTypeSplash">
            <summary>
            <para>Adds _NET_WM_WINDOW_TYPE_SPLASH to the window's _NET_WM_WINDOW_TYPE X11 window property. See http://standards.freedesktop.org/wm-spec/ for more details. This attribute has no effect on non-X11 platforms. Note: Qt automatically sets this attribute for the Qt::SplashScreen window type.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_X11NetWmWindowTypeToolBar">
            <summary>
            <para>Adds _NET_WM_WINDOW_TYPE_TOOLBAR to the window's _NET_WM_WINDOW_TYPE X11 window property. See http://standards.freedesktop.org/wm-spec/ for more details. This attribute has no effect on non-X11 platforms. Note: Qt automaticaly sets this attribute for QToolBar.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_X11NetWmWindowTypeToolTip">
            <summary>
            <para>Adds _NET_WM_WINDOW_TYPE_TOOLTIP to the window's _NET_WM_WINDOW_TYPE X11 window property. See http://standards.freedesktop.org/wm-spec/ for more details. This attribute has no effect on non-X11 platforms. Note: Qt automatically sets this attribute for the Qt::ToolTip window type.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WidgetAttribute.WA_X11NetWmWindowTypeUtility">
            <summary>
            <para>Adds _NET_WM_WINDOW_TYPE_UTILITY to the window's _NET_WM_WINDOW_TYPE X11 window property. See http://standards.freedesktop.org/wm-spec/ for more details. This attribute has no effect on non-X11 platforms. Note: Qt automatically sets this attribute for the Qt::Tool window type.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.WindowFrameSection">
            <summary>
            <para>This enum is used to describe parts of a window frame. It is returned by QGraphicsWidget::windowFrameSectionAt() to describe what section of the window frame is under the mouse.</para>
            <para>This enum was introduced or modified in Qt 4.4.</para>
            <para>See also QGraphicsWidget::windowFrameEvent(), QGraphicsWidget::paintWindowFrame(), and QGraphicsWidget::windowFrameSectionAt().</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.WindowModality">
            <summary>
            <para>This enum specifies the behavior of a modal window. A modal window is one that blocks input to other windows. Note that windows that are children of a modal window are not blocked.</para>
            <para>The values are:</para>
            <para>See also QWidget::windowModality and QDialog.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowModality.ApplicationModal">
            <summary>
            <para>The window is modal to the application and blocks input to all windows.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowModality.NonModal">
            <summary>
            <para>The window is not modal and does not block input to other windows.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowModality.WindowModal">
            <summary>
            <para>The window is modal to a single window hierarchy and blocks input to its parent window, all grandparent windows, and all siblings of its parent and grandparent windows.</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.WindowState">
            <summary>
            <para>This enum type is used to specify the current state of a top-level window.</para>
            <para>The states are</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowState.WindowActive">
            <summary>
            <para>The window is the active window, i.e. it has keyboard focus.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowState.WindowFullScreen">
            <summary>
            <para>The window fills the entire screen without any frame around it.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowState.WindowMaximized">
            <summary>
            <para>The window is maximized with a frame around it.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowState.WindowMinimized">
            <summary>
            <para>The window is minimized (i.e. iconified).</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowState.WindowNoState">
            <summary>
            <para>The window has no state set (in normal state).</para>
            </summary>
        </member>
        <member name="T:QtCore.Qt.WindowType">
            <summary>
            <para>This enum type is used to specify various window-system properties for the widget. They are fairly unusual but necessary in a few cases. Some of these flags depend on whether the underlying window manager supports them.</para>
            <para>The main types are</para>
            <para>There are also a number of flags which you can use to customize the appearance of top-level windows. These have no effect on other windows:</para>
            <para>The CustomizeWindowHint flag is used to enable customization of the window controls. This flag must be set to allow the WindowTitleHint, WindowSystemMenuHint, WindowMinimizeButtonHint, WindowMaximizeButtonHint and WindowCloseButtonHint flags to be changed.</para>
            <para>Obsolete flags:</para>
            <para></para>
            <para>See also QWidget::windowFlags and Window Flags Example.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.BypassGraphicsProxyWidget">
            <summary>
            <para>Prevents the window and its children from automatically embedding themselves into a QGraphicsProxyWidget if the parent widget is already embedded. You can set this flag if you want your widget to always be a toplevel widget on the desktop, regardless of whether the parent widget is embedded in a scene or not.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.CustomizeWindowHint">
            <summary>
            <para>Turns off the default window title hints.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.Desktop">
            <summary>
            <para>Indicates that this widget is the desktop. This is the type for QDesktopWidget.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.Dialog">
            <summary>
            <para>Indicates that the widget is a window that should be decorated as a dialog (i.e., typically no maximize or minimize buttons in the title bar). This is the default type for QDialog. If you want to use it as a modal dialog, it should be launched from another window, or have a parent and used with the QWidget::windowModality property. If you make it modal, the dialog will prevent other top-level windows in the application from getting any input. We refer to a top-level window that has a parent as a secondary window.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.Drawer">
            <summary>
            <para>Indicates that the widget is a Macintosh drawer.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.FramelessWindowHint">
            <summary>
            <para>Produces a borderless window. The user cannot move or resize a borderless window via the window system. On X11, the result of the flag is dependent on the window manager and its ability to understand Motif and/or NETWM hints. Most existing modern window managers can handle this.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.MSWindowsFixedSizeDialogHint">
            <summary>
            <para>Gives the window a thin dialog border on Windows. This style is traditionally used for fixed-size dialogs.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.MSWindowsOwnDC">
            <summary>
            <para>Gives the window its own display context on Windows.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.MacWindowToolBarButtonHint">
            <summary>
            <para>On Mac OS X adds a tool bar button (i.e., the oblong button that is on the top right of windows that have toolbars).</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.Popup">
            <summary>
            <para>Indicates that the widget is a pop-up top-level window, i.e. that it is modal, but has a window system frame appropriate for pop-up menus.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.Sheet">
            <summary>
            <para>Indicates that the window is a Macintosh sheet. Since using a sheet implies window modality, the recommended way is to use QWidget::setWindowModality(), or QDialog::open(), instead.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.SplashScreen">
            <summary>
            <para>Indicates that the window is a splash screen. This is the default type for QSplashScreen.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.SubWindow">
            <summary>
            <para>Indicates that this widget is a sub-window, such as a QMdiSubWindow widget.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.Tool">
            <summary>
            <para>Indicates that the widget is a tool window. A tool window is often a small window with a smaller than usual title bar and decoration, typically used for collections of tool buttons. If there is a parent, the tool window will always be kept on top of it. If there isn't a parent, you may consider using Qt::WindowStaysOnTopHint as well. If the window system supports it, a tool window can be decorated with a somewhat lighter frame. It can also be combined with Qt::FramelessWindowHint.   On Mac OS X, tool windows correspond to the Floating class of windows. This means that the window lives on a level above normal windows; it impossible to put a normal window on top of it. By default, tool windows will disappear when the application is inactive. This can be controlled by the Qt::WA_MacAlwaysShowToolWindow attribute.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.ToolTip">
            <summary>
            <para>Indicates that the widget is a tooltip. This is used internally to implement tooltips.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.Widget">
            <summary>
            <para>This is the default type for QWidget. Widgets of this type are child widgets if they have a parent, and independent windows if they have no parent. See also Qt::Window and Qt::SubWindow.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.Window">
            <summary>
            <para>Indicates that the widget is a window, usually with a window system frame and a title bar, irrespective of whether the widget has a parent or not. Note that it is not possible to unset this flag if the widget does not have a parent.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.WindowCancelButtonHint">
            <summary>
            <para>Adds a Cancel button to the window decoration of a dialog. Only supported for Windows CE.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.WindowCloseButtonHint">
            <summary>
            <para>Adds a close button. On some platforms this implies Qt::WindowSystemMenuHint for it to work.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.WindowContextHelpButtonHint">
            <summary>
            <para>Adds a context help button to dialogs. On some platforms this implies Qt::WindowSystemMenuHint for it to work.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.WindowMaximizeButtonHint">
            <summary>
            <para>Adds a maximize button. On some platforms this implies Qt::WindowSystemMenuHint for it to work.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.WindowMinMaxButtonsHint">
            <summary>
            <para>Adds a minimize and a maximize button. On some platforms this implies Qt::WindowSystemMenuHint for it to work.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.WindowMinimizeButtonHint">
            <summary>
            <para>Adds a minimize button. On some platforms this implies Qt::WindowSystemMenuHint for it to work.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.WindowOkButtonHint">
            <summary>
            <para>Adds an OK button to the window decoration of a dialog. Only supported for Windows CE.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.WindowSoftkeysRespondHint">
            <summary>
            <para>Makes softkeys to receive key events even when invisible. With this hint the softkey actions are triggered even the softkeys are invisible i.e. the window is displayed with showFullscreen(). Only supported for Symbian.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.WindowSoftkeysVisibleHint">
            <summary>
            <para>Makes softkeys visible when widget is fullscreen. Only supported for Symbian.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.WindowStaysOnBottomHint">
            <summary>
            <para>Informs the window system that the window should stay on bottom of all other windows. Note that on X11 this hint will work only in window managers that support _NET_WM_STATE_BELOW atom. If a window always on the bottom has a parent, the parent will also be left on the bottom. This window hint is currently not implemented for Mac OS X.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.WindowStaysOnTopHint">
            <summary>
            <para>Informs the window system that the window should stay on top of all other windows. Note that on some window managers on X11 you also have to pass Qt::X11BypassWindowManagerHint for this flag to work correctly.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.WindowSystemMenuHint">
            <summary>
            <para>Adds a window system menu, and possibly a close button (for example on Mac). If you need to hide or show a close button, it is more portable to use WindowCloseButtonHint.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.WindowTitleHint">
            <summary>
            <para>Gives the window a title bar.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.WindowType_Mask">
            <summary>
            <para>A mask for extracting the window type part of the window flags.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qt.WindowType.X11BypassWindowManagerHint">
            <summary>
            <para>Bypass the window manager completely. This results in a borderless window that is not managed at all (i.e., no keyboard input unless you call QWidget::activateWindow() manually).</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs an object with parent object parent.</para>
            <para>The parent of an object may be viewed as the object's owner. For instance, a dialog box is the parent of the OK and Cancel buttons it contains.</para>
            <para>The destructor of a parent object destroys all child objects.</para>
            <para>Setting parent to 0 constructs an object with no parent. If the object is a widget, it will become a top-level window.</para>
            <para>See also parent(), findChild(), and findChildren().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.BlockSignals(System.Boolean)">
            <summary>
            <para>If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). If block is false, no such blocking will occur.</para>
            <para>The return value is the previous value of signalsBlocked().</para>
            <para>Note that the destroyed() signal will be emitted even if the signals for this object have been blocked.</para>
            <para>See also signalsBlocked().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.OnChildEvent(QtCore.QChildEvent)">
            <summary>
            <para>This event handler can be reimplemented in a subclass to receive child events. The event is passed in the event parameter.</para>
            <para>QEvent::ChildAdded and QEvent::ChildRemoved events are sent to objects when children are added or removed. In both cases you can only rely on the child being a QObject, or if isWidgetType() returns true, a QWidget. (This is because, in the ChildAdded case, the child is not yet fully constructed, and in the ChildRemoved case it might have been destructed already).</para>
            <para>QEvent::ChildPolished events are sent to widgets when children are polished, or when polished children are added. If you receive a child polished event, the child's construction is usually completed. However, this is not guaranteed, and multiple polish events may be delivered during the execution of a widget's constructor.</para>
            <para>For every child widget, you receive one ChildAdded event, zero or more ChildPolished events, and one ChildRemoved event.</para>
            <para>The ChildPolished event is omitted if a child is removed immediately after it is added. If a child is polished several times during construction and destruction, you may receive several child polished events for the same child, each time with a different virtual table.</para>
            <para>See also event().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.Children">
            <summary>
            <para>Returns a list of child objects. The QObjectList class is defined in the &lt;QObject&gt; header file as the following:</para>
            <para> typedef QList&lt;QObject*&gt; QObjectList;</para>
            <para>The first child added is the first object in the list and the last child added is the last object in the list, i.e. new children are appended at the end.</para>
            <para>Note that the list order changes when QWidget children are raised or lowered. A widget that is raised becomes the last object in the list, and a widget that is lowered becomes the first object in the list.</para>
            <para>See also findChild(), findChildren(), parent(), and setParent().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.Connect(QtCore.QObject,QtCore.QMetaMethod,QtCore.QObject,QtCore.QMetaMethod,QtCore.Qt.ConnectionType)">
            <summary>
            <para>Creates a connection of the given type from the signal in the sender object to the method in the receiver object. Returns true if the connection succeeds; otherwise returns false.</para>
            <para>You must use the SIGNAL() and SLOT() macros when specifying the signal and the method, for example:</para>
            <para> QLabel *label = new QLabel;</para>
            <para> QScrollBar *scrollBar = new QScrollBar;</para>
            <para> QObject::connect(scrollBar, SIGNAL(valueChanged(int)),</para>
            <para>                  label,  SLOT(setNum(int)));</para>
            <para>This example ensures that the label always displays the current scroll bar value. Note that the signal and slots parameters must not contain any variable names, only the type. E.g. the following would not work and return false:</para>
            <para> // WRONG</para>
            <para> QObject::connect(scrollBar, SIGNAL(valueChanged(int value)),</para>
            <para>                  label, SLOT(setNum(int value)));</para>
            <para>A signal can also be connected to another signal:</para>
            <para> class MyWidget : public QWidget</para>
            <para> {</para>
            <para>     Q_OBJECT</para>
            <para></para>
            <para> public:</para>
            <para>     MyWidget();</para>
            <para></para>
            <para> signals:</para>
            <para>     void buttonClicked();</para>
            <para></para>
            <para> private:</para>
            <para>     QPushButton *myButton;</para>
            <para> };</para>
            <para></para>
            <para> MyWidget::MyWidget()</para>
            <para> {</para>
            <para>     myButton = new QPushButton(this);</para>
            <para>     connect(myButton, SIGNAL(clicked()),</para>
            <para>             this, SIGNAL(buttonClicked()));</para>
            <para> }</para>
            <para>In this example, the MyWidget constructor relays a signal from a private member variable, and makes it available under a name that relates to MyWidget.</para>
            <para>A signal can be connected to many slots and signals. Many signals can be connected to one slot.</para>
            <para>If a signal is connected to several slots, the slots are activated in the same order as the order the connection was made, when the signal is emitted.</para>
            <para>The function returns true if it successfully connects the signal to the slot. It will return false if it cannot create the connection, for example, if QObject is unable to verify the existence of either signal or method, or if their signatures aren't compatible.</para>
            <para>By default, a signal is emitted for every connection you make; two signals are emitted for duplicate connections. You can break all of these connections with a single disconnect() call. If you pass the Qt::UniqueConnection type, the connection will only be made if it is not a duplicate. If there is already a duplicate (exact same signal to the exact same slot on the same objects), the connection will fail and connect will return false.</para>
            <para>The optional type parameter describes the type of connection to establish. In particular, it determines whether a particular signal is delivered to a slot immediately or queued for delivery at a later time. If the signal is queued, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QObject::connect: Cannot queue arguments of type 'MyType'</para>
            <para> (Make sure 'MyType' is registered using qRegisterMetaType().)</para>
            <para>call qRegisterMetaType() to register the data type before you establish the connection.</para>
            <para>Note: This function is thread-safe.</para>
            <para>See also disconnect(), sender(), qRegisterMetaType(), and Q_DECLARE_METATYPE().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.Connect(QtCore.QObject,System.String,QtCore.QObject,System.String,QtCore.Qt.ConnectionType)">
            <summary>
            <para>Creates a connection of the given type from the signal in the sender object to the method in the receiver object. Returns true if the connection succeeds; otherwise returns false.</para>
            <para>You must use the SIGNAL() and SLOT() macros when specifying the signal and the method, for example:</para>
            <para> QLabel *label = new QLabel;</para>
            <para> QScrollBar *scrollBar = new QScrollBar;</para>
            <para> QObject::connect(scrollBar, SIGNAL(valueChanged(int)),</para>
            <para>                  label,  SLOT(setNum(int)));</para>
            <para>This example ensures that the label always displays the current scroll bar value. Note that the signal and slots parameters must not contain any variable names, only the type. E.g. the following would not work and return false:</para>
            <para> // WRONG</para>
            <para> QObject::connect(scrollBar, SIGNAL(valueChanged(int value)),</para>
            <para>                  label, SLOT(setNum(int value)));</para>
            <para>A signal can also be connected to another signal:</para>
            <para> class MyWidget : public QWidget</para>
            <para> {</para>
            <para>     Q_OBJECT</para>
            <para></para>
            <para> public:</para>
            <para>     MyWidget();</para>
            <para></para>
            <para> signals:</para>
            <para>     void buttonClicked();</para>
            <para></para>
            <para> private:</para>
            <para>     QPushButton *myButton;</para>
            <para> };</para>
            <para></para>
            <para> MyWidget::MyWidget()</para>
            <para> {</para>
            <para>     myButton = new QPushButton(this);</para>
            <para>     connect(myButton, SIGNAL(clicked()),</para>
            <para>             this, SIGNAL(buttonClicked()));</para>
            <para> }</para>
            <para>In this example, the MyWidget constructor relays a signal from a private member variable, and makes it available under a name that relates to MyWidget.</para>
            <para>A signal can be connected to many slots and signals. Many signals can be connected to one slot.</para>
            <para>If a signal is connected to several slots, the slots are activated in the same order as the order the connection was made, when the signal is emitted.</para>
            <para>The function returns true if it successfully connects the signal to the slot. It will return false if it cannot create the connection, for example, if QObject is unable to verify the existence of either signal or method, or if their signatures aren't compatible.</para>
            <para>By default, a signal is emitted for every connection you make; two signals are emitted for duplicate connections. You can break all of these connections with a single disconnect() call. If you pass the Qt::UniqueConnection type, the connection will only be made if it is not a duplicate. If there is already a duplicate (exact same signal to the exact same slot on the same objects), the connection will fail and connect will return false.</para>
            <para>The optional type parameter describes the type of connection to establish. In particular, it determines whether a particular signal is delivered to a slot immediately or queued for delivery at a later time. If the signal is queued, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QObject::connect: Cannot queue arguments of type 'MyType'</para>
            <para> (Make sure 'MyType' is registered using qRegisterMetaType().)</para>
            <para>call qRegisterMetaType() to register the data type before you establish the connection.</para>
            <para>Note: This function is thread-safe.</para>
            <para>See also disconnect(), sender(), qRegisterMetaType(), and Q_DECLARE_METATYPE().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.Connect(QtCore.QObject,System.String,System.String,QtCore.Qt.ConnectionType)">
            <summary>
            <para>Creates a connection of the given type from the signal in the sender object to the method in the receiver object. Returns true if the connection succeeds; otherwise returns false.</para>
            <para>You must use the SIGNAL() and SLOT() macros when specifying the signal and the method, for example:</para>
            <para> QLabel *label = new QLabel;</para>
            <para> QScrollBar *scrollBar = new QScrollBar;</para>
            <para> QObject::connect(scrollBar, SIGNAL(valueChanged(int)),</para>
            <para>                  label,  SLOT(setNum(int)));</para>
            <para>This example ensures that the label always displays the current scroll bar value. Note that the signal and slots parameters must not contain any variable names, only the type. E.g. the following would not work and return false:</para>
            <para> // WRONG</para>
            <para> QObject::connect(scrollBar, SIGNAL(valueChanged(int value)),</para>
            <para>                  label, SLOT(setNum(int value)));</para>
            <para>A signal can also be connected to another signal:</para>
            <para> class MyWidget : public QWidget</para>
            <para> {</para>
            <para>     Q_OBJECT</para>
            <para></para>
            <para> public:</para>
            <para>     MyWidget();</para>
            <para></para>
            <para> signals:</para>
            <para>     void buttonClicked();</para>
            <para></para>
            <para> private:</para>
            <para>     QPushButton *myButton;</para>
            <para> };</para>
            <para></para>
            <para> MyWidget::MyWidget()</para>
            <para> {</para>
            <para>     myButton = new QPushButton(this);</para>
            <para>     connect(myButton, SIGNAL(clicked()),</para>
            <para>             this, SIGNAL(buttonClicked()));</para>
            <para> }</para>
            <para>In this example, the MyWidget constructor relays a signal from a private member variable, and makes it available under a name that relates to MyWidget.</para>
            <para>A signal can be connected to many slots and signals. Many signals can be connected to one slot.</para>
            <para>If a signal is connected to several slots, the slots are activated in the same order as the order the connection was made, when the signal is emitted.</para>
            <para>The function returns true if it successfully connects the signal to the slot. It will return false if it cannot create the connection, for example, if QObject is unable to verify the existence of either signal or method, or if their signatures aren't compatible.</para>
            <para>By default, a signal is emitted for every connection you make; two signals are emitted for duplicate connections. You can break all of these connections with a single disconnect() call. If you pass the Qt::UniqueConnection type, the connection will only be made if it is not a duplicate. If there is already a duplicate (exact same signal to the exact same slot on the same objects), the connection will fail and connect will return false.</para>
            <para>The optional type parameter describes the type of connection to establish. In particular, it determines whether a particular signal is delivered to a slot immediately or queued for delivery at a later time. If the signal is queued, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QObject::connect: Cannot queue arguments of type 'MyType'</para>
            <para> (Make sure 'MyType' is registered using qRegisterMetaType().)</para>
            <para>call qRegisterMetaType() to register the data type before you establish the connection.</para>
            <para>Note: This function is thread-safe.</para>
            <para>See also disconnect(), sender(), qRegisterMetaType(), and Q_DECLARE_METATYPE().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.ConnectNotify(System.String)">
            <summary>
            <para>This virtual function is called when something has been connected to signal in this object.</para>
            <para>If you want to compare signal with a specific signal, use QLatin1String and the SIGNAL() macro as follows:</para>
            <para> if (QLatin1String(signal) == SIGNAL(valueChanged(int))) {</para>
            <para>     // signal is valueChanged(int)</para>
            <para> }</para>
            <para>If the signal contains multiple parameters or parameters that contain spaces, call QMetaObject::normalizedSignature() on the result of the SIGNAL() macro.</para>
            <para>Warning: This function violates the object-oriented principle of modularity. However, it might be useful when you need to perform expensive initialization only if something is connected to a signal.</para>
            <para>See also connect() and disconnectNotify().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.OnCustomEvent(QtCore.QEvent)">
            <summary>
            <para>This event handler can be reimplemented in a subclass to receive custom events. Custom events are user-defined events with a type value at least as large as the QEvent::User item of the QEvent::Type enum, and is typically a QEvent subclass. The event is passed in the event parameter.</para>
            <para>See also event() and QEvent.</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.DeleteLater">
            <summary>
            <para>Schedules this object for deletion.</para>
            <para>The object will be deleted when control returns to the event loop. If the event loop is not running when this function is called (e.g. deleteLater() is called on an object before QCoreApplication::exec()), the object will be deleted once the event loop is started.</para>
            <para>Note that entering and leaving a new event loop (e.g., by opening a modal dialog) will not perform the deferred deletion; for the object to be deleted, the control must return to the event loop from which deleteLater() was called.</para>
            <para>Note: It is safe to call this function more than once; when the first deferred deletion event is delivered, any pending events for the object are removed from the event queue.</para>
            <para>See also destroyed() and QPointer.</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.OnDestroyed(QtCore.QObject)">
            <summary>
            <para>This signal is emitted immediately before the object obj is destroyed, and can not be blocked.</para>
            <para>All the objects's children are destroyed immediately after this signal is emitted.</para>
            <para>See also deleteLater() and QPointer.</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.Disconnect(QtCore.QObject,QtCore.QMetaMethod,QtCore.QObject,QtCore.QMetaMethod)">
            <summary>
            <para>Disconnects signal in object sender from method in object receiver. Returns true if the connection is successfully broken; otherwise returns false.</para>
            <para>This function provides the same possibilities like disconnect(const QObject *sender, const char *signal, const QObject *receiver, const char *method) but uses QMetaMethod to represent the signal and the method to be disconnected.</para>
            <para>Additionally this function returnsfalse and no signals and slots disconnected if:</para>
            <para></para>
            <para>signal is not a member of sender class or one of its parent classes.</para>
            <para>method is not a member of receiver class or one of its parent classes.</para>
            <para>signal instance represents not a signal.</para>
            <para></para>
            <para>QMetaMethod() may be used as wildcard in the meaning &quot;any signal&quot; or &quot;any slot in receiving object&quot;. In the same way 0 can be used for receiver in the meaning &quot;any receiving object&quot;. In this case method should also be QMetaMethod(). sender parameter should be never 0.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also disconnect(const QObject *sender, const char *signal, const QObject *receiver, const char *method).</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.Disconnect(QtCore.QObject,System.String)">
            <summary>
            <para>This function overloads disconnect().</para>
            <para>Disconnects all signals in this object from receiver's method.</para>
            <para>A signal-slot connection is removed when either of the objects involved are destroyed.</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.Disconnect(QtCore.QObject,System.String,QtCore.QObject,System.String)">
            <summary>
            <para>Disconnects signal in object sender from method in object receiver. Returns true if the connection is successfully broken; otherwise returns false.</para>
            <para>A signal-slot connection is removed when either of the objects involved are destroyed.</para>
            <para>disconnect() is typically used in three ways, as the following examples demonstrate.</para>
            <para></para>
            <para>Disconnect everything connected to an object's signals: disconnect(myObject, 0, 0, 0);</para>
            <para>equivalent to the non-static overloaded function</para>
            <para> myObject-&gt;disconnect();</para>
            <para></para>
            <para>Disconnect everything connected to a specific signal: disconnect(myObject, SIGNAL(mySignal()), 0, 0);</para>
            <para>equivalent to the non-static overloaded function</para>
            <para> myObject-&gt;disconnect(SIGNAL(mySignal()));</para>
            <para></para>
            <para>Disconnect a specific receiver: disconnect(myObject, 0, myReceiver, 0);</para>
            <para>equivalent to the non-static overloaded function</para>
            <para> myObject-&gt;disconnect(myReceiver);</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.Disconnect(System.String,QtCore.QObject,System.String)">
            <summary>
            <para>This function overloads disconnect().</para>
            <para>Disconnects signal from method of receiver.</para>
            <para>A signal-slot connection is removed when either of the objects involved are destroyed.</para>
            <para>Note: This function is thread-safe.</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.DisconnectNotify(System.String)">
            <summary>
            <para>This virtual function is called when something has been disconnected from signal in this object.</para>
            <para>See connectNotify() for an example of how to compare signal with a specific signal.</para>
            <para>Warning: This function violates the object-oriented principle of modularity. However, it might be useful for optimizing access to expensive resources.</para>
            <para>See also disconnect() and connectNotify().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.DumpObjectInfo">
            <summary>
            <para>Dumps information about signal connections, etc. for this object to the debug output.</para>
            <para>This function is useful for debugging, but does nothing if the library has been compiled in release mode (i.e. without debugging information).</para>
            <para>See also dumpObjectTree().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.DumpObjectTree">
            <summary>
            <para>Dumps a tree of children to the debug output.</para>
            <para>This function is useful for debugging, but does nothing if the library has been compiled in release mode (i.e. without debugging information).</para>
            <para>See also dumpObjectInfo().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.DynamicPropertyNames">
            <summary>
            <para>Returns the names of all properties that were dynamically added to the object using setProperty().</para>
            <para>This function was introduced in Qt 4.2.</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.OnEvent(QtCore.QEvent)">
            <summary>
            <para>This virtual function receives events to an object and should return true if the event e was recognized and processed.</para>
            <para>The event() function can be reimplemented to customize the behavior of an object.</para>
            <para>See also installEventFilter(), timerEvent(), QApplication::sendEvent(), QApplication::postEvent(), and QWidget::event().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.EventFilter(QtCore.QObject,QtCore.QEvent)">
            <summary>
            <para>Filters events if this object has been installed as an event filter for the watched object.</para>
            <para>In your reimplementation of this function, if you want to filter the event out, i.e. stop it being handled further, return true; otherwise return false.</para>
            <para>Example:</para>
            <para> class MainWindow : public QMainWindow</para>
            <para> {</para>
            <para> public:</para>
            <para>     MainWindow();</para>
            <para></para>
            <para> protected:</para>
            <para>     bool eventFilter(QObject *obj, QEvent *ev);</para>
            <para></para>
            <para> private:</para>
            <para>     QTextEdit *textEdit;</para>
            <para> };</para>
            <para></para>
            <para> MainWindow::MainWindow()</para>
            <para> {</para>
            <para>     textEdit = new QTextEdit;</para>
            <para>     setCentralWidget(textEdit);</para>
            <para></para>
            <para>     textEdit-&gt;installEventFilter(this);</para>
            <para> }</para>
            <para></para>
            <para> bool MainWindow::eventFilter(QObject *obj, QEvent *event)</para>
            <para> {</para>
            <para>     if (obj == textEdit) {</para>
            <para>         if (event-&gt;type() == QEvent::KeyPress) {</para>
            <para>             QKeyEvent *keyEvent = static_cast&lt;QKeyEvent*&gt;(event);</para>
            <para>             qDebug() &lt;&lt; &quot;Ate key press&quot; &lt;&lt; keyEvent-&gt;key();</para>
            <para>             return true;</para>
            <para>         } else {</para>
            <para>             return false;</para>
            <para>         }</para>
            <para>     } else {</para>
            <para>         // pass the event on to the parent class</para>
            <para>         return QMainWindow::eventFilter(obj, event);</para>
            <para>     }</para>
            <para> }</para>
            <para>Notice in the example above that unhandled events are passed to the base class's eventFilter() function, since the base class might have reimplemented eventFilter() for its own internal purposes.</para>
            <para>Warning: If you delete the receiver object in this function, be sure to return true. Otherwise, Qt will forward the event to the deleted object and the program might crash.</para>
            <para>See also installEventFilter().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.Inherits(System.String)">
            <summary>
            <para>Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false.</para>
            <para>A class is considered to inherit itself.</para>
            <para>Example:</para>
            <para> QTimer *timer = new QTimer;         // QTimer inherits QObject</para>
            <para> timer-&gt;inherits(&quot;QTimer&quot;);          // returns true</para>
            <para> timer-&gt;inherits(&quot;QObject&quot;);         // returns true</para>
            <para> timer-&gt;inherits(&quot;QAbstractButton&quot;); // returns false</para>
            <para></para>
            <para> // QVBoxLayout inherits QObject and QLayoutItem</para>
            <para> QVBoxLayout *layout = new QVBoxLayout;</para>
            <para> layout-&gt;inherits(&quot;QObject&quot;);        // returns true</para>
            <para> layout-&gt;inherits(&quot;QLayoutItem&quot;);    // returns true (even though QLayoutItem is not a QObject)</para>
            <para>If you need to determine whether an object is an instance of a particular class for the purpose of casting it, consider using qobject_cast&lt;Type *&gt;(object) instead.</para>
            <para>See also metaObject() and qobject_cast().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.InstallEventFilter(QtCore.QObject)">
            <summary>
            <para>Installs an event filter filterObj on this object. For example:</para>
            <para> monitoredObj-&gt;installEventFilter(filterObj);</para>
            <para>An event filter is an object that receives all events that are sent to this object. The filter can either stop the event or forward it to this object. The event filter filterObj receives events via its eventFilter() function. The eventFilter() function must return true if the event should be filtered, (i.e. stopped); otherwise it must return false.</para>
            <para>If multiple event filters are installed on a single object, the filter that was installed last is activated first.</para>
            <para>Here's a KeyPressEater class that eats the key presses of its monitored objects:</para>
            <para> class KeyPressEater : public QObject</para>
            <para> {</para>
            <para>     Q_OBJECT</para>
            <para>     ...</para>
            <para></para>
            <para> protected:</para>
            <para>     bool eventFilter(QObject *obj, QEvent *event);</para>
            <para> };</para>
            <para></para>
            <para> bool KeyPressEater::eventFilter(QObject *obj, QEvent *event)</para>
            <para> {</para>
            <para>     if (event-&gt;type() == QEvent::KeyPress) {</para>
            <para>         QKeyEvent *keyEvent = static_cast&lt;QKeyEvent *&gt;(event);</para>
            <para>         qDebug(&quot;Ate key press %d&quot;, keyEvent-&gt;key());</para>
            <para>         return true;</para>
            <para>     } else {</para>
            <para>         // standard event processing</para>
            <para>         return QObject::eventFilter(obj, event);</para>
            <para>     }</para>
            <para> }</para>
            <para>And here's how to install it on two widgets:</para>
            <para> KeyPressEater *keyPressEater = new KeyPressEater(this);</para>
            <para> QPushButton *pushButton = new QPushButton(this);</para>
            <para> QListView *listView = new QListView(this);</para>
            <para></para>
            <para> pushButton-&gt;installEventFilter(keyPressEater);</para>
            <para> listView-&gt;installEventFilter(keyPressEater);</para>
            <para>The QShortcut class, for example, uses this technique to intercept shortcut key presses.</para>
            <para>Warning: If you delete the receiver object in your eventFilter() function, be sure to return true. If you return false, Qt sends the event to the deleted object and the program will crash.</para>
            <para>Note that the filtering object must be in the same thread as this object. If filterObj is in a different thread, this function does nothing. If either filterObj or this object are moved to a different thread after calling this function, the event filter will not be called until both objects have the same thread affinity again (it is not removed).</para>
            <para>See also removeEventFilter(), eventFilter(), and event().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.IsWidgetType">
            <summary>
            <para>Returns true if the object is a widget; otherwise returns false.</para>
            <para>Calling this function is equivalent to calling inherits(&quot;QWidget&quot;), except that it is much faster.</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.KillTimer(System.Int32)">
            <summary>
            <para>Kills the timer with timer identifier, id.</para>
            <para>The timer identifier is returned by startTimer() when a timer event is started.</para>
            <para>See also timerEvent() and startTimer().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.Property(System.String)">
            <summary>
            <para>Returns the value of the object's name property.</para>
            <para>If no such property exists, the returned variant is invalid.</para>
            <para>Information about all available properties is provided through the metaObject() and dynamicPropertyNames().</para>
            <para>See also setProperty(), QVariant::isValid(), metaObject(), and dynamicPropertyNames().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.Receivers(System.String)">
            <summary>
            <para>Returns the number of receivers connected to the signal.</para>
            <para>Since both slots and signals can be used as receivers for signals, and the same connections can be made many times, the number of receivers is the same as the number of connections made from this signal.</para>
            <para>When calling this function, you can use the SIGNAL() macro to pass a specific signal:</para>
            <para> if (receivers(SIGNAL(valueChanged(QByteArray))) &gt; 0) {</para>
            <para>     QByteArray data;</para>
            <para>     get_the_value(&amp;data);       // expensive operation</para>
            <para>     emit valueChanged(data);</para>
            <para> }</para>
            <para>As the code snippet above illustrates, you can use this function to avoid emitting a signal that nobody listens to.</para>
            <para>Warning: This function violates the object-oriented principle of modularity. However, it might be useful when you need to perform expensive initialization only if something is connected to a signal.</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.RemoveEventFilter(QtCore.QObject)">
            <summary>
            <para>Removes an event filter object obj from this object. The request is ignored if such an event filter has not been installed.</para>
            <para>All event filters for this object are automatically removed when this object is destroyed.</para>
            <para>It is always safe to remove an event filter, even during event filter activation (i.e. from the eventFilter() function).</para>
            <para>See also installEventFilter(), eventFilter(), and event().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.Sender">
            <summary>
            <para>Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. The pointer is valid only during the execution of the slot that calls this function from this object's thread context.</para>
            <para>The pointer returned by this function becomes invalid if the sender is destroyed, or if the slot is disconnected from the sender's signal.</para>
            <para>Warning: This function violates the object-oriented principle of modularity. However, getting access to the sender might be useful when many signals are connected to a single slot.</para>
            <para>Warning: As mentioned above, the return value of this function is not valid when the slot is called via a Qt::DirectConnection from a thread different from this object's thread. Do not use this function in this type of scenario.</para>
            <para>See also senderSignalIndex() and QSignalMapper.</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.SenderSignalIndex">
            <summary>
            <para>Returns the meta-method index of the signal that called the currently executing slot, which is a member of the class returned by sender(). If called outside of a slot activated by a signal, -1 is returned.</para>
            <para>For signals with default parameters, this function will always return the index with all parameters, regardless of which was used with connect(). For example, the signal destroyed(QObject *obj = 0) will have two different indexes (with and without the parameter), but this function will always return the index with a parameter. This does not apply when overloading signals with different parameters.</para>
            <para>Warning: This function violates the object-oriented principle of modularity. However, getting access to the signal index might be useful when many signals are connected to a single slot.</para>
            <para>Warning: The return value of this function is not valid when the slot is called via a Qt::DirectConnection from a thread different from this object's thread. Do not use this function in this type of scenario.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also sender(), QMetaObject::indexOfSignal(), and QMetaObject::method().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.SetProperty(System.String,System.Object)">
            <summary>
            <para>Sets the value of the object's name property to value.</para>
            <para>If the property is defined in the class using Q_PROPERTY then true is returned on success and false otherwise. If the property is not defined using Q_PROPERTY, and therefore not listed in the meta-object, it is added as a dynamic property and false is returned.</para>
            <para>Information about all available properties is provided through the metaObject() and dynamicPropertyNames().</para>
            <para>Dynamic properties can be queried again using property() and can be removed by setting the property value to an invalid QVariant. Changing the value of a dynamic property causes a QDynamicPropertyChangeEvent to be sent to the object.</para>
            <para>Note: Dynamic properties starting with &quot;_q_&quot; are reserved for internal purposes.</para>
            <para>See also property(), metaObject(), and dynamicPropertyNames().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.SignalsBlocked">
            <summary>
            <para>Returns true if signals are blocked; otherwise returns false.</para>
            <para>Signals are not blocked by default.</para>
            <para>See also blockSignals().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.StartTimer(System.Int32)">
            <summary>
            <para>Starts a timer and returns a timer identifier, or returns zero if it could not start a timer.</para>
            <para>A timer event will occur every interval milliseconds until killTimer() is called. If interval is 0, then the timer event occurs once every time there are no more window system events to process.</para>
            <para>The virtual timerEvent() function is called with the QTimerEvent event parameter class when a timer event occurs. Reimplement this function to get timer events.</para>
            <para>If multiple timers are running, the QTimerEvent::timerId() can be used to find out which timer was activated.</para>
            <para>Example:</para>
            <para> class MyObject : public QObject</para>
            <para> {</para>
            <para>     Q_OBJECT</para>
            <para></para>
            <para> public:</para>
            <para>     MyObject(QObject *parent = 0);</para>
            <para></para>
            <para> protected:</para>
            <para>     void timerEvent(QTimerEvent *event);</para>
            <para> };</para>
            <para></para>
            <para> MyObject::MyObject(QObject *parent)</para>
            <para>     : QObject(parent)</para>
            <para> {</para>
            <para>     startTimer(50);     // 50-millisecond timer</para>
            <para>     startTimer(1000);   // 1-second timer</para>
            <para>     startTimer(60000);  // 1-minute timer</para>
            <para> }</para>
            <para></para>
            <para> void MyObject::timerEvent(QTimerEvent *event)</para>
            <para> {</para>
            <para>     qDebug() &lt;&lt; &quot;Timer ID:&quot; &lt;&lt; event-&gt;timerId();</para>
            <para> }</para>
            <para>Note that QTimer's accuracy depends on the underlying operating system and hardware. Most platforms support an accuracy of 20 milliseconds; some provide more. If Qt is unable to deliver the requested number of timer events, it will silently discard some.</para>
            <para>The QTimer class provides a high-level programming interface with single-shot timers and timer signals instead of events. There is also a QBasicTimer class that is more lightweight than QTimer and less clumsy than using timer IDs directly.</para>
            <para>See also timerEvent(), killTimer(), and QTimer::singleShot().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.OnTimerEvent(QtCore.QTimerEvent)">
            <summary>
            <para>This event handler can be reimplemented in a subclass to receive timer events for the object.</para>
            <para>QTimer provides a higher-level interface to the timer functionality, and also more general information about timers. The timer event is passed in the event parameter.</para>
            <para>See also startTimer(), killTimer(), and event().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.Tr(System.String,System.String)">
            <summary>
            <para>Returns a translated version of sourceText, optionally based on a disambiguation string and value of n for strings containing plurals; otherwise returns sourceText itself if no appropriate translated string is available.</para>
            <para>Example:</para>
            <para> void MainWindow::createMenus()</para>
            <para> {</para>
            <para>     fileMenu = menuBar()-&gt;addMenu(tr(&quot;&amp;File&quot;));</para>
            <para>     ...</para>
            <para>If the same sourceText is used in different roles within the same context, an additional identifying string may be passed in disambiguation (0 by default). In Qt 4.4 and earlier, this was the preferred way to pass comments to translators.</para>
            <para>Example:</para>
            <para> MyWindow::MyWindow()</para>
            <para> {</para>
            <para>     QLabel *senderLabel = new QLabel(tr(&quot;Name:&quot;));</para>
            <para>     QLabel *recipientLabel = new QLabel(tr(&quot;Name:&quot;, &quot;recipient&quot;));</para>
            <para>     ...</para>
            <para>See Writing Source Code for Translation for a detailed description of Qt's translation mechanisms in general, and the Disambiguation section for information on disambiguation.</para>
            <para>Warning: This method is reentrant only if all translators are installed before calling this method. Installing or removing translators while performing translations is not supported. Doing so will probably result in crashes or other undesirable behavior.</para>
            <para>See also trUtf8(), QApplication::translate(), QTextCodec::setCodecForTr(), and Internationalization with Qt.</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.Tr(System.String,System.String,System.Int32)">
            <summary>
            <para>Returns a translated version of sourceText, optionally based on a disambiguation string and value of n for strings containing plurals; otherwise returns sourceText itself if no appropriate translated string is available.</para>
            <para>Example:</para>
            <para> void MainWindow::createMenus()</para>
            <para> {</para>
            <para>     fileMenu = menuBar()-&gt;addMenu(tr(&quot;&amp;File&quot;));</para>
            <para>     ...</para>
            <para>If the same sourceText is used in different roles within the same context, an additional identifying string may be passed in disambiguation (0 by default). In Qt 4.4 and earlier, this was the preferred way to pass comments to translators.</para>
            <para>Example:</para>
            <para> MyWindow::MyWindow()</para>
            <para> {</para>
            <para>     QLabel *senderLabel = new QLabel(tr(&quot;Name:&quot;));</para>
            <para>     QLabel *recipientLabel = new QLabel(tr(&quot;Name:&quot;, &quot;recipient&quot;));</para>
            <para>     ...</para>
            <para>See Writing Source Code for Translation for a detailed description of Qt's translation mechanisms in general, and the Disambiguation section for information on disambiguation.</para>
            <para>Warning: This method is reentrant only if all translators are installed before calling this method. Installing or removing translators while performing translations is not supported. Doing so will probably result in crashes or other undesirable behavior.</para>
            <para>See also trUtf8(), QApplication::translate(), QTextCodec::setCodecForTr(), and Internationalization with Qt.</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.TrUtf8(System.String,System.String)">
            <summary>
            <para>Returns a translated version of sourceText, or QString::fromUtf8(sourceText) if there is no appropriate version. It is otherwise identical to tr(sourceText, disambiguation, n).</para>
            <para>Note that using the Utf8 variants of the translation functions is not required if CODECFORTR is already set to UTF-8 in the qmake project file and QTextCodec::setCodecForTr(&quot;UTF-8&quot;) is used.</para>
            <para>Warning: This method is reentrant only if all translators are installed before calling this method. Installing or removing translators while performing translations is not supported. Doing so will probably result in crashes or other undesirable behavior.</para>
            <para>Warning: For portability reasons, we recommend that you use escape sequences for specifying non-ASCII characters in string literals to trUtf8(). For example:</para>
            <para> label-&gt;setText(tr(&quot;F\374r \310lise&quot;));</para>
            <para>See also tr(), QApplication::translate(), and Internationalization with Qt.</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.TrUtf8(System.String,System.String,System.Int32)">
            <summary>
            <para>Returns a translated version of sourceText, or QString::fromUtf8(sourceText) if there is no appropriate version. It is otherwise identical to tr(sourceText, disambiguation, n).</para>
            <para>Note that using the Utf8 variants of the translation functions is not required if CODECFORTR is already set to UTF-8 in the qmake project file and QTextCodec::setCodecForTr(&quot;UTF-8&quot;) is used.</para>
            <para>Warning: This method is reentrant only if all translators are installed before calling this method. Installing or removing translators while performing translations is not supported. Doing so will probably result in crashes or other undesirable behavior.</para>
            <para>Warning: For portability reasons, we recommend that you use escape sequences for specifying non-ASCII characters in string literals to trUtf8(). For example:</para>
            <para> label-&gt;setText(tr(&quot;F\374r \310lise&quot;));</para>
            <para>See also tr(), QApplication::translate(), and Internationalization with Qt.</para>
            </summary>
        </member>
        <member name="M:QtCore.QObject.Finalize">
            <summary>
            <para>Destroys the object, deleting all its child objects.</para>
            <para>All signals to and from the object are automatically disconnected, and any pending posted events for the object are removed from the event queue. However, it is often safer to use deleteLater() rather than deleting a QObject subclass directly.</para>
            <para>Warning: All child objects are deleted. If any of these objects are on the stack or global, sooner or later your program will crash. We do not recommend holding pointers to child objects from outside the parent. If you still do, the destroyed() signal gives you an opportunity to detect when an object is destroyed.</para>
            <para>Warning: Deleting a QObject while pending events are waiting to be delivered can cause a crash. You must not delete the QObject directly if it exists in a different thread than the one currently executing. Use deleteLater() instead, which will cause the event loop to delete the object after all pending events have been delivered to it.</para>
            <para>See also deleteLater().</para>
            </summary>
        </member>
        <member name="E:QtCore.QObject.ChildEvent">
            <summary>
            <para>This event handler can be reimplemented in a subclass to receive child events. The event is passed in the event parameter.</para>
            <para>QEvent::ChildAdded and QEvent::ChildRemoved events are sent to objects when children are added or removed. In both cases you can only rely on the child being a QObject, or if isWidgetType() returns true, a QWidget. (This is because, in the ChildAdded case, the child is not yet fully constructed, and in the ChildRemoved case it might have been destructed already).</para>
            <para>QEvent::ChildPolished events are sent to widgets when children are polished, or when polished children are added. If you receive a child polished event, the child's construction is usually completed. However, this is not guaranteed, and multiple polish events may be delivered during the execution of a widget's constructor.</para>
            <para>For every child widget, you receive one ChildAdded event, zero or more ChildPolished events, and one ChildRemoved event.</para>
            <para>The ChildPolished event is omitted if a child is removed immediately after it is added. If a child is polished several times during construction and destruction, you may receive several child polished events for the same child, each time with a different virtual table.</para>
            <para>See also event().</para>
            </summary>
        </member>
        <member name="E:QtCore.QObject.CustomEvent">
            <summary>
            <para>This event handler can be reimplemented in a subclass to receive custom events. Custom events are user-defined events with a type value at least as large as the QEvent::User item of the QEvent::Type enum, and is typically a QEvent subclass. The event is passed in the event parameter.</para>
            <para>See also event() and QEvent.</para>
            </summary>
        </member>
        <member name="E:QtCore.QObject.Event">
            <summary>
            <para>This virtual function receives events to an object and should return true if the event e was recognized and processed.</para>
            <para>The event() function can be reimplemented to customize the behavior of an object.</para>
            <para>See also installEventFilter(), timerEvent(), QApplication::sendEvent(), QApplication::postEvent(), and QWidget::event().</para>
            </summary>
        </member>
        <member name="E:QtCore.QObject.TimerEvent">
            <summary>
            <para>This event handler can be reimplemented in a subclass to receive timer events for the object.</para>
            <para>QTimer provides a higher-level interface to the timer functionality, and also more general information about timers. The timer event is passed in the event parameter.</para>
            <para>See also startTimer(), killTimer(), and event().</para>
            </summary>
        </member>
        <member name="E:QtCore.QObject.Destroyed">
            <summary>
            <para>This signal is emitted immediately before the object obj is destroyed, and can not be blocked.</para>
            <para>All the objects's children are destroyed immediately after this signal is emitted.</para>
            <para>See also deleteLater() and QPointer.</para>
            </summary>
        </member>
        <member name="P:QtCore.QObject.Parent">
            <summary>
            <para>Returns a pointer to the parent object.</para>
            <para>Makes the object a child of parent.</para>
            </summary>
        </member>
        <member name="P:QtCore.QObject.ObjectName">
            <summary>
            <para>This property holds the name of this object.</para>
            <para>You can find an object by name (and type) using findChild(). You can find a set of objects with findChildren().</para>
            <para> qDebug(&quot;MyClass::setPrecision(): (%s) invalid precision %f&quot;,</para>
            <para>        qPrintable(objectName()), newPrecision);</para>
            <para>By default, this property contains an empty string.</para>
            </summary>
        </member>
        <member name="P:QtCore.QObject.StaticMetaObject">
            <summary>
            <para>This variable stores the meta-object for the class.</para>
            <para>A meta-object contains information about a class that inherits QObject, e.g. class name, superclass name, properties, signals and slots. Every class that contains the Q_OBJECT macro will also have a meta-object.</para>
            <para>The meta-object information is required by the signal/slot connection mechanism and the property system. The inherits() function also makes use of the meta-object.</para>
            <para>If you have a pointer to an object, you can use metaObject() to retrieve the meta-object associated with that object.</para>
            <para>Example:</para>
            <para> QPushButton::staticMetaObject.className();  // returns &quot;QPushButton&quot;</para>
            <para></para>
            <para> QObject *obj = new QPushButton;</para>
            <para> obj-&gt;metaObject()-&gt;className();             // returns &quot;QPushButton&quot;</para>
            <para>See also metaObject().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs an abstract item model with the given parent.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.BeginInsertColumns(QtCore.QModelIndex,System.Int32,System.Int32)">
            <summary>
            <para>Begins a column insertion operation.</para>
            <para>When reimplementing insertColumns() in a subclass, you must call this function before inserting data into the model's underlying data store.</para>
            <para>The parent index corresponds to the parent into which the new columns are inserted; first and last are the column numbers of the new columns will have after they have been inserted.</para>
            <para></para>
            <para> 	Specify the first and last column numbers for the span of columns you want to insert into an item in a model.For example, as shown in the diagram, we insert three columns before column 4, so first is 4 and last is 6:</para>
            <para> beginInsertColumns(parent, 4, 6);</para>
            <para>This inserts the three new columns as columns 4, 5, and 6.</para>
            <para></para>
            <para>	To append columns, insert them after the last column.For example, as shown in the diagram, we append three columns to a collection of six existing columns (ending in column 5), so first is 6 and last is 8:</para>
            <para> beginInsertColumns(parent, 6, 8);</para>
            <para>This appends the two new columns as columns 6, 7, and 8.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.BeginInsertRows(QtCore.QModelIndex,System.Int32,System.Int32)">
            <summary>
            <para>Begins a row insertion operation.</para>
            <para>When reimplementing insertRows() in a subclass, you must call this function before inserting data into the model's underlying data store.</para>
            <para>The parent index corresponds to the parent into which the new rows are inserted; first and last are the row numbers that the new rows will have after they have been inserted.</para>
            <para></para>
            <para> 	Specify the first and last row numbers for the span of rows you want to insert into an item in a model.For example, as shown in the diagram, we insert three rows before row 2, so first is 2 and last is 4:</para>
            <para> beginInsertRows(parent, 2, 4);</para>
            <para>This inserts the three new rows as rows 2, 3, and 4.</para>
            <para></para>
            <para>	To append rows, insert them after the last row.For example, as shown in the diagram, we append two rows to a collection of 4 existing rows (ending in row 3), so first is 4 and last is 5:</para>
            <para> beginInsertRows(parent, 4, 5);</para>
            <para>This appends the two new rows as rows 4 and 5.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.BeginMoveColumns(QtCore.QModelIndex,System.Int32,System.Int32,QtCore.QModelIndex,System.Int32)">
            <summary>
            <para>Begins a column move operation.</para>
            <para>When reimplementing a subclass, this method simplifies moving entities in your model. This method is responsible for moving persistent indexes in the model, which you would otherwise be required to do yourself. Using beginMoveRows and endMoveRows is an alternative to emitting layoutAboutToBeChanged and layoutChanged directly along with changePersistentIndexes. layoutAboutToBeChanged is emitted by this method for compatibility reasons.</para>
            <para>The sourceParent index corresponds to the parent from which the columns are moved; sourceFirst and sourceLast are the first and last column numbers of the columns to be moved. The destinationParent index corresponds to the parent into which those columns are moved. The destinationChild is the column to which the columns will be moved. That is, the index at column sourceFirst in sourceParent will become column destinationChild in destinationParent, followed by all other columns up to sourceLast.</para>
            <para>However, when moving columns down in the same parent (sourceParent and destinationParent are equal), the columnss will be placed before the destinationChild index. That is, if you wish to move columns 0 and 1 so they will become columns 1 and 2, destinationChild should be 3. In this case, the new index for the source column i (which is between sourceFirst and sourceLast) is equal to (destinationChild-sourceLast-1+i).</para>
            <para>Note that if sourceParent and destinationParent are the same, you must ensure that the destinationChild is not within the range of sourceFirst and sourceLast + 1. You must also ensure that you do not attempt to move a column to one of its own children or ancestors. This method returns false if either condition is true, in which case you should abort your move operation.</para>
            <para>This function was introduced in Qt 4.6.</para>
            <para>See also endMoveColumns().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.BeginMoveRows(QtCore.QModelIndex,System.Int32,System.Int32,QtCore.QModelIndex,System.Int32)">
            <summary>
            <para>Begins a row move operation.</para>
            <para>When reimplementing a subclass, this method simplifies moving entities in your model. This method is responsible for moving persistent indexes in the model, which you would otherwise be required to do yourself. Using beginMoveRows and endMoveRows is an alternative to emitting layoutAboutToBeChanged and layoutChanged directly along with changePersistentIndexes. layoutAboutToBeChanged is emitted by this method for compatibility reasons.</para>
            <para>The sourceParent index corresponds to the parent from which the rows are moved; sourceFirst and sourceLast are the first and last row numbers of the rows to be moved. The destinationParent index corresponds to the parent into which those rows are moved. The destinationChild is the row to which the rows will be moved. That is, the index at row sourceFirst in sourceParent will become row destinationChild in destinationParent, followed by all other rows up to sourceLast.</para>
            <para>However, when moving rows down in the same parent (sourceParent and destinationParent are equal), the rows will be placed before the destinationChild index. That is, if you wish to move rows 0 and 1 so they will become rows 1 and 2, destinationChild should be 3. In this case, the new index for the source row i (which is between sourceFirst and sourceLast) is equal to (destinationChild-sourceLast-1+i).</para>
            <para>Note that if sourceParent and destinationParent are the same, you must ensure that the destinationChild is not within the range of sourceFirst and sourceLast + 1. You must also ensure that you do not attempt to move a row to one of its own children or ancestors. This method returns false if either condition is true, in which case you should abort your move operation.</para>
            <para></para>
            <para> 	Specify the first and last row numbers for the span of rows in the source parent you want to move in the model. Also specify the row in the destination parent to move the span to.For example, as shown in the diagram, we move three rows from row 2 to 4 in the source, so sourceFirst is 2 and sourceLast is 4. We move those items to above row 2 in the destination, so destinationChild is 2.</para>
            <para> beginMoveRows(sourceParent, 2, 4, destinationParent, 2);</para>
            <para>This moves the three rows rows 2, 3, and 4 in the source to become 2, 3 and 4 in the destination. Other affected siblings are displaced accordingly.</para>
            <para></para>
            <para>	To append rows to another parent, move them to after the last row.For example, as shown in the diagram, we move three rows to a collection of 6 existing rows (ending in row 5), so destinationChild is 6:</para>
            <para> beginMoveRows(sourceParent, 2, 4, destinationParent, 6);</para>
            <para>This moves the target rows to the end of the target parent as 6, 7 and 8.</para>
            <para></para>
            <para>	To move rows within the same parent, specify the row to move them to.For example, as shown in the diagram, we move one item from row 2 to row 0, so sourceFirst and sourceLast are 2 and destinationChild is 0.</para>
            <para> beginMoveRows(parent, 2, 2, parent, 0);</para>
            <para>Note that other rows may be displaced accordingly. Note also that when moving items within the same parent you should not attempt invalid or no-op moves. In the above example, item 2 is at row 2 before the move, so it can not be moved to row 2 (where it is already) or row 3 (no-op as row 3 means above row 3, where it is already)</para>
            <para></para>
            <para>	To move rows within the same parent, specify the row to move them to.For example, as shown in the diagram, we move one item from row 2 to row 4, so sourceFirst and sourceLast are 2 and destinationChild is 4.</para>
            <para> beginMoveRows(parent, 2, 2, parent, 4);</para>
            <para>Note that other rows may be displaced accordingly.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.BeginRemoveColumns(QtCore.QModelIndex,System.Int32,System.Int32)">
            <summary>
            <para>Begins a column removal operation.</para>
            <para>When reimplementing removeColumns() in a subclass, you must call this function before removing data from the model's underlying data store.</para>
            <para>The parent index corresponds to the parent from which the new columns are removed; first and last are the column numbers of the first and last columns to be removed.</para>
            <para></para>
            <para> 	Specify the first and last column numbers for the span of columns you want to remove from an item in a model.For example, as shown in the diagram, we remove the three columns from column 4 to column 6, so first is 4 and last is 6:</para>
            <para> beginRemoveColumns(parent, 4, 6);</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.BeginRemoveRows(QtCore.QModelIndex,System.Int32,System.Int32)">
            <summary>
            <para>Begins a row removal operation.</para>
            <para>When reimplementing removeRows() in a subclass, you must call this function before removing data from the model's underlying data store.</para>
            <para>The parent index corresponds to the parent from which the new rows are removed; first and last are the row numbers of the rows to be removed.</para>
            <para></para>
            <para> 	Specify the first and last row numbers for the span of rows you want to remove from an item in a model.For example, as shown in the diagram, we remove the two rows from row 2 to row 3, so first is 2 and last is 3:</para>
            <para> beginRemoveRows(parent, 2, 3);</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.BeginResetModel">
            <summary>
            <para>Begins a model reset operation.</para>
            <para>A reset operation resets the model to its current state in any attached views.</para>
            <para>Note: Any views attached to this model will be reset as well.</para>
            <para>When a model is reset it means that any previous data reported from the model is now invalid and has to be queried for again. This also means that the current item and any selected items will become invalid.</para>
            <para>When a model radically changes its data it can sometimes be easier to just call this function rather than emit dataChanged() to inform other components when the underlying data source, or its structure, has changed.</para>
            <para>You must call this function before resetting any internal data structures in your model or proxy model.</para>
            <para>This function was introduced in Qt 4.6.</para>
            <para>See also modelAboutToBeReset(), modelReset(), and endResetModel().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.Buddy(QtCore.QModelIndex)">
            <summary>
            <para>Returns a model index for the buddy of the item represented by index. When the user wants to edit an item, the view will call this function to check whether another item in the model should be edited instead. Then, the view will construct a delegate using the model index returned by the buddy item.</para>
            <para>The default implementation of this function has each item as its own buddy.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.CanFetchMore(QtCore.QModelIndex)">
            <summary>
            <para>Returns true if there is more data available for parent; otherwise returns false.</para>
            <para>The default implementation always returns false.</para>
            <para>If canFetchMore() returns true, QAbstractItemView will call fetchMore(). However, the fetchMore() function is only called when the model is being populated incrementally.</para>
            <para>See also fetchMore().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.ChangePersistentIndex(QtCore.QModelIndex,QtCore.QModelIndex)">
            <summary>
            <para>Changes the QPersistentModelIndex that is equal to the given from model index to the given to model index.</para>
            <para>If no persistent model index equal to the given from model index was found, nothing is changed.</para>
            <para>See also persistentIndexList() and changePersistentIndexList().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.ChangePersistentIndexList(System.Collections.Generic.List{QtCore.QModelIndex},System.Collections.Generic.List{QtCore.QModelIndex})">
            <summary>
            <para>Changes the QPersistentModelIndexes that is equal to the indexes in the given from model index list to the given to model index list.</para>
            <para>If no persistent model indexes equal to the indexes in the given from model index list was found, nothing is changed.</para>
            <para>This function was introduced in Qt 4.1.</para>
            <para>See also persistentIndexList() and changePersistentIndex().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.ColumnCount">
            <summary>
            <para>Returns the number of columns for the children of the given parent.</para>
            <para>In most subclasses, the number of columns is independent of the parent.</para>
            <para>For example:</para>
            <para> int DomModel::columnCount(const QModelIndex &amp;/*parent*/) const</para>
            <para> {</para>
            <para>     return 3;</para>
            <para> }</para>
            <para>Note: When implementing a table based model, columnCount() should return 0 when the parent is valid.</para>
            <para>See also rowCount().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.ColumnCount(QtCore.QModelIndex)">
            <summary>
            <para>Returns the number of columns for the children of the given parent.</para>
            <para>In most subclasses, the number of columns is independent of the parent.</para>
            <para>For example:</para>
            <para> int DomModel::columnCount(const QModelIndex &amp;/*parent*/) const</para>
            <para> {</para>
            <para>     return 3;</para>
            <para> }</para>
            <para>Note: When implementing a table based model, columnCount() should return 0 when the parent is valid.</para>
            <para>See also rowCount().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.CreateIndex(System.Int32,System.Int32)">
            <summary>
            <para>Creates a model index for the given row and column with the internal pointer ptr.</para>
            <para>When using a QSortFilterProxyModel, its indexes have their own internal pointer. It is not advisable to access this internal pointer outside of the model. Use the data() function instead.</para>
            <para>This function provides a consistent interface that model subclasses must use to create model indexes.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.CreateIndex(System.Int32,System.Int32,System.Int32)">
            <summary>
            <para>Creates a model index for the given row and column with the internal pointer ptr.</para>
            <para>When using a QSortFilterProxyModel, its indexes have their own internal pointer. It is not advisable to access this internal pointer outside of the model. Use the data() function instead.</para>
            <para>This function provides a consistent interface that model subclasses must use to create model indexes.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.CreateIndex(System.Int32,System.Int32,System.UInt32)">
            <summary>
            <para>Creates a model index for the given row and column with the internal pointer ptr.</para>
            <para>When using a QSortFilterProxyModel, its indexes have their own internal pointer. It is not advisable to access this internal pointer outside of the model. Use the data() function instead.</para>
            <para>This function provides a consistent interface that model subclasses must use to create model indexes.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.Data(QtCore.QModelIndex,System.Int32)">
            <summary>
            <para>Returns the data stored under the given role for the item referred to by the index.</para>
            <para>Note: If you do not have a value to return, return an invalid QVariant instead of returning 0.</para>
            <para>See also Qt::ItemDataRole, setData(), and headerData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.OnDataChanged(QtCore.QModelIndex,QtCore.QModelIndex)">
            <summary>
            <para>This signal is emitted whenever the data in an existing item changes.</para>
            <para>If the items are of the same parent, the affected ones are those between topLeft and bottomRight inclusive. If the items do not have the same parent, the behavior is undefined.</para>
            <para>When reimplementing the setData() function, this signal must be emitted explicitly.</para>
            <para>See also headerDataChanged(), setData(), and layoutChanged().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.DropMimeData(QtCore.QMimeData,QtCore.Qt.DropAction,System.Int32,System.Int32,QtCore.QModelIndex)">
            <summary>
            <para>Handles the data supplied by a drag and drop operation that ended with the given action.</para>
            <para>Returns true if the data and action can be handled by the model; otherwise returns false.</para>
            <para>The specified row, column and parent indicate the location of an item in the model where the operation ended. It is the responsibility of the model to complete the action at the correct location.</para>
            <para>For instance, a drop action on an item in a QTreeView can result in new items either being inserted as children of the item specified by row, column, and parent, or as siblings of the item.</para>
            <para>When row and column are -1 it means that the dropped data should be considered as dropped directly on parent. Usually this will mean appending the data as child items of parent. If row and column are greater than or equal zero, it means that the drop occurred just before the specified row and column in the specified parent.</para>
            <para>See also supportedDropActions() and Using drag and drop with item views.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.EndInsertColumns">
            <summary>
            <para>Ends a column insertion operation.</para>
            <para>When reimplementing insertColumns() in a subclass, you must call this function after inserting data into the model's underlying data store.</para>
            <para>See also beginInsertColumns().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.EndInsertRows">
            <summary>
            <para>Ends a row insertion operation.</para>
            <para>When reimplementing insertRows() in a subclass, you must call this function after inserting data into the model's underlying data store.</para>
            <para>See also beginInsertRows().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.EndMoveColumns">
            <summary>
            <para>Ends a column move operation.</para>
            <para>When implementing a subclass, you must call this function after moving data within the model's underlying data store.</para>
            <para>layoutChanged is emitted by this method for compatibility reasons.</para>
            <para>This function was introduced in Qt 4.6.</para>
            <para>See also beginMoveColumns().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.EndMoveRows">
            <summary>
            <para>Ends a row move operation.</para>
            <para>When implementing a subclass, you must call this function after moving data within the model's underlying data store.</para>
            <para>layoutChanged is emitted by this method for compatibility reasons.</para>
            <para>This function was introduced in Qt 4.6.</para>
            <para>See also beginMoveRows().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.EndRemoveColumns">
            <summary>
            <para>Ends a column removal operation.</para>
            <para>When reimplementing removeColumns() in a subclass, you must call this function after removing data from the model's underlying data store.</para>
            <para>See also beginRemoveColumns().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.EndRemoveRows">
            <summary>
            <para>Ends a row removal operation.</para>
            <para>When reimplementing removeRows() in a subclass, you must call this function after removing data from the model's underlying data store.</para>
            <para>See also beginRemoveRows().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.EndResetModel">
            <summary>
            <para>Completes a model reset operation.</para>
            <para>You must call this function after resetting any internal data structure in your model or proxy model.</para>
            <para>This function was introduced in Qt 4.6.</para>
            <para>See also beginResetModel().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.FetchMore(QtCore.QModelIndex)">
            <summary>
            <para>Fetches any available data for the items with the parent specified by the parent index.</para>
            <para>Reimplement this if you are populating your model incrementally.</para>
            <para>The default implementation does nothing.</para>
            <para>See also canFetchMore().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.Flags(QtCore.QModelIndex)">
            <summary>
            <para>Returns the item flags for the given index.</para>
            <para>The base class implementation returns a combination of flags that enables the item (ItemIsEnabled) and allows it to be selected (ItemIsSelectable).</para>
            <para>See also Qt::ItemFlags.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.HasChildren">
            <summary>
            <para>Returns true if parent has any children; otherwise returns false.</para>
            <para>Use rowCount() on the parent to find out the number of children.</para>
            <para>See also parent() and index().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.HasChildren(QtCore.QModelIndex)">
            <summary>
            <para>Returns true if parent has any children; otherwise returns false.</para>
            <para>Use rowCount() on the parent to find out the number of children.</para>
            <para>See also parent() and index().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.HasIndex(System.Int32,System.Int32)">
            <summary>
            <para>Returns true if the model returns a valid QModelIndex for row and column with parent, otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.HasIndex(System.Int32,System.Int32,QtCore.QModelIndex)">
            <summary>
            <para>Returns true if the model returns a valid QModelIndex for row and column with parent, otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.HeaderData(System.Int32,QtCore.Qt.Orientation,System.Int32)">
            <summary>
            <para>Returns the data for the given role and section in the header with the specified orientation.</para>
            <para>For horizontal headers, the section number corresponds to the column number. Similarly, for vertical headers, the section number corresponds to the row number.</para>
            <para>See also Qt::ItemDataRole, setHeaderData(), and QHeaderView.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.OnHeaderDataChanged(QtCore.Qt.Orientation,System.Int32,System.Int32)">
            <summary>
            <para>This signal is emitted whenever a header is changed. The orientation indicates whether the horizontal or vertical header has changed. The sections in the header from the first to the last need to be updated.</para>
            <para>When reimplementing the setHeaderData() function, this signal must be emitted explicitly.</para>
            <para>If you are changing the number of columns or rows you do not need to emit this signal, but use the begin/end functions (refer to the section on subclassing in the QAbstractItemModel class description for details).</para>
            <para>See also headerData(), setHeaderData(), and dataChanged().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.Index(System.Int32,System.Int32)">
            <summary>
            <para>Returns the index of the item in the model specified by the given row, column and parent index.</para>
            <para>When reimplementing this function in a subclass, call createIndex() to generate model indexes that other components can use to refer to items in your model.</para>
            <para>See also createIndex().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.Index(System.Int32,System.Int32,QtCore.QModelIndex)">
            <summary>
            <para>Returns the index of the item in the model specified by the given row, column and parent index.</para>
            <para>When reimplementing this function in a subclass, call createIndex() to generate model indexes that other components can use to refer to items in your model.</para>
            <para>See also createIndex().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.InsertColumn(System.Int32)">
            <summary>
            <para>Inserts a single column before the given column in the child items of the parent specified.</para>
            <para>Returns true if the column is inserted; otherwise returns false.</para>
            <para>See also insertColumns(), insertRow(), and removeColumn().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.InsertColumn(System.Int32,QtCore.QModelIndex)">
            <summary>
            <para>Inserts a single column before the given column in the child items of the parent specified.</para>
            <para>Returns true if the column is inserted; otherwise returns false.</para>
            <para>See also insertColumns(), insertRow(), and removeColumn().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.InsertColumns(System.Int32,System.Int32)">
            <summary>
            <para>On models that support this, inserts count new columns into the model before the given column. The items in each new column will be children of the item represented by the parent model index.</para>
            <para>If column is 0, the columns are prepended to any existing columns.</para>
            <para>If column is columnCount(), the columns are appended to any existing columns.</para>
            <para>If parent has no children, a single row with count columns is inserted.</para>
            <para>Returns true if the columns were successfully inserted; otherwise returns false.</para>
            <para>The base class implementation does nothing and returns false.</para>
            <para>If you implement your own model, you can reimplement this function if you want to support insertions. Alternatively, you can provide your own API for altering the data.</para>
            <para>See also insertRows(), removeColumns(), beginInsertColumns(), and endInsertColumns().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.InsertColumns(System.Int32,System.Int32,QtCore.QModelIndex)">
            <summary>
            <para>On models that support this, inserts count new columns into the model before the given column. The items in each new column will be children of the item represented by the parent model index.</para>
            <para>If column is 0, the columns are prepended to any existing columns.</para>
            <para>If column is columnCount(), the columns are appended to any existing columns.</para>
            <para>If parent has no children, a single row with count columns is inserted.</para>
            <para>Returns true if the columns were successfully inserted; otherwise returns false.</para>
            <para>The base class implementation does nothing and returns false.</para>
            <para>If you implement your own model, you can reimplement this function if you want to support insertions. Alternatively, you can provide your own API for altering the data.</para>
            <para>See also insertRows(), removeColumns(), beginInsertColumns(), and endInsertColumns().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.InsertRow(System.Int32)">
            <summary>
            <para>Note: The base class implementation of this function does nothing and returns false.</para>
            <para>Inserts a single row before the given row in the child items of the parent specified.</para>
            <para>Returns true if the row is inserted; otherwise returns false.</para>
            <para>See also insertRows(), insertColumn(), and removeRow().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.InsertRow(System.Int32,QtCore.QModelIndex)">
            <summary>
            <para>Note: The base class implementation of this function does nothing and returns false.</para>
            <para>Inserts a single row before the given row in the child items of the parent specified.</para>
            <para>Returns true if the row is inserted; otherwise returns false.</para>
            <para>See also insertRows(), insertColumn(), and removeRow().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.InsertRows(System.Int32,System.Int32)">
            <summary>
            <para>Note: The base class implementation of this function does nothing and returns false.</para>
            <para>On models that support this, inserts count rows into the model before the given row. Items in the new row will be children of the item represented by the parent model index.</para>
            <para>If row is 0, the rows are prepended to any existing rows in the parent.</para>
            <para>If row is rowCount(), the rows are appended to any existing rows in the parent.</para>
            <para>If parent has no children, a single column with count rows is inserted.</para>
            <para>Returns true if the rows were successfully inserted; otherwise returns false.</para>
            <para>If you implement your own model, you can reimplement this function if you want to support insertions. Alternatively, you can provide your own API for altering the data. In either case, you will need to call beginInsertRows() and endInsertRows() to notify other components that the model has changed.</para>
            <para>See also insertColumns(), removeRows(), beginInsertRows(), and endInsertRows().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.InsertRows(System.Int32,System.Int32,QtCore.QModelIndex)">
            <summary>
            <para>Note: The base class implementation of this function does nothing and returns false.</para>
            <para>On models that support this, inserts count rows into the model before the given row. Items in the new row will be children of the item represented by the parent model index.</para>
            <para>If row is 0, the rows are prepended to any existing rows in the parent.</para>
            <para>If row is rowCount(), the rows are appended to any existing rows in the parent.</para>
            <para>If parent has no children, a single column with count rows is inserted.</para>
            <para>Returns true if the rows were successfully inserted; otherwise returns false.</para>
            <para>If you implement your own model, you can reimplement this function if you want to support insertions. Alternatively, you can provide your own API for altering the data. In either case, you will need to call beginInsertRows() and endInsertRows() to notify other components that the model has changed.</para>
            <para>See also insertColumns(), removeRows(), beginInsertRows(), and endInsertRows().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.ItemData(QtCore.QModelIndex)">
            <summary>
            <para>Returns a map with values for all predefined roles in the model for the item at the given index.</para>
            <para>Reimplement this function if you want to extend the default behavior of this function to include custom roles in the map.</para>
            <para>See also setItemData(), Qt::ItemDataRole, and data().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.OnLayoutAboutToBeChanged">
            <summary>
            <para>This signal is emitted just before the layout of a model is changed. Components connected to this signal use it to adapt to changes in the model's layout.</para>
            <para>Subclasses should update any persistent model indexes after emitting layoutAboutToBeChanged().</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also layoutChanged() and changePersistentIndex().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.OnLayoutChanged">
            <summary>
            <para>This signal is emitted whenever the layout of items exposed by the model has changed; for example, when the model has been sorted. When this signal is received by a view, it should update the layout of items to reflect this change.</para>
            <para>When subclassing QAbstractItemModel or QAbstractProxyModel, ensure that you emit layoutAboutToBeChanged() before changing the order of items or altering the structure of the data you expose to views, and emit layoutChanged() after changing the layout.</para>
            <para>Subclasses should update any persistent model indexes before emitting layoutChanged(). In other words, when the structure changes:</para>
            <para></para>
            <para>emit layoutAboutToBeChanged</para>
            <para>Remember the QModelIndex that will change</para>
            <para>Update your internal data</para>
            <para>Call changePersistentIndex()</para>
            <para>emit layoutChanged</para>
            <para></para>
            <para>See also layoutAboutToBeChanged(), dataChanged(), headerDataChanged(), modelReset(), and changePersistentIndex().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.Match(QtCore.QModelIndex,System.Int32,System.Object,System.Int32,QtCore.Qt.MatchFlag)">
            <summary>
            <para>Returns a list of indexes for the items in the column of the start index where data stored under the given role matches the specified value. The way the search is performed is defined by the flags given. The list that is returned may be empty.</para>
            <para>The search begins from the start index, and continues until the number of matching data items equals hits, the search reaches the last row, or the search reaches start again - depending on whether MatchWrap is specified in flags. If you want to search for all matching items, use hits = -1.</para>
            <para>By default, this function will perform a wrapping, string-based comparison on all items, searching for items that begin with the search term specified by value.</para>
            <para>Note: The default implementation of this function only searches columns. Reimplement this function to include a different search behavior.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.MimeData(System.Collections.Generic.List{QtCore.QModelIndex})">
            <summary>
            <para>Returns an object that contains serialized items of data corresponding to the list of indexes specified. The formats used to describe the encoded data is obtained from the mimeTypes() function.</para>
            <para>If the list of indexes is empty, or there are no supported MIME types, 0 is returned rather than a serialized empty list.</para>
            <para>See also mimeTypes() and dropMimeData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.MimeTypes">
            <summary>
            <para>Returns a list of MIME types that can be used to describe a list of model indexes.</para>
            <para>See also mimeData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.Parent">
            <summary>
            <para>Returns the parent of the model item with the given index. If the item has no parent, an invalid QModelIndex is returned.</para>
            <para>A common convention used in models that expose tree data structures is that only items in the first column have children. For that case, when reimplementing this function in a subclass the column of the returned QModelIndex would be 0.</para>
            <para>When reimplementing this function in a subclass, be careful to avoid calling QModelIndex member functions, such as QModelIndex::parent(), since indexes belonging to your model will simply call your implementation, leading to infinite recursion.</para>
            <para>See also createIndex().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.Parent(QtCore.QModelIndex)">
            <summary>
            <para>Returns the parent of the model item with the given index. If the item has no parent, an invalid QModelIndex is returned.</para>
            <para>A common convention used in models that expose tree data structures is that only items in the first column have children. For that case, when reimplementing this function in a subclass the column of the returned QModelIndex would be 0.</para>
            <para>When reimplementing this function in a subclass, be careful to avoid calling QModelIndex member functions, such as QModelIndex::parent(), since indexes belonging to your model will simply call your implementation, leading to infinite recursion.</para>
            <para>See also createIndex().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.PersistentIndexList">
            <summary>
            <para>Returns the list of indexes stored as persistent indexes in the model.</para>
            <para>This function was introduced in Qt 4.2.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.RemoveColumn(System.Int32)">
            <summary>
            <para>Removes the given column from the child items of the parent specified.</para>
            <para>Returns true if the column is removed; otherwise returns false.</para>
            <para>See also removeColumns(), removeRow(), and insertColumn().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.RemoveColumn(System.Int32,QtCore.QModelIndex)">
            <summary>
            <para>Removes the given column from the child items of the parent specified.</para>
            <para>Returns true if the column is removed; otherwise returns false.</para>
            <para>See also removeColumns(), removeRow(), and insertColumn().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.RemoveColumns(System.Int32,System.Int32)">
            <summary>
            <para>On models that support this, removes count columns starting with the given column under parent parent from the model.</para>
            <para>Returns true if the columns were successfully removed; otherwise returns false.</para>
            <para>The base class implementation does nothing and returns false.</para>
            <para>If you implement your own model, you can reimplement this function if you want to support removing. Alternatively, you can provide your own API for altering the data.</para>
            <para>See also removeColumn(), removeRows(), insertColumns(), beginRemoveColumns(), and endRemoveColumns().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.RemoveColumns(System.Int32,System.Int32,QtCore.QModelIndex)">
            <summary>
            <para>On models that support this, removes count columns starting with the given column under parent parent from the model.</para>
            <para>Returns true if the columns were successfully removed; otherwise returns false.</para>
            <para>The base class implementation does nothing and returns false.</para>
            <para>If you implement your own model, you can reimplement this function if you want to support removing. Alternatively, you can provide your own API for altering the data.</para>
            <para>See also removeColumn(), removeRows(), insertColumns(), beginRemoveColumns(), and endRemoveColumns().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.RemoveRow(System.Int32)">
            <summary>
            <para>Removes the given row from the child items of the parent specified.</para>
            <para>Returns true if the row is removed; otherwise returns false.</para>
            <para>This is a convenience function that calls removeRows(). The QAbstractItemModel implementation of removeRows() does nothing.</para>
            <para>See also removeRows(), removeColumn(), and insertRow().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.RemoveRow(System.Int32,QtCore.QModelIndex)">
            <summary>
            <para>Removes the given row from the child items of the parent specified.</para>
            <para>Returns true if the row is removed; otherwise returns false.</para>
            <para>This is a convenience function that calls removeRows(). The QAbstractItemModel implementation of removeRows() does nothing.</para>
            <para>See also removeRows(), removeColumn(), and insertRow().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.RemoveRows(System.Int32,System.Int32)">
            <summary>
            <para>On models that support this, removes count rows starting with the given row under parent parent from the model.</para>
            <para>Returns true if the rows were successfully removed; otherwise returns false.</para>
            <para>The base class implementation does nothing and returns false.</para>
            <para>If you implement your own model, you can reimplement this function if you want to support removing. Alternatively, you can provide your own API for altering the data.</para>
            <para>See also removeRow(), removeColumns(), insertColumns(), beginRemoveRows(), and endRemoveRows().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.RemoveRows(System.Int32,System.Int32,QtCore.QModelIndex)">
            <summary>
            <para>On models that support this, removes count rows starting with the given row under parent parent from the model.</para>
            <para>Returns true if the rows were successfully removed; otherwise returns false.</para>
            <para>The base class implementation does nothing and returns false.</para>
            <para>If you implement your own model, you can reimplement this function if you want to support removing. Alternatively, you can provide your own API for altering the data.</para>
            <para>See also removeRow(), removeColumns(), insertColumns(), beginRemoveRows(), and endRemoveRows().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.Reset">
            <summary>
            <para>Resets the model to its original state in any attached views.</para>
            <para>Note: Use beginResetModel() and endResetModel() instead whenever possible. Use this method only if there is no way to call beginResetModel() before invalidating the model. Otherwise it could lead to unexpected behaviour, especially when used with proxy models.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.ResetInternalData">
            <summary>
            <para>This slot is called just after the internal data of a model is cleared while it is being reset.</para>
            <para>This slot is provided the convenience of subclasses of concrete proxy models, such as subclasses of QSortFilterProxyModel which maintain extra data.</para>
            <para> class CustomDataProxy : public QSortFilterProxyModel</para>
            <para> {</para>
            <para>     Q_OBJECT</para>
            <para> public:</para>
            <para>     CustomDataProxy(QObject *parent)</para>
            <para>       : QSortFilterProxyModel(parent)</para>
            <para>     {</para>
            <para>     }</para>
            <para></para>
            <para>     ...</para>
            <para></para>
            <para>     QVariant data(const QModelIndex &amp;index, int role)</para>
            <para>     {</para>
            <para>         if (role != Qt::BackgroundRole)</para>
            <para>             return QSortFilterProxyModel::data(index, role);</para>
            <para></para>
            <para>         if (m_customData.contains(index.row()))</para>
            <para>             return m_customData.value(index.row());</para>
            <para>         return QSortFilterProxyModel::data(index, role);</para>
            <para>     }</para>
            <para></para>
            <para> private slots:</para>
            <para>     void resetInternalData()</para>
            <para>     {</para>
            <para>         m_customData.clear();</para>
            <para>     }</para>
            <para></para>
            <para> private:</para>
            <para>   QHash&lt;int, QVariant&gt; m_customData;</para>
            <para> };</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also modelAboutToBeReset() and modelReset().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.Revert">
            <summary>
            <para>Lets the model know that it should discard cached information. This function is typically used for row editing.</para>
            <para>See also submit().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.RoleNames">
            <summary>
            <para>Returns the model's role names.</para>
            <para>This function was introduced in Qt 4.6.</para>
            <para>See also setRoleNames().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.RowCount">
            <summary>
            <para>Returns the number of rows under the given parent. When the parent is valid it means that rowCount is returning the number of children of parent.</para>
            <para>Note: When implementing a table based model, rowCount() should return 0 when the parent is valid.</para>
            <para>See also columnCount().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.RowCount(QtCore.QModelIndex)">
            <summary>
            <para>Returns the number of rows under the given parent. When the parent is valid it means that rowCount is returning the number of children of parent.</para>
            <para>Note: When implementing a table based model, rowCount() should return 0 when the parent is valid.</para>
            <para>See also columnCount().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.SetData(QtCore.QModelIndex,System.Object,System.Int32)">
            <summary>
            <para>Sets the role data for the item at index to value.</para>
            <para>Returns true if successful; otherwise returns false.</para>
            <para>The dataChanged() signal should be emitted if the data was successfully set.</para>
            <para>The base class implementation returns false. This function and data() must be reimplemented for editable models.</para>
            <para>See also Qt::ItemDataRole, data(), and itemData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.SetHeaderData(System.Int32,QtCore.Qt.Orientation,System.Object,System.Int32)">
            <summary>
            <para>Sets the data for the given role and section in the header with the specified orientation to the value supplied.</para>
            <para>Returns true if the header's data was updated; otherwise returns false.</para>
            <para>When reimplementing this function, the headerDataChanged() signal must be emitted explicitly.</para>
            <para>See also Qt::ItemDataRole and headerData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.SetItemData(QtCore.QModelIndex,System.Collections.Generic.Dictionary{System.Int32,System.Object})">
            <summary>
            <para>Sets the role data for the item at index to the associated value in roles, for every Qt::ItemDataRole.</para>
            <para>Returns true if successful; otherwise returns false.</para>
            <para>Roles that are not in roles will not be modified.</para>
            <para>See also setData(), data(), and itemData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.SetRoleNames(System.Collections.Generic.Dictionary{System.Int32,QtCore.QByteArray})">
            <summary>
            <para>Sets the model's role names to roleNames.</para>
            <para>This function allows mapping of role identifiers to role property names in Declarative UI. This function must be called before the model is used. Modifying the role names after the model has been set may result in undefined behaviour.</para>
            <para>This function was introduced in Qt 4.6.</para>
            <para>See also roleNames().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.Sibling(System.Int32,System.Int32,QtCore.QModelIndex)">
            <summary>
            <para>Returns the sibling at row and column for the item at index, or an invalid QModelIndex if there is no sibling at that location.</para>
            <para>sibling() is just a convenience function that finds the item's parent, and uses it to retrieve the index of the child item in the specified row and column.</para>
            <para>See also index(), QModelIndex::row(), and QModelIndex::column().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.Sort(System.Int32,QtCore.Qt.SortOrder)">
            <summary>
            <para>Sorts the model by column in the given order.</para>
            <para>The base class implementation does nothing.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.Span(QtCore.QModelIndex)">
            <summary>
            <para>Returns the row and column span of the item represented by index.</para>
            <para>Note: Currently, span is not used.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.Submit">
            <summary>
            <para>Lets the model know that it should submit cached information to permanent storage. This function is typically used for row editing.</para>
            <para>Returns true if there is no error; otherwise returns false.</para>
            <para>See also revert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.SupportedDropActions">
            <summary>
            <para>Returns the drop actions supported by this model.</para>
            <para>The default implementation returns Qt::CopyAction. Reimplement this function if you wish to support additional actions. You must also reimplement the dropMimeData() function to handle the additional operations.</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also dropMimeData(), Qt::DropActions, and Using drag and drop with item views.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractItemModel.Finalize">
            <summary>
            <para>Destroys the abstract item model.</para>
            </summary>
        </member>
        <member name="E:QtCore.QAbstractItemModel.DataChanged">
            <summary>
            <para>This signal is emitted whenever the data in an existing item changes.</para>
            <para>If the items are of the same parent, the affected ones are those between topLeft and bottomRight inclusive. If the items do not have the same parent, the behavior is undefined.</para>
            <para>When reimplementing the setData() function, this signal must be emitted explicitly.</para>
            <para>See also headerDataChanged(), setData(), and layoutChanged().</para>
            </summary>
        </member>
        <member name="E:QtCore.QAbstractItemModel.HeaderDataChanged">
            <summary>
            <para>This signal is emitted whenever a header is changed. The orientation indicates whether the horizontal or vertical header has changed. The sections in the header from the first to the last need to be updated.</para>
            <para>When reimplementing the setHeaderData() function, this signal must be emitted explicitly.</para>
            <para>If you are changing the number of columns or rows you do not need to emit this signal, but use the begin/end functions (refer to the section on subclassing in the QAbstractItemModel class description for details).</para>
            <para>See also headerData(), setHeaderData(), and dataChanged().</para>
            </summary>
        </member>
        <member name="E:QtCore.QAbstractItemModel.LayoutChanged">
            <summary>
            <para>This signal is emitted whenever the layout of items exposed by the model has changed; for example, when the model has been sorted. When this signal is received by a view, it should update the layout of items to reflect this change.</para>
            <para>When subclassing QAbstractItemModel or QAbstractProxyModel, ensure that you emit layoutAboutToBeChanged() before changing the order of items or altering the structure of the data you expose to views, and emit layoutChanged() after changing the layout.</para>
            <para>Subclasses should update any persistent model indexes before emitting layoutChanged(). In other words, when the structure changes:</para>
            <para></para>
            <para>emit layoutAboutToBeChanged</para>
            <para>Remember the QModelIndex that will change</para>
            <para>Update your internal data</para>
            <para>Call changePersistentIndex()</para>
            <para>emit layoutChanged</para>
            <para></para>
            <para>See also layoutAboutToBeChanged(), dataChanged(), headerDataChanged(), modelReset(), and changePersistentIndex().</para>
            </summary>
        </member>
        <member name="E:QtCore.QAbstractItemModel.LayoutAboutToBeChanged">
            <summary>
            <para>This signal is emitted just before the layout of a model is changed. Components connected to this signal use it to adapt to changes in the model's layout.</para>
            <para>Subclasses should update any persistent model indexes after emitting layoutAboutToBeChanged().</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also layoutChanged() and changePersistentIndex().</para>
            </summary>
        </member>
        <member name="P:QtCore.QAbstractItemModel.SupportedDragActions">
            <summary>
            <para>Returns the actions supported by the data in this model.</para>
            <para>The default implementation returns supportedDropActions() unless specific values have been set with setSupportedDragActions().</para>
            <para>supportedDragActions() is used by QAbstractItemView::startDrag() as the default values when a drag occurs.</para>
            <para>Sets the supported drag actions for the items in the model.</para>
            <para>This function was introduced in Qt 4.2.</para>
            </summary>
        </member>
        <member name="T:QtCore.QByteArray">
            <summary>
            The QByteArray class provides an array of bytes.
            </summary>
            <remarks>
            <para></para>
            <para>QByteArray can be used to store both raw bytes (including '\0's) and traditional 8-bit '\0'-terminated strings. Using QByteArray is much more convenient than using const char *. Behind the scenes, it always ensures that the data is followed by a '\0' terminator, and uses implicit sharing (copy-on-write) to reduce memory usage and avoid needless copying of data.</para>
            <para>In addition to QByteArray, Qt also provides the QString class to store string data. For most purposes, QString is the class you want to use. It stores 16-bit Unicode characters, making it easy to store non-ASCII/non-Latin-1 characters in your application. Furthermore, QString is used throughout in the Qt API. The two main cases where QByteArray is appropriate are when you need to store raw binary data, and when memory conservation is critical (e.g., with Qt for Embedded Linux).</para>
            <para>One way to initialize a QByteArray is simply to pass a const char * to its constructor. For example, the following code creates a byte array of size 5 containing the data &amp;quot;Hello&amp;quot;:</para>
            <para> QByteArray ba(&amp;quot;Hello&amp;quot;);</para>
            <para>Although the size() is 5, the byte array also maintains an extra '\0' character at the end so that if a function is used that asks for a pointer to the underlying data (e.g. a call to data()), the data pointed to is guaranteed to be '\0'-terminated.</para>
            <para>QByteArray makes a deep copy of the const char * data, so you can modify it later without experiencing side effects. (If for performance reasons you don't want to take a deep copy of the character data, use QByteArray::fromRawData() instead.)</para>
            <para>Another approach is to set the size of the array using resize() and to initialize the data byte per byte. QByteArray uses 0-based indexes, just like C++ arrays. To access the byte at a particular index position, you can use operator[](). On non-const byte arrays, operator[]() returns a reference to a byte that can be used on the left side of an assignment. For example:</para>
            <para> QByteArray ba;</para>
            <para> ba.resize(5);</para>
            <para> ba[0] = 0x3c;</para>
            <para> ba[1] = 0xb8;</para>
            <para> ba[2] = 0x64;</para>
            <para> ba[3] = 0x18;</para>
            <para> ba[4] = 0xca;</para>
            <para>For read-only access, an alternative syntax is to use at():</para>
            <para> for (int i = 0; i &amp;lt; ba.size(); ++i) {</para>
            <para>     if (ba.at(i) &amp;gt;= 'a' &amp;amp;&amp;amp; ba.at(i) &amp;lt;= 'f')</para>
            <para>         cout &amp;lt;&amp;lt; &amp;quot;Found character in range [a-f]&amp;quot; &amp;lt;&amp;lt; endl;</para>
            <para> }</para>
            <para>at() can be faster than operator[](), because it never causes a deep copy to occur.</para>
            <para>To extract many bytes at a time, use left(), right(), or mid().</para>
            <para>A QByteArray can embed '\0' bytes. The size() function always returns the size of the whole array, including embedded '\0' bytes. If you want to obtain the length of the data up to and excluding the first '\0' character, call qstrlen() on the byte array.</para>
            <para>After a call to resize(), newly allocated bytes have undefined values. To set all the bytes to a particular value, call fill().</para>
            <para>To obtain a pointer to the actual character data, call data() or constData(). These functions return a pointer to the beginning of the data. The pointer is guaranteed to remain valid until a non-const function is called on the QByteArray. It is also guaranteed that the data ends with a '\0' byte unless the QByteArray was created from a raw data. This '\0' byte is automatically provided by QByteArray and is not counted in size().</para>
            <para>QByteArray provides the following basic functions for modifying the byte data: append(), prepend(), insert(), replace(), and remove(). For example:</para>
            <para> QByteArray x(&amp;quot;and&amp;quot;);</para>
            <para> x.prepend(&amp;quot;rock &amp;quot;);         // x == &amp;quot;rock and&amp;quot;</para>
            <para> x.append(&amp;quot; roll&amp;quot;);          // x == &amp;quot;rock and roll&amp;quot;</para>
            <para> x.replace(5, 3, &amp;quot;&amp;amp;&amp;quot;);       // x == &amp;quot;rock &amp;amp; roll&amp;quot;</para>
            <para>The replace() and remove() functions' first two arguments are the position from which to start erasing and the number of bytes that should be erased.</para>
            <para>When you append() data to a non-empty array, the array will be reallocated and the new data copied to it. You can avoid this behavior by calling reserve(), which preallocates a certain amount of memory. You can also call capacity() to find out how much memory QByteArray actually allocated. Data appended to an empty array is not copied.</para>
            <para>A frequent requirement is to remove whitespace characters from a byte array ('\n', '\t', ' ', etc.). If you want to remove whitespace from both ends of a QByteArray, use trimmed(). If you want to remove whitespace from both ends and replace multiple consecutive whitespaces with a single space character within the byte array, use simplified().</para>
            <para>If you want to find all occurrences of a particular character or substring in a QByteArray, use indexOf() or lastIndexOf(). The former searches forward starting from a given index position, the latter searches backward. Both return the index position of the character or substring if they find it; otherwise, they return -1. For example, here's a typical loop that finds all occurrences of a particular substring:</para>
            <para> QByteArray ba(&amp;quot;We must be &amp;lt;b&amp;gt;bold&amp;lt;/b&amp;gt;, very &amp;lt;b&amp;gt;bold&amp;lt;/b&amp;gt;&amp;quot;);</para>
            <para> int j = 0;</para>
            <para> while ((j = ba.indexOf(&amp;quot;&amp;lt;b&amp;gt;&amp;quot;, j)) != -1) {</para>
            <para>     cout &amp;lt;&amp;lt; &amp;quot;Found &amp;lt;b&amp;gt; tag at index position &amp;quot; &amp;lt;&amp;lt; j &amp;lt;&amp;lt; endl;</para>
            <para>     ++j;</para>
            <para> }</para>
            <para>If you simply want to check whether a QByteArray contains a particular character or substring, use contains(). If you want to find out how many times a particular character or substring occurs in the byte array, use count(). If you want to replace all occurrences of a particular value with another, use one of the two-parameter replace() overloads.</para>
            <para>QByteArrays can be compared using overloaded operators such as operator&amp;lt;(), operator&amp;lt;=(), operator==(), operator&amp;gt;=(), and so on. The comparison is based exclusively on the numeric values of the characters and is very fast, but is not what a human would expect. QString::localeAwareCompare() is a better choice for sorting user-interface strings.</para>
            <para>For historical reasons, QByteArray distinguishes between a null byte array and an empty byte array. A null byte array is a byte array that is initialized using QByteArray's default constructor or by passing (const char *)0 to the constructor. An empty byte array is any byte array with size 0. A null byte array is always empty, but an empty byte array isn't necessarily null:</para>
            <para> QByteArray().isNull();          // returns true</para>
            <para> QByteArray().isEmpty();         // returns true</para>
            <para></para>
            <para> QByteArray(&amp;quot;&amp;quot;).isNull();        // returns false</para>
            <para> QByteArray(&amp;quot;&amp;quot;).isEmpty();       // returns true</para>
            <para></para>
            <para> QByteArray(&amp;quot;abc&amp;quot;).isNull();     // returns false</para>
            <para> QByteArray(&amp;quot;abc&amp;quot;).isEmpty();    // returns false</para>
            <para>All functions except isNull() treat null byte arrays the same as empty byte arrays. For example, data() returns a pointer to a '\0' character for a null byte array (not a null pointer), and QByteArray() compares equal to QByteArray(&amp;quot;&amp;quot;). We recommend that you always use isEmpty() and avoid isNull().</para>
            <para></para>
            <para>Notes on Locale</para>
            <para></para>
            <para>Number-String Conversions</para>
            <para>Functions that perform conversions between numeric data types and strings are performed in the C locale, irrespective of the user's locale settings. Use QString to perform locale-aware conversions between numbers and strings.</para>
            <para></para>
            <para>8-bit Character Comparisons</para>
            <para>In QByteArray, the notion of uppercase and lowercase and of which character is greater than or less than another character is locale dependent. This affects functions that support a case insensitive option or that compare or lowercase or uppercase their arguments. Case insensitive operations and comparisons will be accurate if both strings contain only ASCII characters. (If $LC_CTYPE is set, most Unix systems do &amp;quot;the right thing&amp;quot;.) Functions that this affects include contains(), indexOf(), lastIndexOf(), operator&amp;lt;(), operator&amp;lt;=(), operator&amp;gt;(), operator&amp;gt;=(), toLower() and toUpper().</para>
            <para>This issue does not apply to QStrings since they represent characters using Unicode.</para>
            <para></para>
            <para>See also QString and QBitArray.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QByteArray.#ctor">
            <summary>
            <para>Constructs an empty byte array.</para>
            <para>See also isEmpty().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.#ctor(QtCore.QByteArray)">
            <summary>
            <para>Constructs a copy of other.</para>
            <para>This operation takes constant time, because QByteArray is implicitly shared. This makes returning a QByteArray from a function very fast. If a shared instance is modified, it will be copied (copy-on-write), taking linear time.</para>
            <para>See also operator=().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.#ctor(System.String)">
            <summary>
            <para>Constructs a byte array initialized with the string str.</para>
            <para>QByteArray makes a deep copy of the string data.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.#ctor(System.String,System.Int32)">
            <summary>
            <para>Constructs a byte array containing the first size bytes of array data.</para>
            <para>If data is 0, a null byte array is constructed.</para>
            <para>QByteArray makes a deep copy of the string data.</para>
            <para>See also fromRawData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.#ctor(System.Int32,System.SByte)">
            <summary>
            <para>Constructs a byte array of size size with every byte set to character ch.</para>
            <para>See also fill().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.#ctor(System.Int32,QtCore.Qt.Initialization)">
            <summary>
            <para>Constructs an empty byte array.</para>
            <para>See also isEmpty().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Append(QtCore.QByteArray)">
            <summary>
            <para>Appends the byte array ba onto the end of this byte array.</para>
            <para>Example:</para>
            <para> QByteArray x(&quot;free&quot;);</para>
            <para> QByteArray y(&quot;dom&quot;);</para>
            <para> x.append(y);</para>
            <para> // x == &quot;freedom&quot;</para>
            <para>This is the same as insert(size(), ba).</para>
            <para>Note: QByteArray is an implicitly shared class. Consequently, if this is an empty QByteArray, then this will just share the data held in ba. In this case, no copying of data is done, taking constant time. If a shared instance is modified, it will be copied (copy-on-write), taking linear time.</para>
            <para>If this is not an empty QByteArray, a deep copy of the data is performed, taking linear time.</para>
            <para>This operation typically does not suffer from allocation overhead, because QByteArray preallocates extra space at the end of the data so that it may grow without reallocating for each append operation.</para>
            <para>See also operator+=(), prepend(), and insert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Append(System.SByte)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Appends the character ch to this byte array.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Append(System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Appends the string str to this byte array.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Append(System.String,System.Int32)">
            <summary>
            <para>This function overloads append().</para>
            <para>Appends the first len characters of the string str to this byte array and returns a reference to this byte array.</para>
            <para>If len is negative, the length of the string will be determined automatically using qstrlen(). If len is zero or str is null, nothing is appended to the byte array. Ensure that len is not longer than str.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.At(System.Int32)">
            <summary>
            <para>Returns the character at index position i in the byte array.</para>
            <para>i must be a valid index position in the byte array (i.e., 0 &lt;= i &lt; size()).</para>
            <para>See also operator[]().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Capacity">
            <summary>
            <para>Returns the maximum number of bytes that can be stored in the byte array without forcing a reallocation.</para>
            <para>The sole purpose of this function is to provide a means of fine tuning QByteArray's memory usage. In general, you will rarely ever need to call this function. If you want to know how many bytes are in the byte array, call size().</para>
            <para>See also reserve() and squeeze().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Chop(System.Int32)">
            <summary>
            <para>Removes n bytes from the end of the byte array.</para>
            <para>If n is greater than size(), the result is an empty byte array.</para>
            <para>Example:</para>
            <para> QByteArray ba(&quot;STARTTLS\r\n&quot;);</para>
            <para> ba.chop(2);                 // ba == &quot;STARTTLS&quot;</para>
            <para>See also truncate(), resize(), and left().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Clear">
            <summary>
            <para>Clears the contents of the byte array and makes it empty.</para>
            <para>See also resize() and isEmpty().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ConstData">
            <summary>
            <para>Returns a pointer to the data stored in the byte array. The pointer can be used to access the bytes that compose the array. The data is '\0'-terminated unless the QByteArray object was created from raw data. The pointer remains valid as long as the byte array isn't reallocated or destroyed.</para>
            <para>This function is mostly useful to pass a byte array to a function that accepts a const char *.</para>
            <para>Note: A QByteArray can store any byte values including '\0's, but most functions that take char * arguments assume that the data ends at the first '\0' they encounter.</para>
            <para>See also data(), operator[](), and fromRawData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Contains(QtCore.QByteArray)">
            <summary>
            <para>Returns true if the byte array contains an occurrence of the byte array ba; otherwise returns false.</para>
            <para>See also indexOf() and count().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Contains(System.SByte)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns true if the byte array contains the character ch; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Contains(System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns true if the byte array contains the string str; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Count">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Same as size().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Count(QtCore.QByteArray)">
            <summary>
            <para>Returns the number of (potentially overlapping) occurrences of byte array ba in this byte array.</para>
            <para>See also contains() and indexOf().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Count(System.SByte)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns the number of occurrences of character ch in the byte array.</para>
            <para>See also contains() and indexOf().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Count(System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns the number of (potentially overlapping) occurrences of string str in the byte array.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Data">
            <summary>
            <para>Returns a pointer to the data stored in the byte array. The pointer can be used to access and modify the bytes that compose the array. The data is '\0'-terminated, i.e. the number of bytes in the returned character string is size() + 1 for the '\0' terminator.</para>
            <para>Example:</para>
            <para> QByteArray ba(&quot;Hello world&quot;);</para>
            <para> char *data = ba.data();</para>
            <para> while (*data) {</para>
            <para>     cout &lt;&lt; &quot;[&quot; &lt;&lt; *data &lt;&lt; &quot;]&quot; &lt;&lt; endl;</para>
            <para>     ++data;</para>
            <para> }</para>
            <para>The pointer remains valid as long as the byte array isn't reallocated or destroyed. For read-only access, constData() is faster because it never causes a deep copy to occur.</para>
            <para>This function is mostly useful to pass a byte array to a function that accepts a const char *.</para>
            <para>The following example makes a copy of the char* returned by data(), but it will corrupt the heap and cause a crash because it does not allocate a byte for the '\0' at the end:</para>
            <para> QString tmp = &quot;test&quot;;</para>
            <para> QByteArray text = tmp.toLocal8Bit();</para>
            <para> char *data = new char[text.size()]</para>
            <para> strcpy(data, text.data());</para>
            <para> delete [] data;</para>
            <para>This one allocates the correct amount of space:</para>
            <para> QString tmp = &quot;test&quot;;</para>
            <para> QByteArray text = tmp.toLocal8Bit();</para>
            <para> char *data = new char[text.size() + 1]</para>
            <para> strcpy(data, text.data());</para>
            <para> delete [] data;</para>
            <para>Note: A QByteArray can store any byte values including '\0's, but most functions that take char * arguments assume that the data ends at the first '\0' they encounter.</para>
            <para>See also constData() and operator[]().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.EndsWith(QtCore.QByteArray)">
            <summary>
            <para>Returns true if this byte array ends with byte array ba; otherwise returns false.</para>
            <para>Example:</para>
            <para> QByteArray url(&quot;http://qt.nokia.com/index.html&quot;);</para>
            <para> if (url.endsWith(&quot;.html&quot;))</para>
            <para>     ...</para>
            <para>See also startsWith() and right().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.EndsWith(System.SByte)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns true if this byte array ends with character ch; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.EndsWith(System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns true if this byte array ends with string str; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Fill(System.SByte,System.Int32)">
            <summary>
            <para>Sets every byte in the byte array to character ch. If size is different from -1 (the default), the byte array is resized to size size beforehand.</para>
            <para>Example:</para>
            <para> QByteArray ba(&quot;Istambul&quot;);</para>
            <para> ba.fill('o');</para>
            <para> // ba == &quot;oooooooo&quot;</para>
            <para></para>
            <para> ba.fill('X', 2);</para>
            <para> // ba == &quot;XX&quot;</para>
            <para>See also resize().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.FromBase64(QtCore.QByteArray)">
            <summary>
            <para>Returns a decoded copy of the Base64 array base64. Input is not checked for validity; invalid characters in the input are skipped, enabling the decoding process to continue with subsequent characters.</para>
            <para>For example:</para>
            <para> QByteArray text = QByteArray::fromBase64(&quot;UXQgaXMgZ3JlYXQh&quot;);</para>
            <para> text.data();            // returns &quot;Qt is great!&quot;</para>
            <para>The algorithm used to decode Base64-encoded data is defined in RFC 2045.</para>
            <para>See also toBase64().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.FromHex(QtCore.QByteArray)">
            <summary>
            <para>Returns a decoded copy of the hex encoded array hexEncoded. Input is not checked for validity; invalid characters in the input are skipped, enabling the decoding process to continue with subsequent characters.</para>
            <para>For example:</para>
            <para> QByteArray text = QByteArray::fromHex(&quot;517420697320677265617421&quot;);</para>
            <para> text.data();            // returns &quot;Qt is great!&quot;</para>
            <para>See also toHex().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.FromPercentEncoding(QtCore.QByteArray)">
            <summary>
            <para>Returns a decoded copy of the URI/URL-style percent-encoded input. The percent parameter allows you to replace the '%' character for another (for instance, '_' or '=').</para>
            <para>For example:</para>
            <para> QByteArray text = QByteArray::fromPercentEncoding(&quot;Qt%20is%20great%33&quot;);</para>
            <para> text.data();            // returns &quot;Qt is great!&quot;</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also toPercentEncoding() and QUrl::fromPercentEncoding().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.FromPercentEncoding(QtCore.QByteArray,System.SByte)">
            <summary>
            <para>Returns a decoded copy of the URI/URL-style percent-encoded input. The percent parameter allows you to replace the '%' character for another (for instance, '_' or '=').</para>
            <para>For example:</para>
            <para> QByteArray text = QByteArray::fromPercentEncoding(&quot;Qt%20is%20great%33&quot;);</para>
            <para> text.data();            // returns &quot;Qt is great!&quot;</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also toPercentEncoding() and QUrl::fromPercentEncoding().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.FromRawData(System.String,System.Int32)">
            <summary>
            <para>Constructs a QByteArray that uses the first size bytes of the data array. The bytes are not copied. The QByteArray will contain the data pointer. The caller guarantees that data will not be deleted or modified as long as this QByteArray and any copies of it exist that have not been modified. In other words, because QByteArray is an implicitly shared class and the instance returned by this function contains the data pointer, the caller must not delete data or modify it directly as long as the returned QByteArray and any copies exist. However, QByteArray does not take ownership of data, so the QByteArray destructor will never delete the raw data, even when the last QByteArray referring to data is destroyed.</para>
            <para>A subsequent attempt to modify the contents of the returned QByteArray or any copy made from it will cause it to create a deep copy of the data array before doing the modification. This ensures that the raw data array itself will never be modified by QByteArray.</para>
            <para>Here is an example of how to read data using a QDataStream on raw data in memory without copying the raw data into a QByteArray:</para>
            <para>  static const char mydata[] = {</para>
            <para>     0x00, 0x00, 0x03, 0x84, 0x78, 0x9c, 0x3b, 0x76,</para>
            <para>     0xec, 0x18, 0xc3, 0x31, 0x0a, 0xf1, 0xcc, 0x99,</para>
            <para>     ...</para>
            <para>     0x6d, 0x5b</para>
            <para> };</para>
            <para></para>
            <para> QByteArray data = QByteArray::fromRawData(mydata, sizeof(mydata));</para>
            <para> QDataStream in(&amp;data, QIODevice::ReadOnly);</para>
            <para> ...</para>
            <para>Warning: A byte array created with fromRawData() is not null-terminated, unless the raw data contains a 0 character at position size. While that does not matter for QDataStream or functions like indexOf(), passing the byte array to a function accepting a const char * expected to be '\0'-terminated will fail.</para>
            <para>See also setRawData(), data(), and constData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.IndexOf(QtCore.QByteArray,System.Int32)">
            <summary>
            <para>Returns the index position of the first occurrence of the byte array ba in this byte array, searching forward from index position from. Returns -1 if ba could not be found.</para>
            <para>Example:</para>
            <para> QByteArray x(&quot;sticky question&quot;);</para>
            <para> QByteArray y(&quot;sti&quot;);</para>
            <para> x.indexOf(y);               // returns 0</para>
            <para> x.indexOf(y, 1);            // returns 10</para>
            <para> x.indexOf(y, 10);           // returns 10</para>
            <para> x.indexOf(y, 11);           // returns -1</para>
            <para>See also lastIndexOf(), contains(), and count().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.IndexOf(System.SByte,System.Int32)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns the index position of the first occurrence of the character ch in the byte array, searching forward from index position from. Returns -1 if ch could not be found.</para>
            <para>Example:</para>
            <para> QByteArray ba(&quot;ABCBA&quot;);</para>
            <para> ba.indexOf(&quot;B&quot;);            // returns 1</para>
            <para> ba.indexOf(&quot;B&quot;, 1);         // returns 1</para>
            <para> ba.indexOf(&quot;B&quot;, 2);         // returns 3</para>
            <para> ba.indexOf(&quot;X&quot;);            // returns -1</para>
            <para>See also lastIndexOf() and contains().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.IndexOf(System.String,System.Int32)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns the index position of the first occurrence of the string str in the byte array, searching forward from index position from. Returns -1 if str could not be found.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Insert(System.Int32,QtCore.QByteArray)">
            <summary>
            <para>Inserts the byte array ba at index position i and returns a reference to this byte array.</para>
            <para>Example:</para>
            <para> QByteArray ba(&quot;Meal&quot;);</para>
            <para> ba.insert(1, QByteArray(&quot;ontr&quot;));</para>
            <para> // ba == &quot;Montreal&quot;</para>
            <para>See also append(), prepend(), replace(), and remove().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Insert(System.Int32,System.SByte)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Inserts character ch at index position i in the byte array. If i is greater than size(), the array is first extended using resize().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Insert(System.Int32,System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Inserts the string str at position i in the byte array.</para>
            <para>If i is greater than size(), the array is first extended using resize().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Insert(System.Int32,System.String,System.Int32)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Inserts len bytes of the string str at position i in the byte array.</para>
            <para>If i is greater than size(), the array is first extended using resize().</para>
            <para>This function was introduced in Qt 4.6.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.IsEmpty">
            <summary>
            <para>Returns true if the byte array has size 0; otherwise returns false.</para>
            <para>Example:</para>
            <para> QByteArray().isEmpty();         // returns true</para>
            <para> QByteArray(&quot;&quot;).isEmpty();       // returns true</para>
            <para> QByteArray(&quot;abc&quot;).isEmpty();    // returns false</para>
            <para>See also size().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.IsNull">
            <summary>
            <para>Returns true if this byte array is null; otherwise returns false.</para>
            <para>Example:</para>
            <para> QByteArray().isNull();          // returns true</para>
            <para> QByteArray(&quot;&quot;).isNull();        // returns false</para>
            <para> QByteArray(&quot;abc&quot;).isNull();     // returns false</para>
            <para>Qt makes a distinction between null byte arrays and empty byte arrays for historical reasons. For most applications, what matters is whether or not a byte array contains any data, and this can be determined using isEmpty().</para>
            <para>See also isEmpty().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.LastIndexOf(QtCore.QByteArray,System.Int32)">
            <summary>
            <para>Returns the index position of the last occurrence of the byte array ba in this byte array, searching backward from index position from. If from is -1 (the default), the search starts at the last byte. Returns -1 if ba could not be found.</para>
            <para>Example:</para>
            <para> QByteArray x(&quot;crazy azimuths&quot;);</para>
            <para> QByteArray y(&quot;az&quot;);</para>
            <para> x.lastIndexOf(y);           // returns 6</para>
            <para> x.lastIndexOf(y, 6);        // returns 6</para>
            <para> x.lastIndexOf(y, 5);        // returns 2</para>
            <para> x.lastIndexOf(y, 1);        // returns -1</para>
            <para>See also indexOf(), contains(), and count().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.LastIndexOf(System.SByte,System.Int32)">
            <summary>
            <para>Returns the index position of the last occurrence of the byte array ba in this byte array, searching backward from index position from. If from is -1 (the default), the search starts at the last byte. Returns -1 if ba could not be found.</para>
            <para>Example:</para>
            <para> QByteArray x(&quot;crazy azimuths&quot;);</para>
            <para> QByteArray y(&quot;az&quot;);</para>
            <para> x.lastIndexOf(y);           // returns 6</para>
            <para> x.lastIndexOf(y, 6);        // returns 6</para>
            <para> x.lastIndexOf(y, 5);        // returns 2</para>
            <para> x.lastIndexOf(y, 1);        // returns -1</para>
            <para>See also indexOf(), contains(), and count().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.LastIndexOf(System.String,System.Int32)">
            <summary>
            <para>Returns the index position of the last occurrence of the byte array ba in this byte array, searching backward from index position from. If from is -1 (the default), the search starts at the last byte. Returns -1 if ba could not be found.</para>
            <para>Example:</para>
            <para> QByteArray x(&quot;crazy azimuths&quot;);</para>
            <para> QByteArray y(&quot;az&quot;);</para>
            <para> x.lastIndexOf(y);           // returns 6</para>
            <para> x.lastIndexOf(y, 6);        // returns 6</para>
            <para> x.lastIndexOf(y, 5);        // returns 2</para>
            <para> x.lastIndexOf(y, 1);        // returns -1</para>
            <para>See also indexOf(), contains(), and count().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Left(System.Int32)">
            <summary>
            <para>Returns a byte array that contains the leftmost len bytes of this byte array.</para>
            <para>The entire byte array is returned if len is greater than size().</para>
            <para>Example:</para>
            <para> QByteArray x(&quot;Pineapple&quot;);</para>
            <para> QByteArray y = x.left(4);</para>
            <para> // y == &quot;Pine&quot;</para>
            <para>See also right(), mid(), startsWith(), and truncate().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.LeftJustified(System.Int32)">
            <summary>
            <para>Returns a byte array of size width that contains this byte array padded by the fill character.</para>
            <para>If truncate is false and the size() of the byte array is more than width, then the returned byte array is a copy of this byte array.</para>
            <para>If truncate is true and the size() of the byte array is more than width, then any bytes in a copy of the byte array after position width are removed, and the copy is returned.</para>
            <para>Example:</para>
            <para> QByteArray x(&quot;apple&quot;);</para>
            <para> QByteArray y = x.leftJustified(8, '.');   // y == &quot;apple...&quot;</para>
            <para>See also rightJustified().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.LeftJustified(System.Int32,System.SByte,System.Boolean)">
            <summary>
            <para>Returns a byte array of size width that contains this byte array padded by the fill character.</para>
            <para>If truncate is false and the size() of the byte array is more than width, then the returned byte array is a copy of this byte array.</para>
            <para>If truncate is true and the size() of the byte array is more than width, then any bytes in a copy of the byte array after position width are removed, and the copy is returned.</para>
            <para>Example:</para>
            <para> QByteArray x(&quot;apple&quot;);</para>
            <para> QByteArray y = x.leftJustified(8, '.');   // y == &quot;apple...&quot;</para>
            <para>See also rightJustified().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Length">
            <summary>
            <para>Same as size().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Mid(System.Int32,System.Int32)">
            <summary>
            <para>Returns a byte array containing len bytes from this byte array, starting at position pos.</para>
            <para>If len is -1 (the default), or pos + len &gt;= size(), returns a byte array containing all bytes starting at position pos until the end of the byte array.</para>
            <para>Example:</para>
            <para> QByteArray x(&quot;Five pineapples&quot;);</para>
            <para> QByteArray y = x.mid(5, 4);     // y == &quot;pine&quot;</para>
            <para> QByteArray z = x.mid(5);        // z == &quot;pineapples&quot;</para>
            <para>See also left() and right().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Number(System.Double)">
            <summary>
            <para>Returns a byte array containing the string equivalent of the number n to base base (10 by default). The base can be any value between 2 and 36.</para>
            <para>Example:</para>
            <para> int n = 63;</para>
            <para> QByteArray::number(n);              // returns &quot;63&quot;</para>
            <para> QByteArray::number(n, 16);          // returns &quot;3f&quot;</para>
            <para> QByteArray::number(n, 16).toUpper();  // returns &quot;3F&quot;</para>
            <para>Note: The format of the number is not localized; the default C locale is used irrespective of the user's locale.</para>
            <para>See also setNum() and toInt().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Number(System.Int32,System.Int32)">
            <summary>
            <para>Returns a byte array containing the string equivalent of the number n to base base (10 by default). The base can be any value between 2 and 36.</para>
            <para>Example:</para>
            <para> int n = 63;</para>
            <para> QByteArray::number(n);              // returns &quot;63&quot;</para>
            <para> QByteArray::number(n, 16);          // returns &quot;3f&quot;</para>
            <para> QByteArray::number(n, 16).toUpper();  // returns &quot;3F&quot;</para>
            <para>Note: The format of the number is not localized; the default C locale is used irrespective of the user's locale.</para>
            <para>See also setNum() and toInt().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Number(System.UInt32,System.Int32)">
            <summary>
            <para>Returns a byte array containing the string equivalent of the number n to base base (10 by default). The base can be any value between 2 and 36.</para>
            <para>Example:</para>
            <para> int n = 63;</para>
            <para> QByteArray::number(n);              // returns &quot;63&quot;</para>
            <para> QByteArray::number(n, 16);          // returns &quot;3f&quot;</para>
            <para> QByteArray::number(n, 16).toUpper();  // returns &quot;3F&quot;</para>
            <para>Note: The format of the number is not localized; the default C locale is used irrespective of the user's locale.</para>
            <para>See also setNum() and toInt().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Number(System.Int64,System.Int32)">
            <summary>
            <para>Returns a byte array containing the string equivalent of the number n to base base (10 by default). The base can be any value between 2 and 36.</para>
            <para>Example:</para>
            <para> int n = 63;</para>
            <para> QByteArray::number(n);              // returns &quot;63&quot;</para>
            <para> QByteArray::number(n, 16);          // returns &quot;3f&quot;</para>
            <para> QByteArray::number(n, 16).toUpper();  // returns &quot;3F&quot;</para>
            <para>Note: The format of the number is not localized; the default C locale is used irrespective of the user's locale.</para>
            <para>See also setNum() and toInt().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Number(System.UInt64,System.Int32)">
            <summary>
            <para>Returns a byte array containing the string equivalent of the number n to base base (10 by default). The base can be any value between 2 and 36.</para>
            <para>Example:</para>
            <para> int n = 63;</para>
            <para> QByteArray::number(n);              // returns &quot;63&quot;</para>
            <para> QByteArray::number(n, 16);          // returns &quot;3f&quot;</para>
            <para> QByteArray::number(n, 16).toUpper();  // returns &quot;3F&quot;</para>
            <para>Note: The format of the number is not localized; the default C locale is used irrespective of the user's locale.</para>
            <para>See also setNum() and toInt().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Number(System.Double,System.SByte,System.Int32)">
            <summary>
            <para>Returns a byte array containing the string equivalent of the number n to base base (10 by default). The base can be any value between 2 and 36.</para>
            <para>Example:</para>
            <para> int n = 63;</para>
            <para> QByteArray::number(n);              // returns &quot;63&quot;</para>
            <para> QByteArray::number(n, 16);          // returns &quot;3f&quot;</para>
            <para> QByteArray::number(n, 16).toUpper();  // returns &quot;3F&quot;</para>
            <para>Note: The format of the number is not localized; the default C locale is used irrespective of the user's locale.</para>
            <para>See also setNum() and toInt().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Prepend(QtCore.QByteArray)">
            <summary>
            <para>Prepends the byte array ba to this byte array and returns a reference to this byte array.</para>
            <para>Example:</para>
            <para> QByteArray x(&quot;ship&quot;);</para>
            <para> QByteArray y(&quot;air&quot;);</para>
            <para> x.prepend(y);</para>
            <para> // x == &quot;airship&quot;</para>
            <para>This is the same as insert(0, ba).</para>
            <para>Note: QByteArray is an implicitly shared class. Consequently, if this is an empty QByteArray, then this will just share the data held in ba. In this case, no copying of data is done, taking constant time. If a shared instance is modified, it will be copied (copy-on-write), taking linear time.</para>
            <para>If this is not an empty QByteArray, a deep copy of the data is performed, taking linear time.</para>
            <para>See also append() and insert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Prepend(System.SByte)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Prepends the character ch to this byte array.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Prepend(System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Prepends the string str to this byte array.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Prepend(System.String,System.Int32)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Prepends len bytes of the string str to this byte array.</para>
            <para>This function was introduced in Qt 4.6.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Push_back(QtCore.QByteArray)">
            <summary>
            <para>This function is provided for STL compatibility. It is equivalent to append(other).</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Push_back(System.SByte)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Same as append(ch).</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Push_back(System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Same as append(str).</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Push_front(QtCore.QByteArray)">
            <summary>
            <para>This function is provided for STL compatibility. It is equivalent to prepend(other).</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Push_front(System.SByte)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Same as prepend(ch).</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Push_front(System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Same as prepend(str).</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Remove(System.Int32,System.Int32)">
            <summary>
            <para>Removes len bytes from the array, starting at index position pos, and returns a reference to the array.</para>
            <para>If pos is out of range, nothing happens. If pos is valid, but pos + len is larger than the size of the array, the array is truncated at position pos.</para>
            <para>Example:</para>
            <para> QByteArray ba(&quot;Montreal&quot;);</para>
            <para> ba.remove(1, 4);</para>
            <para> // ba == &quot;Meal&quot;</para>
            <para>See also insert() and replace().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Repeated(System.Int32)">
            <summary>
            <para>Returns a copy of this byte array repeated the specified number of times.</para>
            <para>If times is less than 1, an empty byte array is returned.</para>
            <para>Example:</para>
            <para> QByteArray ba(&quot;ab&quot;);</para>
            <para> ba.repeated(4);             // returns &quot;abababab&quot;</para>
            <para>This function was introduced in Qt 4.5.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Replace(QtCore.QByteArray,QtCore.QByteArray)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Replaces every occurrence of the byte array before with the byte array after.</para>
            <para>Example:</para>
            <para> QByteArray ba(&quot;colour behaviour flavour neighbour&quot;);</para>
            <para> ba.replace(QByteArray(&quot;ou&quot;), QByteArray(&quot;o&quot;));</para>
            <para> // ba == &quot;color behavior flavor neighbor&quot;</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Replace(QtCore.QByteArray,System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Replaces every occurrence of the byte array before with the string after.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Replace(System.SByte,QtCore.QByteArray)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Replaces every occurrence of the character before with the byte array after.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Replace(System.String,QtCore.QByteArray)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Replaces every occurrence of the string before with the byte array after.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Replace(System.SByte,System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Replaces every occurrence of the character before with the string after.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Replace(System.String,System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Replaces every occurrence of the string before with the string after.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Replace(System.SByte,System.SByte)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Replaces every occurrence of the character before with the character after.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Replace(System.Int32,System.Int32,QtCore.QByteArray)">
            <summary>
            <para>Replaces len bytes from index position pos with the byte array after, and returns a reference to this byte array.</para>
            <para>Example:</para>
            <para> QByteArray x(&quot;Say yes!&quot;);</para>
            <para> QByteArray y(&quot;no&quot;);</para>
            <para> x.replace(4, 3, y);</para>
            <para> // x == &quot;Say no!&quot;</para>
            <para>See also insert() and remove().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Replace(System.Int32,System.Int32,System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Replaces len bytes from index position pos with the zero terminated string after.</para>
            <para>Notice: this can change the length of the byte array.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Replace(System.Int32,System.Int32,System.String,System.Int32)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Replaces len bytes from index position pos with alen bytes from the string after. after is allowed to have '\0' characters.</para>
            <para>This function was introduced in Qt 4.7.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Replace(System.String,System.Int32,System.String,System.Int32)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Replaces every occurrence of the string before with the string after. Since the sizes of the strings are given by bsize and asize, they may contain zero characters and do not need to be zero-terminated.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Reserve(System.Int32)">
            <summary>
            <para>Attempts to allocate memory for at least size bytes. If you know in advance how large the byte array will be, you can call this function, and if you call resize() often you are likely to get better performance. If size is an underestimate, the worst that will happen is that the QByteArray will be a bit slower.</para>
            <para>The sole purpose of this function is to provide a means of fine tuning QByteArray's memory usage. In general, you will rarely ever need to call this function. If you want to change the size of the byte array, call resize().</para>
            <para>See also squeeze() and capacity().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Resize(System.Int32)">
            <summary>
            <para>Sets the size of the byte array to size bytes.</para>
            <para>If size is greater than the current size, the byte array is extended to make it size bytes with the extra bytes added to the end. The new bytes are uninitialized.</para>
            <para>If size is less than the current size, bytes are removed from the end.</para>
            <para>See also size() and truncate().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Right(System.Int32)">
            <summary>
            <para>Returns a byte array that contains the rightmost len bytes of this byte array.</para>
            <para>The entire byte array is returned if len is greater than size().</para>
            <para>Example:</para>
            <para> QByteArray x(&quot;Pineapple&quot;);</para>
            <para> QByteArray y = x.right(5);</para>
            <para> // y == &quot;apple&quot;</para>
            <para>See also endsWith(), left(), and mid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.RightJustified(System.Int32)">
            <summary>
            <para>Returns a byte array of size width that contains the fill character followed by this byte array.</para>
            <para>If truncate is false and the size of the byte array is more than width, then the returned byte array is a copy of this byte array.</para>
            <para>If truncate is true and the size of the byte array is more than width, then the resulting byte array is truncated at position width.</para>
            <para>Example:</para>
            <para> QByteArray x(&quot;apple&quot;);</para>
            <para> QByteArray y = x.rightJustified(8, '.');    // y == &quot;...apple&quot;</para>
            <para>See also leftJustified().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.RightJustified(System.Int32,System.SByte,System.Boolean)">
            <summary>
            <para>Returns a byte array of size width that contains the fill character followed by this byte array.</para>
            <para>If truncate is false and the size of the byte array is more than width, then the returned byte array is a copy of this byte array.</para>
            <para>If truncate is true and the size of the byte array is more than width, then the resulting byte array is truncated at position width.</para>
            <para>Example:</para>
            <para> QByteArray x(&quot;apple&quot;);</para>
            <para> QByteArray y = x.rightJustified(8, '.');    // y == &quot;...apple&quot;</para>
            <para>See also leftJustified().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.SetNum(System.Single)">
            <summary>
            <para>Sets the byte array to the printed value of n in base base (10 by default) and returns a reference to the byte array. The base can be any value between 2 and 36.</para>
            <para>Example:</para>
            <para> QByteArray ba;</para>
            <para> int n = 63;</para>
            <para> ba.setNum(n);           // ba == &quot;63&quot;</para>
            <para> ba.setNum(n, 16);       // ba == &quot;3f&quot;</para>
            <para>Note: The format of the number is not localized; the default C locale is used irrespective of the user's locale.</para>
            <para>See also number() and toInt().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.SetNum(System.Double)">
            <summary>
            <para>Sets the byte array to the printed value of n in base base (10 by default) and returns a reference to the byte array. The base can be any value between 2 and 36.</para>
            <para>Example:</para>
            <para> QByteArray ba;</para>
            <para> int n = 63;</para>
            <para> ba.setNum(n);           // ba == &quot;63&quot;</para>
            <para> ba.setNum(n, 16);       // ba == &quot;3f&quot;</para>
            <para>Note: The format of the number is not localized; the default C locale is used irrespective of the user's locale.</para>
            <para>See also number() and toInt().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.SetNum(System.Int16,System.Int32)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>See also toShort().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.SetNum(System.UInt16,System.Int32)">
            <summary>
            <para>Sets the byte array to the printed value of n in base base (10 by default) and returns a reference to the byte array. The base can be any value between 2 and 36.</para>
            <para>Example:</para>
            <para> QByteArray ba;</para>
            <para> int n = 63;</para>
            <para> ba.setNum(n);           // ba == &quot;63&quot;</para>
            <para> ba.setNum(n, 16);       // ba == &quot;3f&quot;</para>
            <para>Note: The format of the number is not localized; the default C locale is used irrespective of the user's locale.</para>
            <para>See also number() and toInt().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.SetNum(System.Int32,System.Int32)">
            <summary>
            <para>Sets the byte array to the printed value of n in base base (10 by default) and returns a reference to the byte array. The base can be any value between 2 and 36.</para>
            <para>Example:</para>
            <para> QByteArray ba;</para>
            <para> int n = 63;</para>
            <para> ba.setNum(n);           // ba == &quot;63&quot;</para>
            <para> ba.setNum(n, 16);       // ba == &quot;3f&quot;</para>
            <para>Note: The format of the number is not localized; the default C locale is used irrespective of the user's locale.</para>
            <para>See also number() and toInt().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.SetNum(System.UInt32,System.Int32)">
            <summary>
            <para>Sets the byte array to the printed value of n in base base (10 by default) and returns a reference to the byte array. The base can be any value between 2 and 36.</para>
            <para>Example:</para>
            <para> QByteArray ba;</para>
            <para> int n = 63;</para>
            <para> ba.setNum(n);           // ba == &quot;63&quot;</para>
            <para> ba.setNum(n, 16);       // ba == &quot;3f&quot;</para>
            <para>Note: The format of the number is not localized; the default C locale is used irrespective of the user's locale.</para>
            <para>See also number() and toInt().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.SetNum(System.Int64,System.Int32)">
            <summary>
            <para>Sets the byte array to the printed value of n in base base (10 by default) and returns a reference to the byte array. The base can be any value between 2 and 36.</para>
            <para>Example:</para>
            <para> QByteArray ba;</para>
            <para> int n = 63;</para>
            <para> ba.setNum(n);           // ba == &quot;63&quot;</para>
            <para> ba.setNum(n, 16);       // ba == &quot;3f&quot;</para>
            <para>Note: The format of the number is not localized; the default C locale is used irrespective of the user's locale.</para>
            <para>See also number() and toInt().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.SetNum(System.UInt64,System.Int32)">
            <summary>
            <para>Sets the byte array to the printed value of n in base base (10 by default) and returns a reference to the byte array. The base can be any value between 2 and 36.</para>
            <para>Example:</para>
            <para> QByteArray ba;</para>
            <para> int n = 63;</para>
            <para> ba.setNum(n);           // ba == &quot;63&quot;</para>
            <para> ba.setNum(n, 16);       // ba == &quot;3f&quot;</para>
            <para>Note: The format of the number is not localized; the default C locale is used irrespective of the user's locale.</para>
            <para>See also number() and toInt().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.SetNum(System.Single,System.SByte,System.Int32)">
            <summary>
            <para>Sets the byte array to the printed value of n in base base (10 by default) and returns a reference to the byte array. The base can be any value between 2 and 36.</para>
            <para>Example:</para>
            <para> QByteArray ba;</para>
            <para> int n = 63;</para>
            <para> ba.setNum(n);           // ba == &quot;63&quot;</para>
            <para> ba.setNum(n, 16);       // ba == &quot;3f&quot;</para>
            <para>Note: The format of the number is not localized; the default C locale is used irrespective of the user's locale.</para>
            <para>See also number() and toInt().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.SetNum(System.Double,System.SByte,System.Int32)">
            <summary>
            <para>Sets the byte array to the printed value of n in base base (10 by default) and returns a reference to the byte array. The base can be any value between 2 and 36.</para>
            <para>Example:</para>
            <para> QByteArray ba;</para>
            <para> int n = 63;</para>
            <para> ba.setNum(n);           // ba == &quot;63&quot;</para>
            <para> ba.setNum(n, 16);       // ba == &quot;3f&quot;</para>
            <para>Note: The format of the number is not localized; the default C locale is used irrespective of the user's locale.</para>
            <para>See also number() and toInt().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.SetRawData(System.String,System.UInt32)">
            <summary>
            <para>Resets the QByteArray to use the first size bytes of the data array. The bytes are not copied. The QByteArray will contain the data pointer. The caller guarantees that data will not be deleted or modified as long as this QByteArray and any copies of it exist that have not been modified.</para>
            <para>This function can be used instead of fromRawData() to re-use existings QByteArray objects to save memory re-allocations.</para>
            <para>This function was introduced in Qt 4.7.</para>
            <para>See also fromRawData(), data(), and constData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Simplified">
            <summary>
            <para>Returns a byte array that has whitespace removed from the start and the end, and which has each sequence of internal whitespace replaced with a single space.</para>
            <para>Whitespace means any character for which the standard C++ isspace() function returns true. This includes the ASCII characters '\t', '\n', '\v', '\f', '\r', and ' '.</para>
            <para>Example:</para>
            <para> QByteArray ba(&quot;  lots\t of\nwhitespace\r\n &quot;);</para>
            <para> ba = ba.simplified();</para>
            <para> // ba == &quot;lots of whitespace&quot;;</para>
            <para>See also trimmed().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Size">
            <summary>
            <para>Returns the number of bytes in this byte array.</para>
            <para>The last byte in the byte array is at position size() - 1. In addition, QByteArray ensures that the byte at position size() is always '\0', so that you can use the return value of data() and constData() as arguments to functions that expect '\0'-terminated strings. If the QByteArray object was created from a raw data that didn't include the trailing null-termination character then QByteArray doesn't add it automaticall unless the deep copy is created.</para>
            <para>Example:</para>
            <para> QByteArray ba(&quot;Hello&quot;);</para>
            <para> int n = ba.size();          // n == 5</para>
            <para> ba.data()[0];               // returns 'H'</para>
            <para> ba.data()[4];               // returns 'o'</para>
            <para> ba.data()[5];               // returns '\0'</para>
            <para>See also isEmpty() and resize().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Split(System.SByte)">
            <summary>
            <para>Splits the byte array into subarrays wherever sep occurs, and returns the list of those arrays. If sep does not match anywhere in the byte array, split() returns a single-element list containing this byte array.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Squeeze">
            <summary>
            <para>Releases any memory not required to store the array's data.</para>
            <para>The sole purpose of this function is to provide a means of fine tuning QByteArray's memory usage. In general, you will rarely ever need to call this function.</para>
            <para>See also reserve() and capacity().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.StartsWith(QtCore.QByteArray)">
            <summary>
            <para>Returns true if this byte array starts with byte array ba; otherwise returns false.</para>
            <para>Example:</para>
            <para> QByteArray url(&quot;ftp://ftp.qt.nokia.com/&quot;);</para>
            <para> if (url.startsWith(&quot;ftp:&quot;))</para>
            <para>     ...</para>
            <para>See also endsWith() and left().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.StartsWith(System.SByte)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns true if this byte array starts with character ch; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.StartsWith(System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns true if this byte array starts with string str; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Swap(QtCore.QByteArray)">
            <summary>
            <para>Swaps byte array other with this byte array. This operation is very fast and never fails.</para>
            <para>This function was introduced in Qt 4.8.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToBase64">
            <summary>
            <para>Returns a copy of the byte array, encoded as Base64.</para>
            <para> QByteArray text(&quot;Qt is great!&quot;);</para>
            <para> text.toBase64();        // returns &quot;UXQgaXMgZ3JlYXQh&quot;</para>
            <para>The algorithm used to encode Base64-encoded data is defined in RFC 2045.</para>
            <para>See also fromBase64().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToDouble">
            <summary>
            <para>Returns the byte array converted to a double value.</para>
            <para>Returns 0.0 if the conversion fails.</para>
            <para>If ok is not 0: if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.</para>
            <para> QByteArray string(&quot;1234.56&quot;);</para>
            <para> double a = string.toDouble();   // a == 1234.56</para>
            <para>Note: The conversion of the number is performed in the default C locale, irrespective of the user's locale.</para>
            <para>See also number().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToDouble(System.Boolean@)">
            <summary>
            <para>Returns the byte array converted to a double value.</para>
            <para>Returns 0.0 if the conversion fails.</para>
            <para>If ok is not 0: if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.</para>
            <para> QByteArray string(&quot;1234.56&quot;);</para>
            <para> double a = string.toDouble();   // a == 1234.56</para>
            <para>Note: The conversion of the number is performed in the default C locale, irrespective of the user's locale.</para>
            <para>See also number().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToFloat">
            <summary>
            <para>Returns the byte array converted to a float value.</para>
            <para>Returns 0.0 if the conversion fails.</para>
            <para>If ok is not 0: if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.</para>
            <para>Note: The conversion of the number is performed in the default C locale, irrespective of the user's locale.</para>
            <para>See also number().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToFloat(System.Boolean@)">
            <summary>
            <para>Returns the byte array converted to a float value.</para>
            <para>Returns 0.0 if the conversion fails.</para>
            <para>If ok is not 0: if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.</para>
            <para>Note: The conversion of the number is performed in the default C locale, irrespective of the user's locale.</para>
            <para>See also number().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToHex">
            <summary>
            <para>Returns a hex encoded copy of the byte array. The hex encoding uses the numbers 0-9 and the letters a-f.</para>
            <para>See also fromHex().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToInt">
            <summary>
            <para>Returns the byte array converted to an int using base base, which is 10 by default and must be between 2 and 36, or 0.</para>
            <para>If base is 0, the base is determined automatically using the following rules: If the byte array begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>Returns 0 if the conversion fails.</para>
            <para>If ok is not 0: if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.</para>
            <para> QByteArray str(&quot;FF&quot;);</para>
            <para> bool ok;</para>
            <para> int hex = str.toInt(&amp;ok, 16);     // hex == 255, ok == true</para>
            <para> int dec = str.toInt(&amp;ok, 10);     // dec == 0, ok == false</para>
            <para>Note: The conversion of the number is performed in the default C locale, irrespective of the user's locale.</para>
            <para>See also number().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToInt(System.Boolean@,System.Int32)">
            <summary>
            <para>Returns the byte array converted to an int using base base, which is 10 by default and must be between 2 and 36, or 0.</para>
            <para>If base is 0, the base is determined automatically using the following rules: If the byte array begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>Returns 0 if the conversion fails.</para>
            <para>If ok is not 0: if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.</para>
            <para> QByteArray str(&quot;FF&quot;);</para>
            <para> bool ok;</para>
            <para> int hex = str.toInt(&amp;ok, 16);     // hex == 255, ok == true</para>
            <para> int dec = str.toInt(&amp;ok, 10);     // dec == 0, ok == false</para>
            <para>Note: The conversion of the number is performed in the default C locale, irrespective of the user's locale.</para>
            <para>See also number().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToLong">
            <summary>
            <para>Returns the byte array converted to a long int using base base, which is 10 by default and must be between 2 and 36, or 0.</para>
            <para>If base is 0, the base is determined automatically using the following rules: If the byte array begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>Returns 0 if the conversion fails.</para>
            <para>If ok is not 0: if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.</para>
            <para> QByteArray str(&quot;FF&quot;);</para>
            <para> bool ok;</para>
            <para> long hex = str.toLong(&amp;ok, 16);   // hex == 255, ok == true</para>
            <para> long dec = str.toLong(&amp;ok, 10);   // dec == 0, ok == false</para>
            <para>Note: The conversion of the number is performed in the default C locale, irrespective of the user's locale.</para>
            <para>This function was introduced in Qt 4.1.</para>
            <para>See also number().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToLong(System.Boolean@,System.Int32)">
            <summary>
            <para>Returns the byte array converted to a long int using base base, which is 10 by default and must be between 2 and 36, or 0.</para>
            <para>If base is 0, the base is determined automatically using the following rules: If the byte array begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>Returns 0 if the conversion fails.</para>
            <para>If ok is not 0: if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.</para>
            <para> QByteArray str(&quot;FF&quot;);</para>
            <para> bool ok;</para>
            <para> long hex = str.toLong(&amp;ok, 16);   // hex == 255, ok == true</para>
            <para> long dec = str.toLong(&amp;ok, 10);   // dec == 0, ok == false</para>
            <para>Note: The conversion of the number is performed in the default C locale, irrespective of the user's locale.</para>
            <para>This function was introduced in Qt 4.1.</para>
            <para>See also number().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToLongLong">
            <summary>
            <para>Returns the byte array converted to a long long using base base, which is 10 by default and must be between 2 and 36, or 0.</para>
            <para>If base is 0, the base is determined automatically using the following rules: If the byte array begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>Returns 0 if the conversion fails.</para>
            <para>If ok is not 0: if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.</para>
            <para>Note: The conversion of the number is performed in the default C locale, irrespective of the user's locale.</para>
            <para>See also number().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToLongLong(System.Boolean@,System.Int32)">
            <summary>
            <para>Returns the byte array converted to a long long using base base, which is 10 by default and must be between 2 and 36, or 0.</para>
            <para>If base is 0, the base is determined automatically using the following rules: If the byte array begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>Returns 0 if the conversion fails.</para>
            <para>If ok is not 0: if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.</para>
            <para>Note: The conversion of the number is performed in the default C locale, irrespective of the user's locale.</para>
            <para>See also number().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToLower">
            <summary>
            <para>Returns a lowercase copy of the byte array. The bytearray is interpreted as a Latin-1 encoded string.</para>
            <para>Example:</para>
            <para> QByteArray x(&quot;Qt by NOKIA&quot;);</para>
            <para> QByteArray y = x.toLower();</para>
            <para> // y == &quot;qt by nokia&quot;</para>
            <para>See also toUpper() and 8-bit Character Comparisons.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToPercentEncoding">
            <summary>
            <para>Returns a URI/URL-style percent-encoded copy of this byte array. The percent parameter allows you to override the default '%' character for another.</para>
            <para>By default, this function will encode all characters that are not one of the following:</para>
            <para>ALPHA (&quot;a&quot; to &quot;z&quot; and &quot;A&quot; to &quot;Z&quot;) / DIGIT (0 to 9) / &quot;-&quot; / &quot;.&quot; / &quot;_&quot; / &quot;~&quot;</para>
            <para>To prevent characters from being encoded pass them to exclude. To force characters to be encoded pass them to include. The percent character is always encoded.</para>
            <para>Example:</para>
            <para> QByteArray text = &quot;{a fishy string?}&quot;;</para>
            <para> QByteArray ba = text.toPercentEncoding(&quot;{}&quot;, &quot;s&quot;);</para>
            <para> qDebug(ba.constData());</para>
            <para> // prints &quot;{a fi%73hy %73tring%3F}&quot;</para>
            <para>The hex encoding uses the numbers 0-9 and the uppercase letters A-F.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also fromPercentEncoding() and QUrl::toPercentEncoding().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToPercentEncoding(QtCore.QByteArray)">
            <summary>
            <para>Returns a URI/URL-style percent-encoded copy of this byte array. The percent parameter allows you to override the default '%' character for another.</para>
            <para>By default, this function will encode all characters that are not one of the following:</para>
            <para>ALPHA (&quot;a&quot; to &quot;z&quot; and &quot;A&quot; to &quot;Z&quot;) / DIGIT (0 to 9) / &quot;-&quot; / &quot;.&quot; / &quot;_&quot; / &quot;~&quot;</para>
            <para>To prevent characters from being encoded pass them to exclude. To force characters to be encoded pass them to include. The percent character is always encoded.</para>
            <para>Example:</para>
            <para> QByteArray text = &quot;{a fishy string?}&quot;;</para>
            <para> QByteArray ba = text.toPercentEncoding(&quot;{}&quot;, &quot;s&quot;);</para>
            <para> qDebug(ba.constData());</para>
            <para> // prints &quot;{a fi%73hy %73tring%3F}&quot;</para>
            <para>The hex encoding uses the numbers 0-9 and the uppercase letters A-F.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also fromPercentEncoding() and QUrl::toPercentEncoding().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToPercentEncoding(QtCore.QByteArray,QtCore.QByteArray)">
            <summary>
            <para>Returns a URI/URL-style percent-encoded copy of this byte array. The percent parameter allows you to override the default '%' character for another.</para>
            <para>By default, this function will encode all characters that are not one of the following:</para>
            <para>ALPHA (&quot;a&quot; to &quot;z&quot; and &quot;A&quot; to &quot;Z&quot;) / DIGIT (0 to 9) / &quot;-&quot; / &quot;.&quot; / &quot;_&quot; / &quot;~&quot;</para>
            <para>To prevent characters from being encoded pass them to exclude. To force characters to be encoded pass them to include. The percent character is always encoded.</para>
            <para>Example:</para>
            <para> QByteArray text = &quot;{a fishy string?}&quot;;</para>
            <para> QByteArray ba = text.toPercentEncoding(&quot;{}&quot;, &quot;s&quot;);</para>
            <para> qDebug(ba.constData());</para>
            <para> // prints &quot;{a fi%73hy %73tring%3F}&quot;</para>
            <para>The hex encoding uses the numbers 0-9 and the uppercase letters A-F.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also fromPercentEncoding() and QUrl::toPercentEncoding().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToPercentEncoding(QtCore.QByteArray,QtCore.QByteArray,System.SByte)">
            <summary>
            <para>Returns a URI/URL-style percent-encoded copy of this byte array. The percent parameter allows you to override the default '%' character for another.</para>
            <para>By default, this function will encode all characters that are not one of the following:</para>
            <para>ALPHA (&quot;a&quot; to &quot;z&quot; and &quot;A&quot; to &quot;Z&quot;) / DIGIT (0 to 9) / &quot;-&quot; / &quot;.&quot; / &quot;_&quot; / &quot;~&quot;</para>
            <para>To prevent characters from being encoded pass them to exclude. To force characters to be encoded pass them to include. The percent character is always encoded.</para>
            <para>Example:</para>
            <para> QByteArray text = &quot;{a fishy string?}&quot;;</para>
            <para> QByteArray ba = text.toPercentEncoding(&quot;{}&quot;, &quot;s&quot;);</para>
            <para> qDebug(ba.constData());</para>
            <para> // prints &quot;{a fi%73hy %73tring%3F}&quot;</para>
            <para>The hex encoding uses the numbers 0-9 and the uppercase letters A-F.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also fromPercentEncoding() and QUrl::toPercentEncoding().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToShort">
            <summary>
            <para>Returns the byte array converted to a short using base base, which is 10 by default and must be between 2 and 36, or 0.</para>
            <para>If base is 0, the base is determined automatically using the following rules: If the byte array begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>Returns 0 if the conversion fails.</para>
            <para>If ok is not 0: if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.</para>
            <para>Note: The conversion of the number is performed in the default C locale, irrespective of the user's locale.</para>
            <para>See also number().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToShort(System.Boolean@,System.Int32)">
            <summary>
            <para>Returns the byte array converted to a short using base base, which is 10 by default and must be between 2 and 36, or 0.</para>
            <para>If base is 0, the base is determined automatically using the following rules: If the byte array begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>Returns 0 if the conversion fails.</para>
            <para>If ok is not 0: if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.</para>
            <para>Note: The conversion of the number is performed in the default C locale, irrespective of the user's locale.</para>
            <para>See also number().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToUInt">
            <summary>
            <para>Returns the byte array converted to an unsigned int using base base, which is 10 by default and must be between 2 and 36, or 0.</para>
            <para>If base is 0, the base is determined automatically using the following rules: If the byte array begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>Returns 0 if the conversion fails.</para>
            <para>If ok is not 0: if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.</para>
            <para>Note: The conversion of the number is performed in the default C locale, irrespective of the user's locale.</para>
            <para>See also number().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToUInt(System.Boolean@,System.Int32)">
            <summary>
            <para>Returns the byte array converted to an unsigned int using base base, which is 10 by default and must be between 2 and 36, or 0.</para>
            <para>If base is 0, the base is determined automatically using the following rules: If the byte array begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>Returns 0 if the conversion fails.</para>
            <para>If ok is not 0: if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.</para>
            <para>Note: The conversion of the number is performed in the default C locale, irrespective of the user's locale.</para>
            <para>See also number().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToULong">
            <summary>
            <para>Returns the byte array converted to an unsigned long int using base base, which is 10 by default and must be between 2 and 36, or 0.</para>
            <para>If base is 0, the base is determined automatically using the following rules: If the byte array begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>Returns 0 if the conversion fails.</para>
            <para>If ok is not 0: if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.</para>
            <para>Note: The conversion of the number is performed in the default C locale, irrespective of the user's locale.</para>
            <para>This function was introduced in Qt 4.1.</para>
            <para>See also number().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToULong(System.Boolean@,System.Int32)">
            <summary>
            <para>Returns the byte array converted to an unsigned long int using base base, which is 10 by default and must be between 2 and 36, or 0.</para>
            <para>If base is 0, the base is determined automatically using the following rules: If the byte array begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>Returns 0 if the conversion fails.</para>
            <para>If ok is not 0: if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.</para>
            <para>Note: The conversion of the number is performed in the default C locale, irrespective of the user's locale.</para>
            <para>This function was introduced in Qt 4.1.</para>
            <para>See also number().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToULongLong">
            <summary>
            <para>Returns the byte array converted to an unsigned long long using base base, which is 10 by default and must be between 2 and 36, or 0.</para>
            <para>If base is 0, the base is determined automatically using the following rules: If the byte array begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>Returns 0 if the conversion fails.</para>
            <para>If ok is not 0: if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.</para>
            <para>Note: The conversion of the number is performed in the default C locale, irrespective of the user's locale.</para>
            <para>See also number().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToULongLong(System.Boolean@,System.Int32)">
            <summary>
            <para>Returns the byte array converted to an unsigned long long using base base, which is 10 by default and must be between 2 and 36, or 0.</para>
            <para>If base is 0, the base is determined automatically using the following rules: If the byte array begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>Returns 0 if the conversion fails.</para>
            <para>If ok is not 0: if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.</para>
            <para>Note: The conversion of the number is performed in the default C locale, irrespective of the user's locale.</para>
            <para>See also number().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToUShort">
            <summary>
            <para>Returns the byte array converted to an unsigned short using base base, which is 10 by default and must be between 2 and 36, or 0.</para>
            <para>If base is 0, the base is determined automatically using the following rules: If the byte array begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>Returns 0 if the conversion fails.</para>
            <para>If ok is not 0: if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.</para>
            <para>Note: The conversion of the number is performed in the default C locale, irrespective of the user's locale.</para>
            <para>See also number().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToUShort(System.Boolean@,System.Int32)">
            <summary>
            <para>Returns the byte array converted to an unsigned short using base base, which is 10 by default and must be between 2 and 36, or 0.</para>
            <para>If base is 0, the base is determined automatically using the following rules: If the byte array begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>Returns 0 if the conversion fails.</para>
            <para>If ok is not 0: if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.</para>
            <para>Note: The conversion of the number is performed in the default C locale, irrespective of the user's locale.</para>
            <para>See also number().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.ToUpper">
            <summary>
            <para>Returns an uppercase copy of the byte array. The bytearray is interpreted as a Latin-1 encoded string.</para>
            <para>Example:</para>
            <para> QByteArray x(&quot;Qt by NOKIA&quot;);</para>
            <para> QByteArray y = x.toUpper();</para>
            <para> // y == &quot;QT BY NOKIA&quot;</para>
            <para>See also toLower() and 8-bit Character Comparisons.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Trimmed">
            <summary>
            <para>Returns a byte array that has whitespace removed from the start and the end.</para>
            <para>Whitespace means any character for which the standard C++ isspace() function returns true. This includes the ASCII characters '\t', '\n', '\v', '\f', '\r', and ' '.</para>
            <para>Example:</para>
            <para> QByteArray ba(&quot;  lots\t of\nwhitespace\r\n &quot;);</para>
            <para> ba = ba.trimmed();</para>
            <para> // ba == &quot;lots\t of\nwhitespace&quot;;</para>
            <para>Unlike simplified(), trimmed() leaves internal whitespace alone.</para>
            <para>See also simplified().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Truncate(System.Int32)">
            <summary>
            <para>Truncates the byte array at index position pos.</para>
            <para>If pos is beyond the end of the array, nothing happens.</para>
            <para>Example:</para>
            <para> QByteArray ba(&quot;Stockholm&quot;);</para>
            <para> ba.truncate(5);             // ba == &quot;Stock&quot;</para>
            <para>See also chop(), resize(), and left().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.Finalize">
            <summary>
            <para>Destroys the byte array.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.op_Inequality(QtCore.QByteArray,QtCore.QByteArray)">
            <summary>
            <para>Returns true if this byte array is not equal to string str; otherwise returns false.</para>
            <para>The Unicode data is converted into 8-bit characters using QString::toAscii().</para>
            <para>The comparison is case sensitive.</para>
            <para>You can disable this operator by defining QT_NO_CAST_FROM_ASCII when you compile your applications. You then need to call QString::fromAscii(), QString::fromLatin1(), QString::fromUtf8(), or QString::fromLocal8Bit() explicitly if you want to convert the byte array to a QString before doing the comparison.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.op_Inequality(QtCore.QByteArray,System.String)">
            <summary>
            <para>Returns true if this byte array is not equal to string str; otherwise returns false.</para>
            <para>The Unicode data is converted into 8-bit characters using QString::toAscii().</para>
            <para>The comparison is case sensitive.</para>
            <para>You can disable this operator by defining QT_NO_CAST_FROM_ASCII when you compile your applications. You then need to call QString::fromAscii(), QString::fromLatin1(), QString::fromUtf8(), or QString::fromLocal8Bit() explicitly if you want to convert the byte array to a QString before doing the comparison.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.op_Addition(QtCore.QByteArray,QtCore.QByteArray)">
            <summary>
            <para>Returns a byte array that is the result of concatenating byte array a1 and byte array a2.</para>
            <para>See also QByteArray::operator+=().</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.op_Addition(QtCore.QByteArray,System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns a byte array that is the result of concatenating byte array a1 and string a2.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.op_Addition(QtCore.QByteArray,System.SByte)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns a byte array that is the result of concatenating byte array a1 and character a2.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.op_LessThan(QtCore.QByteArray,QtCore.QByteArray)">
            <summary>
            <para>Returns true if this byte array is lexically less than string str; otherwise returns false.</para>
            <para>The Unicode data is converted into 8-bit characters using QString::toAscii().</para>
            <para>The comparison is case sensitive.</para>
            <para>You can disable this operator by defining QT_NO_CAST_FROM_ASCII when you compile your applications. You then need to call QString::fromAscii(), QString::fromLatin1(), QString::fromUtf8(), or QString::fromLocal8Bit() explicitly if you want to convert the byte array to a QString before doing the comparison.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.op_LessThan(QtCore.QByteArray,System.String)">
            <summary>
            <para>Returns true if this byte array is lexically less than string str; otherwise returns false.</para>
            <para>The Unicode data is converted into 8-bit characters using QString::toAscii().</para>
            <para>The comparison is case sensitive.</para>
            <para>You can disable this operator by defining QT_NO_CAST_FROM_ASCII when you compile your applications. You then need to call QString::fromAscii(), QString::fromLatin1(), QString::fromUtf8(), or QString::fromLocal8Bit() explicitly if you want to convert the byte array to a QString before doing the comparison.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.op_LessThanOrEqual(QtCore.QByteArray,QtCore.QByteArray)">
            <summary>
            <para>Returns true if this byte array is lexically less than or equal to string str; otherwise returns false.</para>
            <para>The Unicode data is converted into 8-bit characters using QString::toAscii().</para>
            <para>The comparison is case sensitive.</para>
            <para>You can disable this operator by defining QT_NO_CAST_FROM_ASCII when you compile your applications. You then need to call QString::fromAscii(), QString::fromLatin1(), QString::fromUtf8(), or QString::fromLocal8Bit() explicitly if you want to convert the byte array to a QString before doing the comparison.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.op_LessThanOrEqual(QtCore.QByteArray,System.String)">
            <summary>
            <para>Returns true if this byte array is lexically less than or equal to string str; otherwise returns false.</para>
            <para>The Unicode data is converted into 8-bit characters using QString::toAscii().</para>
            <para>The comparison is case sensitive.</para>
            <para>You can disable this operator by defining QT_NO_CAST_FROM_ASCII when you compile your applications. You then need to call QString::fromAscii(), QString::fromLatin1(), QString::fromUtf8(), or QString::fromLocal8Bit() explicitly if you want to convert the byte array to a QString before doing the comparison.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.op_Equality(QtCore.QByteArray,QtCore.QByteArray)">
            <summary>
            <para>Returns true if this byte array is equal to string str; otherwise returns false.</para>
            <para>The Unicode data is converted into 8-bit characters using QString::toAscii().</para>
            <para>The comparison is case sensitive.</para>
            <para>You can disable this operator by defining QT_NO_CAST_FROM_ASCII when you compile your applications. You then need to call QString::fromAscii(), QString::fromLatin1(), QString::fromUtf8(), or QString::fromLocal8Bit() explicitly if you want to convert the byte array to a QString before doing the comparison.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.op_Equality(QtCore.QByteArray,System.String)">
            <summary>
            <para>Returns true if this byte array is equal to string str; otherwise returns false.</para>
            <para>The Unicode data is converted into 8-bit characters using QString::toAscii().</para>
            <para>The comparison is case sensitive.</para>
            <para>You can disable this operator by defining QT_NO_CAST_FROM_ASCII when you compile your applications. You then need to call QString::fromAscii(), QString::fromLatin1(), QString::fromUtf8(), or QString::fromLocal8Bit() explicitly if you want to convert the byte array to a QString before doing the comparison.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.op_GreaterThan(QtCore.QByteArray,QtCore.QByteArray)">
            <summary>
            <para>Returns true if this byte array is lexically greater than string str; otherwise returns false.</para>
            <para>The Unicode data is converted into 8-bit characters using QString::toAscii().</para>
            <para>The comparison is case sensitive.</para>
            <para>You can disable this operator by defining QT_NO_CAST_FROM_ASCII when you compile your applications. You then need to call QString::fromAscii(), QString::fromLatin1(), QString::fromUtf8(), or QString::fromLocal8Bit() explicitly if you want to convert the byte array to a QString before doing the comparison.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.op_GreaterThan(QtCore.QByteArray,System.String)">
            <summary>
            <para>Returns true if this byte array is lexically greater than string str; otherwise returns false.</para>
            <para>The Unicode data is converted into 8-bit characters using QString::toAscii().</para>
            <para>The comparison is case sensitive.</para>
            <para>You can disable this operator by defining QT_NO_CAST_FROM_ASCII when you compile your applications. You then need to call QString::fromAscii(), QString::fromLatin1(), QString::fromUtf8(), or QString::fromLocal8Bit() explicitly if you want to convert the byte array to a QString before doing the comparison.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.op_GreaterThanOrEqual(QtCore.QByteArray,QtCore.QByteArray)">
            <summary>
            <para>Returns true if this byte array is greater than or equal to string str; otherwise returns false.</para>
            <para>The Unicode data is converted into 8-bit characters using QString::toAscii().</para>
            <para>The comparison is case sensitive.</para>
            <para>You can disable this operator by defining QT_NO_CAST_FROM_ASCII when you compile your applications. You then need to call QString::fromAscii(), QString::fromLatin1(), QString::fromUtf8(), or QString::fromLocal8Bit() explicitly if you want to convert the byte array to a QString before doing the comparison.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArray.op_GreaterThanOrEqual(QtCore.QByteArray,System.String)">
            <summary>
            <para>Returns true if this byte array is greater than or equal to string str; otherwise returns false.</para>
            <para>The Unicode data is converted into 8-bit characters using QString::toAscii().</para>
            <para>The comparison is case sensitive.</para>
            <para>You can disable this operator by defining QT_NO_CAST_FROM_ASCII when you compile your applications. You then need to call QString::fromAscii(), QString::fromLatin1(), QString::fromUtf8(), or QString::fromLocal8Bit() explicitly if you want to convert the byte array to a QString before doing the comparison.</para>
            </summary>
        </member>
        <member name="T:QtCore.QEvent">
            <summary>
            The QEvent class is the base class of all event classes. Event objects contain event parameters.
            </summary>
            <remarks>
            <para></para>
            <para>Qt's main event loop (QCoreApplication::exec()) fetches native window system events from the event queue, translates them into QEvents, and sends the translated events to QObjects.</para>
            <para>In general, events come from the underlying window system (spontaneous() returns true), but it is also possible to manually send events using QCoreApplication::sendEvent() and QCoreApplication::postEvent() (spontaneous() returns false).</para>
            <para>QObjects receive events by having their QObject::event() function called. The function can be reimplemented in subclasses to customize event handling and add additional event types; QWidget::event() is a notable example. By default, events are dispatched to event handlers like QObject::timerEvent() and QWidget::mouseMoveEvent(). QObject::installEventFilter() allows an object to intercept events destined for another object.</para>
            <para>The basic QEvent contains only an event type parameter and an &amp;quot;accept&amp;quot; flag. The accept flag set with accept(), and cleared with ignore(). It is set by default, but don't rely on this as subclasses may choose to clear it in their constructor.</para>
            <para>Subclasses of QEvent contain additional parameters that describe the particular event.</para>
            <para></para>
            <para>See also QObject::event(), QObject::installEventFilter(), QWidget::event(), QCoreApplication::sendEvent(), QCoreApplication::postEvent(), and QCoreApplication::processEvents().</para>
            </remarks>
        </member>
        <member name="M:QtCore.QEvent.#ctor(QtCore.QEvent)">
            <summary>
            <para>Contructs an event object of type type.</para>
            </summary>
        </member>
        <member name="M:QtCore.QEvent.#ctor(QtCore.QEvent.Type)">
            <summary>
            <para>Contructs an event object of type type.</para>
            </summary>
        </member>
        <member name="M:QtCore.QEvent.Accept">
            <summary>
            <para>Sets the accept flag of the event object, the equivalent of calling setAccepted(true).</para>
            <para>Setting the accept parameter indicates that the event receiver wants the event. Unwanted events might be propagated to the parent widget.</para>
            <para>See also ignore().</para>
            </summary>
        </member>
        <member name="M:QtCore.QEvent.Ignore">
            <summary>
            <para>Clears the accept flag parameter of the event object, the equivalent of calling setAccepted(false).</para>
            <para>Clearing the accept parameter indicates that the event receiver does not want the event. Unwanted events might be propagated to the parent widget.</para>
            <para>See also accept().</para>
            </summary>
        </member>
        <member name="M:QtCore.QEvent.RegisterEventType(System.Int32)">
            <summary>
            <para>Registers and returns a custom event type. The hint provided will be used if it is available, otherwise it will return a value between QEvent::User and QEvent::MaxUser that has not yet been registered. The hint is ignored if its value is not between QEvent::User and QEvent::MaxUser.</para>
            <para>Note: This function is thread-safe.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="M:QtCore.QEvent.Spontaneous">
            <summary>
            <para>Returns true if the event originated outside the application (a system event); otherwise returns false.</para>
            <para>The return value of this function is not defined for paint events.</para>
            </summary>
        </member>
        <member name="M:QtCore.QEvent.type">
            <summary>
            <para>Returns the event type.</para>
            </summary>
        </member>
        <member name="M:QtCore.QEvent.Finalize">
            <summary>
            <para>Destroys the event. If it was posted, it will be removed from the list of events to be posted.</para>
            </summary>
        </member>
        <member name="T:QtCore.QEvent.Type">
            <summary>
            <para>This enum type defines the valid event types in Qt. The event types and the specialized classes for each type are as follows:</para>
            <para>User events should have values between User and MaxUser:</para>
            <para>For convenience, you can use the registerEventType() function to register and reserve a custom event type for your application. Doing so will allow you to avoid accidentally re-using a custom event type already in use elsewhere in your application.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.AccessibilityDescription">
            <summary>
            <para>Used to query accessibility description texts (QAccessibleEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.AccessibilityHelp">
            <summary>
            <para>Used to query accessibility help texts (QAccessibleEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.AccessibilityPrepare">
            <summary>
            <para>Accessibility information is requested.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ActionAdded">
            <summary>
            <para>A new action has been added (QActionEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ActionChanged">
            <summary>
            <para>An action has been changed (QActionEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ActionRemoved">
            <summary>
            <para>An action has been removed (QActionEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ActivationChange">
            <summary>
            <para>A widget's top-level window activation state has changed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ApplicationActivate">
            <summary>
            <para>The application has been made available to the user.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ApplicationActivated">
            <summary>
            <para>This enum has been deprecated. Use ApplicationActivate instead.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ApplicationDeactivate">
            <summary>
            <para>The application has been suspended, and is unavailable to the user.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ApplicationFontChange">
            <summary>
            <para>The default application font has changed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ApplicationLayoutDirectionChange">
            <summary>
            <para>The default application layout direction has changed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ApplicationPaletteChange">
            <summary>
            <para>The default application palette has changed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ApplicationWindowIconChange">
            <summary>
            <para>The application's icon has changed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ChildAdded">
            <summary>
            <para>An object gets a child (QChildEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ChildPolished">
            <summary>
            <para>A widget child gets polished (QChildEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ChildRemoved">
            <summary>
            <para>An object loses a child (QChildEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.Clipboard">
            <summary>
            <para>The clipboard contents have changed (QClipboardEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.Close">
            <summary>
            <para>Widget was closed (QCloseEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.CloseSoftwareInputPanel">
            <summary>
            <para>A widget wants to close the software input panel (SIP).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ContentsRectChange">
            <summary>
            <para>The margins of the widget's content rect changed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ContextMenu">
            <summary>
            <para>Context popup menu (QContextMenuEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.CursorChange">
            <summary>
            <para>The widget's cursor has changed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.DeferredDelete">
            <summary>
            <para>The object will be deleted after it has cleaned up.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.DragEnter">
            <summary>
            <para>The cursor enters a widget during a drag and drop operation (QDragEnterEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.DragLeave">
            <summary>
            <para>The cursor leaves a widget during a drag and drop operation (QDragLeaveEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.DragMove">
            <summary>
            <para>A drag and drop operation is in progress (QDragMoveEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.Drop">
            <summary>
            <para>A drag and drop operation is completed (QDropEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.DynamicPropertyChange">
            <summary>
            <para>A dynamic property was added, changed or removed from the object.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.EnabledChange">
            <summary>
            <para>Widget's enabled state has changed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.Enter">
            <summary>
            <para>Mouse enters widget's boundaries.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.EnterWhatsThisMode">
            <summary>
            <para>Send to toplevel widgets when the application enters &quot;What's This?&quot; mode.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.FileOpen">
            <summary>
            <para>File open request (QFileOpenEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.FocusIn">
            <summary>
            <para>Widget gains keyboard focus (QFocusEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.FocusOut">
            <summary>
            <para>Widget loses keyboard focus (QFocusEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.FontChange">
            <summary>
            <para>Widget's font has changed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.Gesture">
            <summary>
            <para>A gesture was triggered (QGestureEvent)</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.GestureOverride">
            <summary>
            <para>A gesture override was triggered (QGestureEvent)</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.GrabKeyboard">
            <summary>
            <para>Item gains keyboard grab (QGraphicsItem only).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.GrabMouse">
            <summary>
            <para>Item gains mouse grab (QGraphicsItem only).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.GraphicsSceneContextMenu">
            <summary>
            <para>Context popup menu over a graphics scene (QGraphicsSceneContextMenuEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.GraphicsSceneDragEnter">
            <summary>
            <para>The cursor enters a graphics scene during a drag and drop operation (QGraphicsSceneDragDropEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.GraphicsSceneDragLeave">
            <summary>
            <para>The cursor leaves a graphics scene during a drag and drop operation (QGraphicsSceneDragDropEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.GraphicsSceneDragMove">
            <summary>
            <para>A drag and drop operation is in progress over a scene (QGraphicsSceneDragDropEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.GraphicsSceneDrop">
            <summary>
            <para>A drag and drop operation is completed over a scene (QGraphicsSceneDragDropEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.GraphicsSceneHelp">
            <summary>
            <para>The user requests help for a graphics scene (QHelpEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.GraphicsSceneHoverEnter">
            <summary>
            <para>The mouse cursor enters a hover item in a graphics scene (QGraphicsSceneHoverEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.GraphicsSceneHoverLeave">
            <summary>
            <para>The mouse cursor leaves a hover item in a graphics scene (QGraphicsSceneHoverEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.GraphicsSceneHoverMove">
            <summary>
            <para>The mouse cursor moves inside a hover item in a graphics scene (QGraphicsSceneHoverEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.GraphicsSceneMouseDoubleClick">
            <summary>
            <para>Mouse press again (double click) in a graphics scene (QGraphicsSceneMouseEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.GraphicsSceneMouseMove">
            <summary>
            <para>Move mouse in a graphics scene (QGraphicsSceneMouseEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.GraphicsSceneMousePress">
            <summary>
            <para>Mouse press in a graphics scene (QGraphicsSceneMouseEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.GraphicsSceneMouseRelease">
            <summary>
            <para>Mouse release in a graphics scene (QGraphicsSceneMouseEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.GraphicsSceneMove">
            <summary>
            <para>Widget was moved (QGraphicsSceneMoveEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.GraphicsSceneResize">
            <summary>
            <para>Widget was resized (QGraphicsSceneResizeEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.GraphicsSceneWheel">
            <summary>
            <para>Mouse wheel rolled in a graphics scene (QGraphicsSceneWheelEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.Hide">
            <summary>
            <para>Widget was hidden (QHideEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.HideToParent">
            <summary>
            <para>A child widget has been hidden.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.HoverEnter">
            <summary>
            <para>The mouse cursor enters a hover widget (QHoverEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.HoverLeave">
            <summary>
            <para>The mouse cursor leaves a hover widget (QHoverEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.HoverMove">
            <summary>
            <para>The mouse cursor moves inside a hover widget (QHoverEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.IconDrag">
            <summary>
            <para>The main icon of a window has been dragged away (QIconDragEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.IconTextChange">
            <summary>
            <para>Widget's icon text has been changed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.InputMethod">
            <summary>
            <para>An input method is being used (QInputMethodEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.KeyPress">
            <summary>
            <para>Key press (QKeyEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.KeyRelease">
            <summary>
            <para>Key release (QKeyEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.KeyboardLayoutChange">
            <summary>
            <para>The keyboard layout has changed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.LanguageChange">
            <summary>
            <para>The application translation changed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.LayoutDirectionChange">
            <summary>
            <para>The direction of layouts changed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.LayoutRequest">
            <summary>
            <para>Widget layout needs to be redone.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.Leave">
            <summary>
            <para>Mouse leaves widget's boundaries.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.LeaveWhatsThisMode">
            <summary>
            <para>Send to toplevel widgets when the application leaves &quot;What's This?&quot; mode.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.LocaleChange">
            <summary>
            <para>The system locale has changed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.MacSizeChange">
            <summary>
            <para>The user changed his widget sizes (Mac OS X only).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.MaxUser">
            <summary>
            <para>Last user event ID.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.MenubarUpdated">
            <summary>
            <para>The window's menu bar has been updated.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.MetaCall">
            <summary>
            <para>An asynchronous method invocation via QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ModifiedChange">
            <summary>
            <para>Widgets modification state has been changed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.MouseButtonDblClick">
            <summary>
            <para>Mouse press again (QMouseEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.MouseButtonPress">
            <summary>
            <para>Mouse press (QMouseEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.MouseButtonRelease">
            <summary>
            <para>Mouse release (QMouseEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.MouseMove">
            <summary>
            <para>Mouse move (QMouseEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.MouseTrackingChange">
            <summary>
            <para>The mouse tracking state has changed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.Move">
            <summary>
            <para>Widget's position changed (QMoveEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.NonClientAreaMouseButtonDblClick">
            <summary>
            <para>A mouse double click occurred outside the client area.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.NonClientAreaMouseButtonPress">
            <summary>
            <para>A mouse button press occurred outside the client area.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.NonClientAreaMouseButtonRelease">
            <summary>
            <para>A mouse button release occurred outside the client area.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.NonClientAreaMouseMove">
            <summary>
            <para>A mouse move occurred outside the client area.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.None">
            <summary>
            <para>Not an event.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.OkRequest">
            <summary>
            <para>Ok button in decoration pressed. Supported only for Windows CE.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.Paint">
            <summary>
            <para>Screen update necessary (QPaintEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.PaletteChange">
            <summary>
            <para>Palette of the widget changed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ParentAboutToChange">
            <summary>
            <para>The widget parent is about to change.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ParentChange">
            <summary>
            <para>The widget parent has changed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.Polish">
            <summary>
            <para>The widget is polished.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.PolishRequest">
            <summary>
            <para>The widget should be polished.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.QueryWhatsThis">
            <summary>
            <para>The widget should accept the event if it has &quot;What's This?&quot; help.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.RequestSoftwareInputPanel">
            <summary>
            <para>A widget wants to open a software input panel (SIP).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.Resize">
            <summary>
            <para>Widget's size changed (QResizeEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.Shortcut">
            <summary>
            <para>Key press in child for shortcut key handling (QShortcutEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ShortcutOverride">
            <summary>
            <para>Key press in child, for overriding shortcut key handling (QKeyEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.Show">
            <summary>
            <para>Widget was shown on screen (QShowEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ShowToParent">
            <summary>
            <para>A child widget has been shown.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.SockAct">
            <summary>
            <para>Socket activated, used to implement QSocketNotifier.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.StateMachineSignal">
            <summary>
            <para>A signal delivered to a state machine (QStateMachine::SignalEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.StateMachineWrapped">
            <summary>
            <para>The event is a wrapper for, i.e., contains, another event (QStateMachine::WrappedEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.StatusTip">
            <summary>
            <para>A status tip is requested (QStatusTipEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.StyleChange">
            <summary>
            <para>Widget's style has been changed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.TabletEnterProximity">
            <summary>
            <para>Wacom tablet enter proximity event (QTabletEvent), sent to QApplication.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.TabletLeaveProximity">
            <summary>
            <para>Wacom tablet leave proximity event (QTabletEvent), sent to QApplication.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.TabletMove">
            <summary>
            <para>Wacom tablet move (QTabletEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.TabletPress">
            <summary>
            <para>Wacom tablet press (QTabletEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.TabletRelease">
            <summary>
            <para>Wacom tablet release (QTabletEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.Timer">
            <summary>
            <para>Regular timer events (QTimerEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ToolBarChange">
            <summary>
            <para>The toolbar button is toggled on Mac OS X.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ToolTip">
            <summary>
            <para>A tooltip was requested (QHelpEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ToolTipChange">
            <summary>
            <para>The widget's tooltip has changed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.TouchBegin">
            <summary>
            <para>Beginning of a sequence of touch-screen and/or track-pad events (QTouchEvent)</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.TouchEnd">
            <summary>
            <para>End of touch-event sequence (QTouchEvent)</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.TouchUpdate">
            <summary>
            <para>Touch-screen event (QTouchEvent)</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.UngrabKeyboard">
            <summary>
            <para>Item loses keyboard grab (QGraphicsItem only).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.UngrabMouse">
            <summary>
            <para>Item loses mouse grab (QGraphicsItem only).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.UpdateLater">
            <summary>
            <para>The widget should be queued to be repainted at a later time.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.UpdateRequest">
            <summary>
            <para>The widget should be repainted.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.User">
            <summary>
            <para>User-defined event.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.WhatsThis">
            <summary>
            <para>The widget should reveal &quot;What's This?&quot; help (QHelpEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.WhatsThisClicked">
            <summary>
            <para>A link in a widget's &quot;What's This?&quot; help was clicked.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.Wheel">
            <summary>
            <para>Mouse wheel rolled (QWheelEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.WinEventAct">
            <summary>
            <para>A Windows-specific activation event has occurred.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.WinIdChange">
            <summary>
            <para>The window system identifer for this native widget has changed</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.WindowActivate">
            <summary>
            <para>Window was activated.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.WindowBlocked">
            <summary>
            <para>The window is blocked by a modal dialog.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.WindowDeactivate">
            <summary>
            <para>Window was deactivated.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.WindowIconChange">
            <summary>
            <para>The window's icon has changed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.WindowStateChange">
            <summary>
            <para>The window's state (minimized, maximized or full-screen) has changed (QWindowStateChangeEvent).</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.WindowTitleChange">
            <summary>
            <para>The window title has changed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.WindowUnblocked">
            <summary>
            <para>The window is unblocked after a modal dialog exited.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEvent.Type.ZOrderChange">
            <summary>
            <para>The widget's z-order has changed. This event is never sent to top level windows.</para>
            </summary>
        </member>
        <member name="T:QtCore.QCoreApplication">
            <summary>
            The QCoreApplication class provides an event loop for console Qt applications.
            </summary>
            <remarks>
            <para></para>
            <para>This class is used by non-GUI applications to provide their event loop. For non-GUI application that uses Qt, there should be exactly one QCoreApplication object. For GUI applications, see QApplication.</para>
            <para>QCoreApplication contains the main event loop, where all events from the operating system (e.g., timer and network events) and other sources are processed and dispatched. It also handles the application's initialization and finalization, as well as system-wide and application-wide settings.</para>
            <para></para>
            <para>The Event Loop and Event Handling</para>
            <para>The event loop is started with a call to exec(). Long running operations can call processEvents() to keep the application responsive.</para>
            <para>In general, we recommend that you create a QCoreApplication or a QApplication object in your main() function as early as possible. exec() will not return until the event loop exits; e.g., when quit() is called.</para>
            <para>Several static convenience functions are also provided. The QCoreApplication object is available from instance(). Events can be sent or posted using sendEvent(), postEvent(), and sendPostedEvents(). Pending events can be removed with removePostedEvents() or flushed with flush().</para>
            <para>The class provides a quit() slot and an aboutToQuit() signal.</para>
            <para></para>
            <para>Application and Library Paths</para>
            <para>An application has an applicationDirPath() and an applicationFilePath(). Library paths (see QLibrary) can be retrieved with libraryPaths() and manipulated by setLibraryPaths(), addLibraryPath(), and removeLibraryPath().</para>
            <para></para>
            <para>Internationalization and Translations</para>
            <para>Translation files can be added or removed using installTranslator() and removeTranslator(). Application strings can be translated using translate(). The QObject::tr() and QObject::trUtf8() functions are implemented in terms of translate().</para>
            <para></para>
            <para>Accessing Command Line Arguments</para>
            <para>The command line arguments which are passed to QCoreApplication's constructor should be accessed using the arguments() function. Note that some arguments supplied by the user may have been processed and removed by QCoreApplication.</para>
            <para>In cases where command line arguments need to be obtained using the argv() function, you must convert them from the local string encoding using QString::fromLocal8Bit().</para>
            <para></para>
            <para>Locale Settings</para>
            <para>On Unix/Linux Qt is configured to use the system locale settings by default. This can cause a conflict when using POSIX functions, for instance, when converting between data types such as floats and strings, since the notation may differ between locales. To get around this problem, call the POSIX function setlocale(LC_NUMERIC,&amp;quot;C&amp;quot;) right after initializing QApplication or QCoreApplication to reset the locale that is used for number formatting to &amp;quot;C&amp;quot;-locale.</para>
            <para></para>
            <para>See also QApplication, QAbstractEventDispatcher, QEventLoop, Semaphores Example, and Wait Conditions Example.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QCoreApplication.OnAboutToQuit">
            <summary>
            <para>This signal is emitted when the application is about to quit the main event loop, e.g. when the event loop level drops to zero. This may happen either after a call to quit() from inside the application or when the users shuts down the entire desktop session.</para>
            <para>The signal is particularly useful if your application has to do some last-second cleanup. Note that no user interaction is possible in this state.</para>
            <para>See also quit().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.AddLibraryPath(System.String)">
            <summary>
            <para>Prepends path to the beginning of the library path list, ensuring that it is searched for libraries first. If path is empty or already in the path list, the path list is not changed.</para>
            <para>The default path list consists of a single entry, the installation directory for plugins. The default installation directory for plugins is INSTALL/plugins, where INSTALL is the directory where Qt was installed.</para>
            <para>In Symbian this function is only useful for adding paths for finding Qt extension plugin stubs, since the OS can only load libraries from the /sys/bin directory.</para>
            <para>See also removeLibraryPath(), libraryPaths(), and setLibraryPaths().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.ApplicationDirPath">
            <summary>
            <para>Returns the directory that contains the application executable.</para>
            <para>For example, if you have installed Qt in the C:\Trolltech\Qt directory, and you run the regexp example, this function will return &quot;C:/Trolltech/Qt/examples/tools/regexp&quot;.</para>
            <para>On Mac OS X this will point to the directory actually containing the executable, which may be inside of an application bundle (if the application is bundled).</para>
            <para>Warning: On Linux, this function will try to get the path from the /proc file system. If that fails, it assumes that argv[0] contains the absolute file name of the executable. The function also assumes that the current directory has not been changed by the application.</para>
            <para>In Symbian this function will return the application private directory, not the path to executable itself, as those are always in /sys/bin. If the application is in a read only drive, i.e. ROM, then the private path on the system drive will be returned.</para>
            <para>See also applicationFilePath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.ApplicationFilePath">
            <summary>
            <para>Returns the file path of the application executable.</para>
            <para>For example, if you have installed Qt in the /usr/local/qt directory, and you run the regexp example, this function will return &quot;/usr/local/qt/examples/tools/regexp/regexp&quot;.</para>
            <para>Warning: On Linux, this function will try to get the path from the /proc file system. If that fails, it assumes that argv[0] contains the absolute file name of the executable. The function also assumes that the current directory has not been changed by the application.</para>
            <para>See also applicationDirPath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.ApplicationPid">
            <summary>
            <para>Returns the current process ID for the application.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.Arguments">
            <summary>
            <para>Returns the list of command-line arguments.</para>
            <para>Usually arguments().at(0) is the program name, arguments().at(1) is the first argument, and arguments().last() is the last argument. See the note below about Windows.</para>
            <para>Calling this function is slow - you should store the result in a variable when parsing the command line.</para>
            <para>Warning: On Unix, this list is built from the argc and argv parameters passed to the constructor in the main() function. The string-data in argv is interpreted using QString::fromLocal8Bit(); hence it is not possible to pass, for example, Japanese command line arguments on a system that runs in a Latin1 locale. Most modern Unix systems do not have this limitation, as they are Unicode-based.</para>
            <para>On NT-based Windows, this limitation does not apply either. On Windows, the arguments() are not built from the contents of argv/argc, as the content does not support Unicode. Instead, the arguments() are constructed from the return value of GetCommandLine(). As a result of this, the string given by arguments().at(0) might not be the program name on Windows, depending on how the application was started.</para>
            <para>For Symbian applications started with RApaLsSession::StartApp one can specify arguments using CApaCommandLine::SetTailEndL function. Such arguments are only available via this method; they will not be passed to main function. Also note that only 8-bit string data set with CApaCommandLine::SetTailEndL is supported by this function.</para>
            <para>This function was introduced in Qt 4.1.</para>
            <para>See also applicationFilePath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.ClosingDown">
            <summary>
            <para>Returns true if the application objects are being destroyed; otherwise returns false.</para>
            <para>See also startingUp().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.OnEvent(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QObject::event().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.Exit(System.Int32)">
            <summary>
            <para>Tells the application to exit with a return code.</para>
            <para>After this function has been called, the application leaves the main event loop and returns from the call to exec(). The exec() function returns returnCode. If the event loop is not running, this function does nothing.</para>
            <para>By convention, a returnCode of 0 means success, and any non-zero value indicates an error.</para>
            <para>Note that unlike the C library function of the same name, this function does return to the caller -- it is event processing that stops.</para>
            <para>See also quit() and exec().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.Flush">
            <summary>
            <para>Flushes the platform specific event queues.</para>
            <para>If you are doing graphical changes inside a loop that does not return to the event loop on asynchronous window systems like X11 or double buffered window systems like Mac OS X, and you want to visualize these changes immediately (e.g. Splash Screens), call this function.</para>
            <para>See also sendPostedEvents().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.HasPendingEvents">
            <summary>
            <para>This function returns true if there are pending events; otherwise returns false. Pending events can be either from the window system or posted events using postEvent().</para>
            <para>See also QAbstractEventDispatcher::hasPendingEvents().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.InstallTranslator(QtCore.QTranslator)">
            <summary>
            <para>Adds the translation file translationFile to the list of translation files to be used for translations.</para>
            <para>Multiple translation files can be installed. Translations are searched for in the reverse order in which they were installed, so the most recently installed translation file is searched first and the first translation file installed is searched last. The search stops as soon as a translation containing a matching string is found.</para>
            <para>Installing or removing a QTranslator, or changing an installed QTranslator generates a LanguageChange event for the QCoreApplication instance. A QApplication instance will propagate the event to all toplevel windows, where a reimplementation of changeEvent can re-translate the user interface by passing user-visible strings via the tr() function to the respective property setters. User-interface classes generated by Qt Designer provide a retranslateUi() function that can be called.</para>
            <para>See also removeTranslator(), translate(), QTranslator::load(), and Dynamic Translation.</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.Instance">
            <summary>
            <para>Returns a pointer to the application's QCoreApplication (or QApplication) instance.</para>
            <para>If no instance has been allocated, null is returned.</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.Notify(QtCore.QObject,QtCore.QEvent)">
            <summary>
            <para>Sends event to receiver: receiver-&gt;event(event). Returns the value that is returned from the receiver's event handler. Note that this function is called for all events sent to any object in any thread.</para>
            <para>For certain types of events (e.g. mouse and key events), the event will be propagated to the receiver's parent and so on up to the top-level object if the receiver is not interested in the event (i.e., it returns false).</para>
            <para>There are five different ways that events can be processed; reimplementing this virtual function is just one of them. All five approaches are listed below:</para>
            <para></para>
            <para>Reimplementing paintEvent(), mousePressEvent() and so on. This is the commonest, easiest and least powerful way.</para>
            <para>Reimplementing this function. This is very powerful, providing complete control; but only one subclass can be active at a time.</para>
            <para>Installing an event filter on QCoreApplication::instance(). Such an event filter is able to process all events for all widgets, so it's just as powerful as reimplementing notify(); furthermore, it's possible to have more than one application-global event filter. Global event filters even see mouse events for disabled widgets. Note that application event filters are only called for objects that live in the main thread.</para>
            <para>Reimplementing QObject::event() (as QWidget does). If you do this you get Tab key presses, and you get to see the events before any widget-specific event filters.</para>
            <para>Installing an event filter on the object. Such an event filter gets all the events, including Tab and Shift+Tab key press events, as long as they do not change the focus widget.</para>
            <para></para>
            <para>See also QObject::event() and installEventFilter().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.PostEvent(QtCore.QObject,QtCore.QEvent)">
            <summary>
            <para>Adds the event event, with the object receiver as the receiver of the event, to an event queue and returns immediately.</para>
            <para>The event must be allocated on the heap since the post event queue will take ownership of the event and delete it once it has been posted. It is not safe to access the event after it has been posted.</para>
            <para>When control returns to the main event loop, all events that are stored in the queue will be sent using the notify() function.</para>
            <para>Events are processed in the order posted. For more control over the processing order, use the postEvent() overload below, which takes a priority argument. This function posts all event with a Qt::NormalEventPriority.</para>
            <para>Note: This function is thread-safe.</para>
            <para>See also sendEvent(), notify(), and sendPostedEvents().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.PostEvent(QtCore.QObject,QtCore.QEvent,System.Int32)">
            <summary>
            <para>This function overloads postEvent().</para>
            <para>Adds the event event, with the object receiver as the receiver of the event, to an event queue and returns immediately.</para>
            <para>The event must be allocated on the heap since the post event queue will take ownership of the event and delete it once it has been posted. It is not safe to access the event after it has been posted.</para>
            <para>When control returns to the main event loop, all events that are stored in the queue will be sent using the notify() function.</para>
            <para>Events are sorted in descending priority order, i.e. events with a high priority are queued before events with a lower priority. The priority can be any integer value, i.e. between INT_MAX and INT_MIN, inclusive; see Qt::EventPriority for more details. Events with equal priority will be processed in the order posted.</para>
            <para>Note: This function is thread-safe.</para>
            <para>This function was introduced in Qt 4.3.</para>
            <para>See also sendEvent(), notify(), sendPostedEvents(), and Qt::EventPriority.</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.ProcessEvents(QtCore.QEventLoop.ProcessEventsFlag)">
            <summary>
            <para>Processes all pending events for the calling thread according to the specified flags until there are no more events to process.</para>
            <para>You can call this function occasionally when your program is busy performing a long operation (e.g. copying a file).</para>
            <para>In event you are running a local loop which calls this function continuously, without an event loop, the DeferredDelete events will not be processed. This can affect the behaviour of widgets, e.g. QToolTip, that rely on DeferredDelete events to function properly. An alternative would be to call sendPostedEvents() from within that local loop.</para>
            <para>Calling this function processes events only for the calling thread.</para>
            <para>Note: This function is thread-safe.</para>
            <para>See also exec(), QTimer, QEventLoop::processEvents(), flush(), and sendPostedEvents().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.ProcessEvents(QtCore.QEventLoop.ProcessEventsFlag,System.Int32)">
            <summary>
            <para>Processes all pending events for the calling thread according to the specified flags until there are no more events to process.</para>
            <para>You can call this function occasionally when your program is busy performing a long operation (e.g. copying a file).</para>
            <para>In event you are running a local loop which calls this function continuously, without an event loop, the DeferredDelete events will not be processed. This can affect the behaviour of widgets, e.g. QToolTip, that rely on DeferredDelete events to function properly. An alternative would be to call sendPostedEvents() from within that local loop.</para>
            <para>Calling this function processes events only for the calling thread.</para>
            <para>Note: This function is thread-safe.</para>
            <para>See also exec(), QTimer, QEventLoop::processEvents(), flush(), and sendPostedEvents().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.Quit">
            <summary>
            <para>Tells the application to exit with return code 0 (success). Equivalent to calling QCoreApplication::exit(0).</para>
            <para>It's common to connect the QApplication::lastWindowClosed() signal to quit(), and you also often connect e.g. QAbstractButton::clicked() or signals in QAction, QMenu, or QMenuBar to it.</para>
            <para>Example:</para>
            <para> QPushButton *quitButton = new QPushButton(&quot;Quit&quot;);</para>
            <para> connect(quitButton, SIGNAL(clicked()), &amp;app, SLOT(quit()));</para>
            <para>See also exit(), aboutToQuit(), and QApplication::lastWindowClosed().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.RemoveLibraryPath(System.String)">
            <summary>
            <para>Removes path from the library path list. If path is empty or not in the path list, the list is not changed.</para>
            <para>See also addLibraryPath(), libraryPaths(), and setLibraryPaths().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.RemovePostedEvents(QtCore.QObject)">
            <summary>
            <para>Removes all events posted using postEvent() for receiver.</para>
            <para>The events are not dispatched, instead they are removed from the queue. You should never need to call this function. If you do call it, be aware that killing events may cause receiver to break one or more invariants.</para>
            <para>Note: This function is thread-safe.</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.RemovePostedEvents(QtCore.QObject,System.Int32)">
            <summary>
            <para>This function overloads removePostedEvents().</para>
            <para>Removes all events of the given eventType that were posted using postEvent() for receiver.</para>
            <para>The events are not dispatched, instead they are removed from the queue. You should never need to call this function. If you do call it, be aware that killing events may cause receiver to break one or more invariants.</para>
            <para>If receiver is null, the events of eventType are removed for all objects. If eventType is 0, all the events are removed for receiver.</para>
            <para>Note: This function is thread-safe.</para>
            <para>This function was introduced in Qt 4.3.</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.RemoveTranslator(QtCore.QTranslator)">
            <summary>
            <para>Removes the translation file translationFile from the list of translation files used by this application. (It does not delete the translation file from the file system.)</para>
            <para>See also installTranslator(), translate(), and QObject::tr().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.SendEvent(QtCore.QObject,QtCore.QEvent)">
            <summary>
            <para>Sends event event directly to receiver receiver, using the notify() function. Returns the value that was returned from the event handler.</para>
            <para>The event is not deleted when the event has been sent. The normal approach is to create the event on the stack, for example:</para>
            <para> QMouseEvent event(QEvent::MouseButtonPress, pos, 0, 0, 0);</para>
            <para> QApplication::sendEvent(mainWindow, &amp;event);</para>
            <para>See also postEvent() and notify().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.SendPostedEvents">
            <summary>
            <para>This function overloads sendPostedEvents().</para>
            <para>Dispatches all posted events, i.e. empties the event queue.</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.SendPostedEvents(QtCore.QObject,System.Int32)">
            <summary>
            <para>Immediately dispatches all events which have been previously queued with QCoreApplication::postEvent() and which are for the object receiver and have the event type event_type.</para>
            <para>Events from the window system are not dispatched by this function, but by processEvents().</para>
            <para>If receiver is null, the events of event_type are sent for all objects. If event_type is 0, all the events are sent for receiver.</para>
            <para>Note: This method must be called from the same thread as its QObject parameter, receiver.</para>
            <para>See also flush() and postEvent().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.SetAttribute(QtCore.Qt.ApplicationAttribute,System.Boolean)">
            <summary>
            <para>Sets the attribute attribute if on is true; otherwise clears the attribute.</para>
            <para>One of the attributes that can be set with this method is Qt::AA_ImmediateWidgetCreation. It tells Qt to create toplevel windows immediately. Normally, resources for widgets are allocated on demand to improve efficiency and minimize resource usage. Therefore, if it is important to minimize resource consumption, do not set this attribute.</para>
            <para>See also testAttribute().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.SetEventFilter(System.Boolean)">
            <summary>
            <para>Replaces the event filter function for the QCoreApplication with filter and returns the pointer to the replaced event filter function. Only the current event filter function is called. If you want to use both filter functions, save the replaced EventFilter in a place where yours can call it.</para>
            <para>The event filter function set here is called for all messages received by all threads meant for all Qt objects. It is not called for messages that are not meant for Qt objects.</para>
            <para>The event filter function should return true if the message should be filtered, (i.e. stopped). It should return false to allow processing the message to continue.</para>
            <para>By default, no event filter function is set (i.e., this function returns a null EventFilter the first time it is called).</para>
            <para>Note: The filter function set here receives native messages, i.e. MSG or XEvent structs, that are going to Qt objects. It is called by QCoreApplication::filterEvent(). If the filter function returns false to indicate the message should be processed further, the native message can then be translated into a QEvent and handled by the standard Qt event filering, e.g. QObject::installEventFilter().</para>
            <para>Note: The filter function set here is different form the filter function set via QAbstractEventDispatcher::setEventFilter(), which gets all messages received by its thread, even messages meant for objects that are not handled by Qt.</para>
            <para>See also QObject::installEventFilter() and QAbstractEventDispatcher::setEventFilter().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.StartingUp">
            <summary>
            <para>Returns true if an application object has not been created yet; otherwise returns false.</para>
            <para>See also closingDown().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.TestAttribute(QtCore.Qt.ApplicationAttribute)">
            <summary>
            <para>Returns true if attribute attribute is set; otherwise returns false.</para>
            <para>See also setAttribute().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.Translate(System.String,System.String,System.String,QtCore.QCoreApplication.Encoding)">
            <summary>
            <para>This function overloads translate().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.Translate(System.String,System.String,System.String,QtCore.QCoreApplication.Encoding,System.Int32)">
            <summary>
            <para>Returns the translation text for sourceText, by querying the installed translation files. The translation files are searched from the most recently installed file back to the first installed file.</para>
            <para>QObject::tr() and QObject::trUtf8() provide this functionality more conveniently.</para>
            <para>context is typically a class name (e.g., &quot;MyDialog&quot;) and sourceText is either English text or a short identifying text.</para>
            <para>disambiguation is an identifying string, for when the same sourceText is used in different roles within the same context. By default, it is null.</para>
            <para>See the QTranslator and QObject::tr() documentation for more information about contexts, disambiguations and comments.</para>
            <para>encoding indicates the 8-bit encoding of character strings.</para>
            <para>n is used in conjunction with %n to support plural forms. See QObject::tr() for details.</para>
            <para>If none of the translation files contain a translation for sourceText in context, this function returns a QString equivalent of sourceText. The encoding of sourceText is specified by encoding; it defaults to CodecForTr.</para>
            <para>This function is not virtual. You can use alternative translation techniques by subclassing QTranslator.</para>
            <para>Warning: This method is reentrant only if all translators are installed before calling this method. Installing or removing translators while performing translations is not supported. Doing so will most likely result in crashes or other undesirable behavior.</para>
            <para>Note: This function is reentrant.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also QObject::tr(), installTranslator(), and QTextCodec::codecForTr().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCoreApplication.Finalize">
            <summary>
            <para>Destroys the QCoreApplication object.</para>
            </summary>
        </member>
        <member name="E:QtCore.QCoreApplication.AboutToQuit">
            <summary>
            <para>This signal is emitted when the application is about to quit the main event loop, e.g. when the event loop level drops to zero. This may happen either after a call to quit() from inside the application or when the users shuts down the entire desktop session.</para>
            <para>The signal is particularly useful if your application has to do some last-second cleanup. Note that no user interaction is possible in this state.</para>
            <para>See also quit().</para>
            </summary>
        </member>
        <member name="P:QtCore.QCoreApplication.LibraryPaths">
            <summary>
            <para>Returns a list of paths that the application will search when dynamically loading libraries.</para>
            <para>Qt provides default library paths, but they can also be set using a qt.conf file. Paths specified in this file will override default values.</para>
            <para>This list will include the installation directory for plugins if it exists (the default installation directory for plugins is INSTALL/plugins, where INSTALL is the directory where Qt was installed). The directory of the application executable (NOT the working directory) is always added, as well as the colon separated entries of the QT_PLUGIN_PATH environment variable.</para>
            <para>If you want to iterate over the list, you can use the foreach pseudo-keyword:</para>
            <para> foreach (const QString &amp;path, app.libraryPaths())</para>
            <para>     do_something(path);</para>
            <para>Sets the list of directories to search when loading libraries to paths. All existing paths will be deleted and the path list will consist of the paths given in paths.</para>
            <para>In Symbian this function is only useful for setting paths for finding Qt extension plugin stubs, since the OS can only load libraries from the /sys/bin directory.</para>
            </summary>
        </member>
        <member name="P:QtCore.QCoreApplication.ApplicationName">
            <summary>
            <para>This property holds the name of this application.</para>
            <para>The value is used by the QSettings class when it is constructed using the empty constructor. This saves having to repeat this information each time a QSettings object is created.</para>
            </summary>
        </member>
        <member name="P:QtCore.QCoreApplication.ApplicationVersion">
            <summary>
            <para>This property holds the version of this application.</para>
            <para>This property was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="P:QtCore.QCoreApplication.OrganizationName">
            <summary>
            <para>This property holds the name of the organization that wrote this application.</para>
            <para>The value is used by the QSettings class when it is constructed using the empty constructor. This saves having to repeat this information each time a QSettings object is created.</para>
            <para>On Mac, QSettings uses organizationDomain() as the organization if it's not an empty string; otherwise it uses organizationName(). On all other platforms, QSettings uses organizationName() as the organization.</para>
            </summary>
        </member>
        <member name="P:QtCore.QCoreApplication.OrganizationDomain">
            <summary>
            <para>This property holds the Internet domain of the organization that wrote this application.</para>
            <para>The value is used by the QSettings class when it is constructed using the empty constructor. This saves having to repeat this information each time a QSettings object is created.</para>
            <para>On Mac, QSettings uses organizationDomain() as the organization if it's not an empty string; otherwise it uses organizationName(). On all other platforms, QSettings uses organizationName() as the organization.</para>
            </summary>
        </member>
        <member name="T:QtCore.QCoreApplication.Encoding">
            <summary>
            <para>This enum type defines the 8-bit encoding of character string arguments to translate():</para>
            <para>See also QObject::tr(), QObject::trUtf8(), and QString::fromUtf8().</para>
            </summary>
        </member>
        <member name="F:QtCore.QCoreApplication.Encoding.CodecForTr">
            <summary>
            <para>The encoding specified by QTextCodec::codecForTr() (Latin-1 if none has been set).</para>
            </summary>
        </member>
        <member name="F:QtCore.QCoreApplication.Encoding.DefaultCodec">
            <summary>
            <para>(Obsolete) Use CodecForTr instead.</para>
            </summary>
        </member>
        <member name="F:QtCore.QCoreApplication.Encoding.UnicodeUTF8">
            <summary>
            <para>UTF-8.</para>
            </summary>
        </member>
        <member name="T:QtCore.QIODevice">
            <summary>
            The QIODevice class is the base interface class of all I/O devices in Qt.
            </summary>
            <remarks>
            <para></para>
            <para>QIODevice provides both a common implementation and an abstract interface for devices that support reading and writing of blocks of data, such as QFile, QBuffer and QTcpSocket. QIODevice is abstract and can not be instantiated, but it is common to use the interface it defines to provide device-independent I/O features. For example, Qt's XML classes operate on a QIODevice pointer, allowing them to be used with various devices (such as files and buffers).</para>
            <para>Before accessing the device, open() must be called to set the correct OpenMode (such as ReadOnly or ReadWrite). You can then write to the device with write() or putChar(), and read by calling either read(), readLine(), or readAll(). Call close() when you are done with the device.</para>
            <para>QIODevice distinguishes between two types of devices: random-access devices and sequential devices.</para>
            <para></para>
            <para>Random-access devices support seeking to arbitrary positions using seek(). The current position in the file is available by calling pos(). QFile and QBuffer are examples of random-access devices.</para>
            <para>Sequential devices don't support seeking to arbitrary positions. The data must be read in one pass. The functions pos() and size() don't work for sequential devices. QTcpSocket and QProcess are examples of sequential devices.</para>
            <para></para>
            <para>You can use isSequential() to determine the type of device.</para>
            <para>QIODevice emits readyRead() when new data is available for reading; for example, if new data has arrived on the network or if additional data is appended to a file that you are reading from. You can call bytesAvailable() to determine the number of bytes that are currently available for reading. It's common to use bytesAvailable() together with the readyRead() signal when programming with asynchronous devices such as QTcpSocket, where fragments of data can arrive at arbitrary points in time. QIODevice emits the bytesWritten() signal every time a payload of data has been written to the device. Use bytesToWrite() to determine the current amount of data waiting to be written.</para>
            <para>Certain subclasses of QIODevice, such as QTcpSocket and QProcess, are asynchronous. This means that I/O functions such as write() or read() always return immediately, while communication with the device itself may happen when control goes back to the event loop. QIODevice provides functions that allow you to force these operations to be performed immediately, while blocking the calling thread and without entering the event loop. This allows QIODevice subclasses to be used without an event loop, or in a separate thread:</para>
            <para></para>
            <para>waitForReadyRead() - This function suspends operation in the calling thread until new data is available for reading.</para>
            <para>waitForBytesWritten() - This function suspends operation in the calling thread until one payload of data has been written to the device.</para>
            <para>waitFor....() - Subclasses of QIODevice implement blocking functions for device-specific operations. For example, QProcess has a function called waitForStarted() which suspends operation in the calling thread until the process has started.</para>
            <para></para>
            <para>Calling these functions from the main, GUI thread, may cause your user interface to freeze. Example:</para>
            <para> QProcess gzip;</para>
            <para> gzip.start(&amp;quot;gzip&amp;quot;, QStringList() &amp;lt;&amp;lt; &amp;quot;-c&amp;quot;);</para>
            <para> if (!gzip.waitForStarted())</para>
            <para>     return false;</para>
            <para></para>
            <para> gzip.write(&amp;quot;uncompressed data&amp;quot;);</para>
            <para></para>
            <para> QByteArray compressed;</para>
            <para> while (gzip.waitForReadyRead())</para>
            <para>     compressed += gzip.readAll();</para>
            <para>By subclassing QIODevice, you can provide the same interface to your own I/O devices. Subclasses of QIODevice are only required to implement the protected readData() and writeData() functions. QIODevice uses these functions to implement all its convenience functions, such as getChar(), readLine() and write(). QIODevice also handles access control for you, so you can safely assume that the device is opened in write mode if writeData() is called.</para>
            <para>Some subclasses, such as QFile and QTcpSocket, are implemented using a memory buffer for intermediate storing of data. This reduces the number of required device accessing calls, which are often very slow. Buffering makes functions like getChar() and putChar() fast, as they can operate on the memory buffer instead of directly on the device itself. Certain I/O operations, however, don't work well with a buffer. For example, if several users open the same device and read it character by character, they may end up reading the same data when they meant to read a separate chunk each. For this reason, QIODevice allows you to bypass any buffering by passing the Unbuffered flag to open(). When subclassing QIODevice, remember to bypass any buffer you may use when the device is open in Unbuffered mode.</para>
            <para></para>
            <para>See also QBuffer, QFile, and QTcpSocket.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QIODevice.#ctor">
            <summary>
            <para>Constructs a QIODevice object.</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs a QIODevice object with the given parent.</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.OnAboutToClose">
            <summary>
            <para>This signal is emitted when the device is about to close. Connect this signal if you have operations that need to be performed before the device closes (e.g., if you have data in a separate buffer that needs to be written to the device).</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.AtEnd">
            <summary>
            <para>Returns true if the current read and write position is at the end of the device (i.e. there is no more data available for reading on the device); otherwise returns false.</para>
            <para>For some devices, atEnd() can return true even though there is more data to read. This special case only applies to devices that generate data in direct response to you calling read() (e.g., /dev or /proc files on Unix and Mac OS X, or console input / stdin on all platforms).</para>
            <para>See also bytesAvailable(), read(), and isSequential().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.BytesAvailable">
            <summary>
            <para>Returns the number of bytes that are available for reading. This function is commonly used with sequential devices to determine the number of bytes to allocate in a buffer before reading.</para>
            <para>Subclasses that reimplement this function must call the base implementation in order to include the size of QIODevices' buffer. Example:</para>
            <para> qint64 CustomDevice::bytesAvailable() const</para>
            <para> {</para>
            <para>     return buffer.size() + QIODevice::bytesAvailable();</para>
            <para> }</para>
            <para>See also bytesToWrite(), readyRead(), and isSequential().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.BytesToWrite">
            <summary>
            <para>For buffered devices, this function returns the number of bytes waiting to be written. For devices with no buffer, this function returns 0.</para>
            <para>See also bytesAvailable(), bytesWritten(), and isSequential().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.OnBytesWritten(System.Int64)">
            <summary>
            <para>This signal is emitted every time a payload of data has been written to the device. The bytes argument is set to the number of bytes that were written in this payload.</para>
            <para>bytesWritten() is not emitted recursively; if you reenter the event loop or call waitForBytesWritten() inside a slot connected to the bytesWritten() signal, the signal will not be reemitted (although waitForBytesWritten() may still return true).</para>
            <para>See also readyRead().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.CanReadLine">
            <summary>
            <para>Returns true if a complete line of data can be read from the device; otherwise returns false.</para>
            <para>Note that unbuffered devices, which have no way of determining what can be read, always return false.</para>
            <para>This function is often called in conjunction with the readyRead() signal.</para>
            <para>Subclasses that reimplement this function must call the base implementation in order to include the contents of the QIODevice's buffer. Example:</para>
            <para> bool CustomDevice::canReadLine() const</para>
            <para> {</para>
            <para>     return buffer.contains('\n') || QIODevice::canReadLine();</para>
            <para> }</para>
            <para>See also readyRead() and readLine().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.Close">
            <summary>
            <para>First emits aboutToClose(), then closes the device and sets its OpenMode to NotOpen. The error string is also reset.</para>
            <para>See also setOpenMode() and OpenMode.</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.ErrorString">
            <summary>
            <para>Returns a human-readable description of the last device error that occurred.</para>
            <para>See also setErrorString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.GetChar(QtCore.Pointer{System.SByte})">
            <summary>
            <para>Reads one character from the device and stores it in c. If c is 0, the character is discarded. Returns true on success; otherwise returns false.</para>
            <para>See also read(), putChar(), and ungetChar().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.IsOpen">
            <summary>
            <para>Returns true if the device is open; otherwise returns false. A device is open if it can be read from and/or written to. By default, this function returns false if openMode() returns NotOpen.</para>
            <para>See also openMode() and OpenMode.</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.IsReadable">
            <summary>
            <para>Returns true if data can be read from the device; otherwise returns false. Use bytesAvailable() to determine how many bytes can be read.</para>
            <para>This is a convenience function which checks if the OpenMode of the device contains the ReadOnly flag.</para>
            <para>See also openMode() and OpenMode.</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.IsSequential">
            <summary>
            <para>Returns true if this device is sequential; otherwise returns false.</para>
            <para>Sequential devices, as opposed to a random-access devices, have no concept of a start, an end, a size, or a current position, and they do not support seeking. You can only read from the device when it reports that data is available. The most common example of a sequential device is a network socket. On Unix, special files such as /dev/zero and fifo pipes are sequential.</para>
            <para>Regular files, on the other hand, do support random access. They have both a size and a current position, and they also support seeking backwards and forwards in the data stream. Regular files are non-sequential.</para>
            <para>The QIODevice implementation returns false.</para>
            <para>See also bytesAvailable().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.IsTextModeEnabled">
            <summary>
            <para>Returns true if the Text flag is enabled; otherwise returns false.</para>
            <para>See also setTextModeEnabled().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.IsWritable">
            <summary>
            <para>Returns true if data can be written to the device; otherwise returns false.</para>
            <para>This is a convenience function which checks if the OpenMode of the device contains the WriteOnly flag.</para>
            <para>See also openMode() and OpenMode.</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.Open(QtCore.QIODevice.OpenModeFlag)">
            <summary>
            <para>Opens the device and sets its OpenMode to mode. Returns true if successful; otherwise returns false. This function should be called from any reimplementations of open() or other functions that open the device.</para>
            <para>See also openMode() and OpenMode.</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.OpenMode">
            <summary>
            <para>Returns the mode in which the device has been opened; i.e. ReadOnly or WriteOnly.</para>
            <para>See also setOpenMode() and OpenMode.</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.Peek(System.Int64)">
            <summary>
            <para>Reads at most maxSize bytes from the device into data, without side effects (i.e., if you call read() after peek(), you will get the same data). Returns the number of bytes read. If an error occurs, such as when attempting to peek a device opened in WriteOnly mode, this function returns -1.</para>
            <para>0 is returned when no more data is available for reading.</para>
            <para>Example:</para>
            <para> bool isExeFile(QFile *file)</para>
            <para> {</para>
            <para>     char buf[2];</para>
            <para>     if (file-&gt;peek(buf, sizeof(buf)) == sizeof(buf))</para>
            <para>         return (buf[0] == 'M' &amp;&amp; buf[1] == 'Z');</para>
            <para>     return false;</para>
            <para> }</para>
            <para>This function was introduced in Qt 4.1.</para>
            <para>See also read().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.Peek(QtCore.Pointer{System.SByte},System.Int64)">
            <summary>
            <para>Reads at most maxSize bytes from the device into data, without side effects (i.e., if you call read() after peek(), you will get the same data). Returns the number of bytes read. If an error occurs, such as when attempting to peek a device opened in WriteOnly mode, this function returns -1.</para>
            <para>0 is returned when no more data is available for reading.</para>
            <para>Example:</para>
            <para> bool isExeFile(QFile *file)</para>
            <para> {</para>
            <para>     char buf[2];</para>
            <para>     if (file-&gt;peek(buf, sizeof(buf)) == sizeof(buf))</para>
            <para>         return (buf[0] == 'M' &amp;&amp; buf[1] == 'Z');</para>
            <para>     return false;</para>
            <para> }</para>
            <para>This function was introduced in Qt 4.1.</para>
            <para>See also read().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.Pos">
            <summary>
            <para>For random-access devices, this function returns the position that data is written to or read from. For sequential devices or closed devices, where there is no concept of a &quot;current position&quot;, 0 is returned.</para>
            <para>The current read/write position of the device is maintained internally by QIODevice, so reimplementing this function is not necessary. When subclassing QIODevice, use QIODevice::seek() to notify QIODevice about changes in the device position.</para>
            <para>See also isSequential() and seek().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.PutChar(System.SByte)">
            <summary>
            <para>Writes the character c to the device. Returns true on success; otherwise returns false.</para>
            <para>See also write(), getChar(), and ungetChar().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.Read(System.Int64)">
            <summary>
            <para>Reads at most maxSize bytes from the device into data, and returns the number of bytes read. If an error occurs, such as when attempting to read from a device opened in WriteOnly mode, this function returns -1.</para>
            <para>0 is returned when no more data is available for reading. However, reading past the end of the stream is considered an error, so this function returns -1 in those cases (that is, reading on a closed socket or after a process has died).</para>
            <para>See also readData(), readLine(), and write().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.Read(QtCore.Pointer{System.SByte},System.Int64)">
            <summary>
            <para>Reads at most maxSize bytes from the device into data, and returns the number of bytes read. If an error occurs, such as when attempting to read from a device opened in WriteOnly mode, this function returns -1.</para>
            <para>0 is returned when no more data is available for reading. However, reading past the end of the stream is considered an error, so this function returns -1 in those cases (that is, reading on a closed socket or after a process has died).</para>
            <para>See also readData(), readLine(), and write().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.ReadAll">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Reads all available data from the device, and returns it as a QByteArray.</para>
            <para>This function has no way of reporting errors; returning an empty QByteArray() can mean either that no data was currently available for reading, or that an error occurred.</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.OnReadChannelFinished">
            <summary>
            <para>This signal is emitted when the input (reading) stream is closed in this device. It is emitted as soon as the closing is detected, which means that there might still be data available for reading with read().</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also atEnd() and read().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.ReadData(QtCore.Pointer{System.SByte},System.Int64)">
            <summary>
            <para>Reads up to maxSize bytes from the device into data, and returns the number of bytes read or -1 if an error occurred.</para>
            <para>If there are no bytes to be read and there can never be more bytes available (examples include socket closed, pipe closed, sub-process finished), this function returns -1.</para>
            <para>This function is called by QIODevice. Reimplement this function when creating a subclass of QIODevice.</para>
            <para>When reimplementing this function it is important that this function reads all the required data before returning. This is required in order for QDataStream to be able to operate on the class. QDataStream assumes all the requested information was read and therefore does not retry reading if there was a problem.</para>
            <para>See also read(), readLine(), and writeData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.ReadLine(System.Int64)">
            <summary>
            <para>This function reads a line of ASCII characters from the device, up to a maximum of maxSize - 1 bytes, stores the characters in data, and returns the number of bytes read. If a line could not be read but no error ocurred, this function returns 0. If an error occurs, this function returns the length of what could be read, or -1 if nothing was read.</para>
            <para>A terminating '\0' byte is always appended to data, so maxSize must be larger than 1.</para>
            <para>Data is read until either of the following conditions are met:</para>
            <para></para>
            <para>The first '\n' character is read.</para>
            <para>maxSize - 1 bytes are read.</para>
            <para>The end of the device data is detected.</para>
            <para></para>
            <para>For example, the following code reads a line of characters from a file:</para>
            <para> QFile file(&quot;box.txt&quot;);</para>
            <para> if (file.open(QFile::ReadOnly)) {</para>
            <para>     char buf[1024];</para>
            <para>     qint64 lineLength = file.readLine(buf, sizeof(buf));</para>
            <para>     if (lineLength != -1) {</para>
            <para>         // the line is available in buf</para>
            <para>     }</para>
            <para> }</para>
            <para>The newline character ('\n') is included in the buffer. If a newline is not encountered before maxSize - 1 bytes are read, a newline will not be inserted into the buffer. On windows newline characters are replaced with '\n'.</para>
            <para>This function calls readLineData(), which is implemented using repeated calls to getChar(). You can provide a more efficient implementation by reimplementing readLineData() in your own subclass.</para>
            <para>See also getChar(), read(), and write().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.ReadLine(QtCore.Pointer{System.SByte},System.Int64)">
            <summary>
            <para>This function reads a line of ASCII characters from the device, up to a maximum of maxSize - 1 bytes, stores the characters in data, and returns the number of bytes read. If a line could not be read but no error ocurred, this function returns 0. If an error occurs, this function returns the length of what could be read, or -1 if nothing was read.</para>
            <para>A terminating '\0' byte is always appended to data, so maxSize must be larger than 1.</para>
            <para>Data is read until either of the following conditions are met:</para>
            <para></para>
            <para>The first '\n' character is read.</para>
            <para>maxSize - 1 bytes are read.</para>
            <para>The end of the device data is detected.</para>
            <para></para>
            <para>For example, the following code reads a line of characters from a file:</para>
            <para> QFile file(&quot;box.txt&quot;);</para>
            <para> if (file.open(QFile::ReadOnly)) {</para>
            <para>     char buf[1024];</para>
            <para>     qint64 lineLength = file.readLine(buf, sizeof(buf));</para>
            <para>     if (lineLength != -1) {</para>
            <para>         // the line is available in buf</para>
            <para>     }</para>
            <para> }</para>
            <para>The newline character ('\n') is included in the buffer. If a newline is not encountered before maxSize - 1 bytes are read, a newline will not be inserted into the buffer. On windows newline characters are replaced with '\n'.</para>
            <para>This function calls readLineData(), which is implemented using repeated calls to getChar(). You can provide a more efficient implementation by reimplementing readLineData() in your own subclass.</para>
            <para>See also getChar(), read(), and write().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.ReadLineData(QtCore.Pointer{System.SByte},System.Int64)">
            <summary>
            <para>Reads up to maxSize characters into data and returns the number of characters read.</para>
            <para>This function is called by readLine(), and provides its base implementation, using getChar(). Buffered devices can improve the performance of readLine() by reimplementing this function.</para>
            <para>readLine() appends a '\0' byte to data; readLineData() does not need to do this.</para>
            <para>If you reimplement this function, be careful to return the correct value: it should return the number of bytes read in this line, including the terminating newline, or 0 if there is no line to be read at this point. If an error occurs, it should return -1 if and only if no bytes were read. Reading past EOF is considered an error.</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.OnReadyRead">
            <summary>
            <para>This signal is emitted once every time new data is available for reading from the device. It will only be emitted again once new data is available, such as when a new payload of network data has arrived on your network socket, or when a new block of data has been appended to your device.</para>
            <para>readyRead() is not emitted recursively; if you reenter the event loop or call waitForReadyRead() inside a slot connected to the readyRead() signal, the signal will not be reemitted (although waitForReadyRead() may still return true).</para>
            <para>Note for developers implementing classes derived from QIODevice: you should always emit readyRead() when new data has arrived (do not emit it only because there's data still to be read in your buffers). Do not emit readyRead() in other conditions.</para>
            <para>See also bytesWritten().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.Reset">
            <summary>
            <para>Seeks to the start of input for random-access devices. Returns true on success; otherwise returns false (for example, if the device is not open).</para>
            <para>Note that when using a QTextStream on a QFile, calling reset() on the QFile will not have the expected result because QTextStream buffers the file. Use the QTextStream::seek() function instead.</para>
            <para>See also seek().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.Seek(System.Int64)">
            <summary>
            <para>For random-access devices, this function sets the current position to pos, returning true on success, or false if an error occurred. For sequential devices, the default behavior is to do nothing and return false.</para>
            <para>When subclassing QIODevice, you must call QIODevice::seek() at the start of your function to ensure integrity with QIODevice's built-in buffer. The base implementation always returns true.</para>
            <para>See also pos() and isSequential().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.SetErrorString(System.String)">
            <summary>
            <para>Sets the human readable description of the last device error that occurred to str.</para>
            <para>See also errorString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.SetOpenMode(QtCore.QIODevice.OpenModeFlag)">
            <summary>
            <para>Sets the OpenMode of the device to openMode. Call this function to set the open mode if the flags change after the device has been opened.</para>
            <para>See also openMode() and OpenMode.</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.SetTextModeEnabled(System.Boolean)">
            <summary>
            <para>If enabled is true, this function sets the Text flag on the device; otherwise the Text flag is removed. This feature is useful for classes that provide custom end-of-line handling on a QIODevice.</para>
            <para>The IO device should be opened before calling this function.</para>
            <para>See also isTextModeEnabled(), open(), and setOpenMode().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.Size">
            <summary>
            <para>For open random-access devices, this function returns the size of the device. For open sequential devices, bytesAvailable() is returned.</para>
            <para>If the device is closed, the size returned will not reflect the actual size of the device.</para>
            <para>See also isSequential() and pos().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.UngetChar(System.SByte)">
            <summary>
            <para>Puts the character c back into the device, and decrements the current position unless the position is 0. This function is usually called to &quot;undo&quot; a getChar() operation, such as when writing a backtracking parser.</para>
            <para>If c was not previously read from the device, the behavior is undefined.</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.WaitForBytesWritten(System.Int32)">
            <summary>
            <para>For buffered devices, this function waits until a payload of buffered written data has been written to the device and the bytesWritten() signal has been emitted, or until msecs milliseconds have passed. If msecs is -1, this function will not time out. For unbuffered devices, it returns immediately.</para>
            <para>Returns true if a payload of data was written to the device; otherwise returns false (i.e. if the operation timed out, or if an error occurred).</para>
            <para>This function can operate without an event loop. It is useful when writing non-GUI applications and when performing I/O operations in a non-GUI thread.</para>
            <para>If called from within a slot connected to the bytesWritten() signal, bytesWritten() will not be reemitted.</para>
            <para>Reimplement this function to provide a blocking API for a custom device. The default implementation does nothing, and returns false.</para>
            <para>Warning: Calling this function from the main (GUI) thread might cause your user interface to freeze.</para>
            <para>See also waitForReadyRead().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.WaitForReadyRead(System.Int32)">
            <summary>
            <para>Blocks until new data is available for reading and the readyRead() signal has been emitted, or until msecs milliseconds have passed. If msecs is -1, this function will not time out.</para>
            <para>Returns true if new data is available for reading; otherwise returns false (if the operation timed out or if an error occurred).</para>
            <para>This function can operate without an event loop. It is useful when writing non-GUI applications and when performing I/O operations in a non-GUI thread.</para>
            <para>If called from within a slot connected to the readyRead() signal, readyRead() will not be reemitted.</para>
            <para>Reimplement this function to provide a blocking API for a custom device. The default implementation does nothing, and returns false.</para>
            <para>Warning: Calling this function from the main (GUI) thread might cause your user interface to freeze.</para>
            <para>See also waitForBytesWritten().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.Write(QtCore.QByteArray)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Writes the content of byteArray to the device. Returns the number of bytes that were actually written, or -1 if an error occurred.</para>
            <para>See also read() and writeData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.Write(System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Writes data from a zero-terminated string of 8-bit characters to the device. Returns the number of bytes that were actually written, or -1 if an error occurred. This is equivalent to</para>
            <para> ...</para>
            <para> QIODevice::write(data, qstrlen(data));</para>
            <para> ...</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also read() and writeData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.Write(System.String,System.Int64)">
            <summary>
            <para>Writes at most maxSize bytes of data from data to the device. Returns the number of bytes that were actually written, or -1 if an error occurred.</para>
            <para>See also read() and writeData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.WriteData(System.String,System.Int64)">
            <summary>
            <para>Writes up to maxSize bytes from data to the device. Returns the number of bytes written, or -1 if an error occurred.</para>
            <para>This function is called by QIODevice. Reimplement this function when creating a subclass of QIODevice.</para>
            <para>When reimplementing this function it is important that this function writes all the data available before returning. This is required in order for QDataStream to be able to operate on the class. QDataStream assumes all the information was written and therefore does not retry writing if there was a problem.</para>
            <para>See also read() and write().</para>
            </summary>
        </member>
        <member name="M:QtCore.QIODevice.Finalize">
            <summary>
            <para>The destructor is virtual, and QIODevice is an abstract base class. This destructor does not call close(), but the subclass destructor might. If you are in doubt, call close() before destroying the QIODevice.</para>
            </summary>
        </member>
        <member name="E:QtCore.QIODevice.ReadyRead">
            <summary>
            <para>This signal is emitted once every time new data is available for reading from the device. It will only be emitted again once new data is available, such as when a new payload of network data has arrived on your network socket, or when a new block of data has been appended to your device.</para>
            <para>readyRead() is not emitted recursively; if you reenter the event loop or call waitForReadyRead() inside a slot connected to the readyRead() signal, the signal will not be reemitted (although waitForReadyRead() may still return true).</para>
            <para>Note for developers implementing classes derived from QIODevice: you should always emit readyRead() when new data has arrived (do not emit it only because there's data still to be read in your buffers). Do not emit readyRead() in other conditions.</para>
            <para>See also bytesWritten().</para>
            </summary>
        </member>
        <member name="E:QtCore.QIODevice.BytesWritten">
            <summary>
            <para>This signal is emitted every time a payload of data has been written to the device. The bytes argument is set to the number of bytes that were written in this payload.</para>
            <para>bytesWritten() is not emitted recursively; if you reenter the event loop or call waitForBytesWritten() inside a slot connected to the bytesWritten() signal, the signal will not be reemitted (although waitForBytesWritten() may still return true).</para>
            <para>See also readyRead().</para>
            </summary>
        </member>
        <member name="E:QtCore.QIODevice.AboutToClose">
            <summary>
            <para>This signal is emitted when the device is about to close. Connect this signal if you have operations that need to be performed before the device closes (e.g., if you have data in a separate buffer that needs to be written to the device).</para>
            </summary>
        </member>
        <member name="E:QtCore.QIODevice.ReadChannelFinished">
            <summary>
            <para>This signal is emitted when the input (reading) stream is closed in this device. It is emitted as soon as the closing is detected, which means that there might still be data available for reading with read().</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also atEnd() and read().</para>
            </summary>
        </member>
        <member name="T:QtCore.QIODevice.OpenModeFlag">
            <summary>
            <para>This enum is used with open() to describe the mode in which a device is opened. It is also returned by openMode().</para>
            <para>Certain flags, such as Unbuffered and Truncate, are meaningless when used with some subclasses. Some of these restrictions are implied by the type of device that is represented by a subclass. In other cases, the restriction may be due to the implementation, or may be imposed by the underlying platform; for example, QTcpSocket does not support Unbuffered mode, and limitations in the native API prevent QFile from supporting Unbuffered on Windows.</para>
            </summary>
        </member>
        <member name="F:QtCore.QIODevice.OpenModeFlag.Append">
            <summary>
            <para>The device is opened in append mode, so that all data is written to the end of the file.</para>
            </summary>
        </member>
        <member name="F:QtCore.QIODevice.OpenModeFlag.NotOpen">
            <summary>
            <para>The device is not open.</para>
            </summary>
        </member>
        <member name="F:QtCore.QIODevice.OpenModeFlag.ReadOnly">
            <summary>
            <para>The device is open for reading.</para>
            </summary>
        </member>
        <member name="F:QtCore.QIODevice.OpenModeFlag.ReadWrite">
            <summary>
            <para>The device is open for reading and writing.</para>
            </summary>
        </member>
        <member name="F:QtCore.QIODevice.OpenModeFlag.Text">
            <summary>
            <para>When reading, the end-of-line terminators are translated to '\n'. When writing, the end-of-line terminators are translated to the local encoding, for example '\r\n' for Win32.</para>
            </summary>
        </member>
        <member name="F:QtCore.QIODevice.OpenModeFlag.Truncate">
            <summary>
            <para>If possible, the device is truncated before it is opened. All earlier contents of the device are lost.</para>
            </summary>
        </member>
        <member name="F:QtCore.QIODevice.OpenModeFlag.Unbuffered">
            <summary>
            <para>Any buffer in the device is bypassed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QIODevice.OpenModeFlag.WriteOnly">
            <summary>
            <para>The device is open for writing.</para>
            </summary>
        </member>
        <member name="T:QtCore.QLineF">
            <summary>
            The QLineF class provides a two-dimensional vector using floating point precision.
            </summary>
            <remarks>
            <para></para>
            <para>A QLineF describes a finite length line (or line segment) on a two-dimensional surface. QLineF defines the start and end points of the line using floating point accuracy for coordinates. Use the toLine() function to retrieve an integer based copy of this line.</para>
            <para></para>
            <para>	</para>
            <para></para>
            <para>The positions of the line's start and end points can be retrieved using the p1(), x1(), y1(), p2(), x2(), and y2() functions. The dx() and dy() functions return the horizontal and vertical components of the line, respectively.</para>
            <para>The line's length can be retrieved using the length() function, and altered using the setLength() function. Similarly, angle() and setAngle() are respectively used for retrieving and altering the angle of the line. Use the isNull() function to determine whether the QLineF represents a valid line or a null line.</para>
            <para>The intersect() function determines the IntersectType for this line and a given line, while the angle() function returns the angle between the lines. In addition, the unitVector() function returns a line that has the same starting point as this line, but with a length of only 1, while the normalVector() function returns a line that is perpendicular to this line with the same starting point and length.</para>
            <para>Finally, the line can be translated a given offset using the translate() function, and can be traversed using the pointAt() function.</para>
            <para></para>
            <para>See also QLine, QPolygonF, and QRectF.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QLineF.#ctor">
            <summary>
            <para>Constructs a null line.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.#ctor(QtCore.QLine)">
            <summary>
            <para>Construct a QLineF object from the given integer-based line.</para>
            <para>See also toLine().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.#ctor(QtCore.QLineF)">
            <summary>
            <para>Constructs a null line.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.#ctor(QtCore.QPointF,QtCore.QPointF)">
            <summary>
            <para>Constructs a line object that represents the line between p1 and p2.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.#ctor(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            <para>Constructs a null line.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.Angle">
            <summary>
            <para>Returns the angle of the line in degrees.</para>
            <para>The return value will be in the range of values from 0.0 up to but not including 360.0. The angles are measured counter-clockwise from a point on the x-axis to the right of the origin (x &gt; 0).</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also setAngle().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.Angle(QtCore.QLineF)">
            <summary>
            <para>Returns the angle of the line in degrees.</para>
            <para>The return value will be in the range of values from 0.0 up to but not including 360.0. The angles are measured counter-clockwise from a point on the x-axis to the right of the origin (x &gt; 0).</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also setAngle().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.AngleTo(QtCore.QLineF)">
            <summary>
            <para>Returns the angle (in positive degrees) from this line to the given line, taking the direction of the lines into account. If the lines do not intersect within their range, it is the intersection point of the extended lines that serves as origin (see QLineF::UnboundedIntersection).</para>
            <para>The returned value represents the number of degrees you need to add to this line to make it have the same angle as the given line, going counter-clockwise.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also intersect().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.Dx">
            <summary>
            <para>Returns the horizontal component of the line's vector. Return value is positive if x2() &gt;= x1() and negative if x2() &lt; x1().</para>
            <para>See also dy() and pointAt().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.Dy">
            <summary>
            <para>Returns the vertical component of the line's vector. Return value is positive if y2() &gt;= y1() and negative if y2() &lt; y1().</para>
            <para>See also dx() and pointAt().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.FromPolar(System.Double,System.Double)">
            <summary>
            <para>Returns a QLineF with the given length and angle.</para>
            <para>The first point of the line will be on the origin.</para>
            <para>Positive values for the angles mean counter-clockwise while negative values mean the clockwise direction. Zero degrees is at the 3 o'clock position.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.Intersect(QtCore.QLineF,QtCore.QPointF)">
            <summary>
            <para>Returns a value indicating whether or not this line intersects with the given line.</para>
            <para>The actual intersection point is extracted to intersectionPoint (if the pointer is valid). If the lines are parallel, the intersection point is undefined.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.IsNull">
            <summary>
            <para>Returns true if the line is not set up with valid start and end point; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.NormalVector">
            <summary>
            <para>Returns a line that is perpendicular to this line with the same starting point and length.</para>
            <para>See also unitVector().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.op_Inequality(QtCore.QLineF,QtCore.QLineF)">
            <summary>
            <para>Returns true if the given line is not the same as this line.</para>
            <para>A line is different from another line if their start or end points differ, or the internal order of the points is different.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.op_Equality(QtCore.QLineF,QtCore.QLineF)">
            <summary>
            <para>Returns true if the given line is the same as this line.</para>
            <para>A line is identical to another line if the start and end points are identical, and the internal order of the points is the same.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.PointAt(System.Double)">
            <summary>
            <para>Returns the point at the parameterized position specified by t. The function returns the line's start point if t = 0, and its end point if t = 1.</para>
            <para>See also dx() and dy().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.SetAngle(System.Double)">
            <summary>
            <para>Sets the angle of the line to the given angle (in degrees). This will change the position of the second point of the line such that the line has the given angle.</para>
            <para>Positive values for the angles mean counter-clockwise while negative values mean the clockwise direction. Zero degrees is at the 3 o'clock position.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also angle().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.SetLine(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            <para>Sets this line to the start in x1, y1 and end in x2, y2.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also setP1(), setP2(), p1(), and p2().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.SetPoints(QtCore.QPointF,QtCore.QPointF)">
            <summary>
            <para>Sets the start point of this line to p1 and the end point of this line to p2.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also setP1(), setP2(), p1(), and p2().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.ToLine">
            <summary>
            <para>Returns an integer based copy of this line.</para>
            <para>Note that the returned line's start and end points are rounded to the nearest integer.</para>
            <para>See also QLineF().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.Translate(QtCore.QPointF)">
            <summary>
            <para>Translates this line by the given offset.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.Translate(System.Double,System.Double)">
            <summary>
            <para>Translates this line by the given offset.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.Translated(QtCore.QPointF)">
            <summary>
            <para>Returns this line translated by the given offset.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.Translated(System.Double,System.Double)">
            <summary>
            <para>Returns this line translated by the given offset.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.UnitVector">
            <summary>
            <para>Returns the unit vector for this line, i.e a line starting at the same point as this line with a length of 1.0.</para>
            <para>See also normalVector().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.X1">
            <summary>
            <para>Returns the x-coordinate of the line's start point.</para>
            <para>See also p1().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.X2">
            <summary>
            <para>Returns the x-coordinate of the line's end point.</para>
            <para>See also p2().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.Y1">
            <summary>
            <para>Returns the y-coordinate of the line's start point.</para>
            <para>See also p1().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLineF.Y2">
            <summary>
            <para>Returns the y-coordinate of the line's end point.</para>
            <para>See also p2().</para>
            </summary>
        </member>
        <member name="P:QtCore.QLineF.Length">
            <summary>
            <para>Returns the length of the line.</para>
            <para>Sets the length of the line to the given length. QLineF will move the end point - p2() - of the line to give the line its new length. If the given length is negative the angle() is also changed.</para>
            <para>If the line is a null line, the length will remain zero regardless of the length specified.</para>
            </summary>
        </member>
        <member name="P:QtCore.QLineF.P1">
            <summary>
            <para>Returns the line's start point.</para>
            <para>Sets the starting point of this line to p1.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="P:QtCore.QLineF.P2">
            <summary>
            <para>Returns the line's end point.</para>
            <para>Sets the end point of this line to p2.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="T:QtCore.QLineF.IntersectType">
            <summary>
            <para>Describes the intersection between two lines.</para>
            <para></para>
            <para>	</para>
            <para>QLineF::UnboundedIntersection	QLineF::BoundedIntersection</para>
            <para></para>
            <para>intersect() will also return this value if the intersect point is within the start and end point of only one of the lines.</para>
            <para>See also intersect().</para>
            </summary>
        </member>
        <member name="F:QtCore.QLineF.IntersectType.BoundedIntersection">
            <summary>
            <para>The two lines intersect with each other within the start and end points of each line.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLineF.IntersectType.NoIntersection">
            <summary>
            <para>Indicates that the lines do not intersect; i.e. they are parallel.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLineF.IntersectType.UnboundedIntersection">
            <summary>
            <para>The two lines intersect, but not within the range defined by their lengths. This will be the case if the lines are not parallel.</para>
            </summary>
        </member>
        <member name="T:QtCore.QMetaType">
            <summary>
            The QMetaType class manages named types in the meta-object system.
            </summary>
            <remarks>
            <para></para>
            <para>The class is used as a helper to marshall types in QVariant and in queued signals and slots connections. It associates a type name to a type so that it can be created and destructed dynamically at run-time. Declare new types with Q_DECLARE_METATYPE() to make them available to QVariant and other template-based functions. Call qRegisterMetaType() to make type available to non-template based functions, such as the queued signal and slot connections.</para>
            <para>Any class or struct that has a public default constructor, a public copy constructor, and a public destructor can be registered.</para>
            <para>The following code allocates and destructs an instance of MyClass:</para>
            <para> int id = QMetaType::type(&amp;quot;MyClass&amp;quot;);</para>
            <para> if (id != 0) {</para>
            <para>     void *myClassPtr = QMetaType::construct(id);</para>
            <para>     ...</para>
            <para>     QMetaType::destroy(id, myClassPtr);</para>
            <para>     myClassPtr = 0;</para>
            <para> }</para>
            <para>If we want the stream operators operator&amp;lt;&amp;lt;() and operator&amp;gt;&amp;gt;() to work on QVariant objects that store custom types, the custom type must provide operator&amp;lt;&amp;lt;() and operator&amp;gt;&amp;gt;() operators.</para>
            <para></para>
            <para>See also Q_DECLARE_METATYPE(), QVariant::setValue(), QVariant::value(), and QVariant::fromValue().</para>
            </remarks>
        </member>
        <member name="M:QtCore.QMetaType.IsRegistered(System.Int32)">
            <summary>
            <para>Returns true if the datatype with ID type is registered; otherwise returns false.</para>
            <para>See also type(), typeName(), and Type.</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaType.type(System.String)">
            <summary>
            <para>Returns a handle to the type called typeName, or 0 if there is no such type.</para>
            <para>See also isRegistered(), typeName(), and Type.</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaType.TypeName(System.Int32)">
            <summary>
            <para>Returns the type name associated with the given type, or 0 if no matching type was found. The returned pointer must not be deleted.</para>
            <para>See also type(), isRegistered(), and Type.</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaType.UnregisterType(System.String)">
            <summary>
            <para>Unregisters a user type, with typeName.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also type() and typeName().</para>
            </summary>
        </member>
        <member name="T:QtCore.QMetaType.Type">
            <summary>
            <para>These are the built-in types supported by QMetaType:</para>
            <para>Additional types can be registered using Q_DECLARE_METATYPE().</para>
            <para>See also type() and typeName().</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.Bool">
            <summary>
            <para>Bool</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.Char">
            <summary>
            <para>Char</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.Double">
            <summary>
            <para>Double</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.Float">
            <summary>
            <para>Float</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.Int">
            <summary>
            <para>Int</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.Long">
            <summary>
            <para>Long</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.LongLong">
            <summary>
            <para>LongLong</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QBitArray">
            <summary>
            <para>QBitArray</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QBitmap">
            <summary>
            <para>QBitmap</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QBrush">
            <summary>
            <para>QBrush</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QByteArray">
            <summary>
            <para>QByteArray</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QChar">
            <summary>
            <para>QChar</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QColor">
            <summary>
            <para>QColor</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QCursor">
            <summary>
            <para>QCursor</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QDate">
            <summary>
            <para>QDate</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QDateTime">
            <summary>
            <para>QDateTime</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QEasingCurve">
            <summary>
            <para>QEasingCurve</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QFont">
            <summary>
            <para>QFont</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QIcon">
            <summary>
            <para>QIcon</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QImage">
            <summary>
            <para>QImage</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QKeySequence">
            <summary>
            <para>QKeySequence</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QLine">
            <summary>
            <para>QLine</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QLineF">
            <summary>
            <para>QLineF</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QLocale">
            <summary>
            <para>QLocale</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QMatrix">
            <summary>
            <para>QMatrix</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QMatrix4x4">
            <summary>
            <para>QMatrix4x4</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QObjectStar">
            <summary>
            <para>QObject *</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QPalette">
            <summary>
            <para>QPalette</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QPen">
            <summary>
            <para>QPen</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QPixmap">
            <summary>
            <para>QPixmap</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QPoint">
            <summary>
            <para>QPoint</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QPointF">
            <summary>
            <para>QPointF</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QPolygon">
            <summary>
            <para>QPolygon</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QQuaternion">
            <summary>
            <para>QQuaternion</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QRect">
            <summary>
            <para>QRect</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QRectF">
            <summary>
            <para>QRectF</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QRegExp">
            <summary>
            <para>QRegExp</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QRegion">
            <summary>
            <para>QRegion</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QSize">
            <summary>
            <para>QSize</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QSizeF">
            <summary>
            <para>QSizeF</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QSizePolicy">
            <summary>
            <para>QSizePolicy</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QString">
            <summary>
            <para>QString</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QStringList">
            <summary>
            <para>QStringList</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QTextFormat">
            <summary>
            <para>QTextFormat</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QTextLength">
            <summary>
            <para>QTextLength</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QTime">
            <summary>
            <para>QTime</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QTransform">
            <summary>
            <para>QTransform</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QUrl">
            <summary>
            <para>QUrl</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QVariant">
            <summary>
            <para>QVariant</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QVariantHash">
            <summary>
            <para>QVariantHash</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QVariantList">
            <summary>
            <para>QVariantList</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QVariantMap">
            <summary>
            <para>QVariantMap</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QVector2D">
            <summary>
            <para>QVector2D</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QVector3D">
            <summary>
            <para>QVector3D</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QVector4D">
            <summary>
            <para>QVector4D</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.QWidgetStar">
            <summary>
            <para>QWidget *</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.Short">
            <summary>
            <para>Short</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.UChar">
            <summary>
            <para>Unsigned char</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.UInt">
            <summary>
            <para>Unsigned int</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.ULong">
            <summary>
            <para>Unsigned long</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.ULongLong">
            <summary>
            <para>ULongLong</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.UShort">
            <summary>
            <para>Unsigned short</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.User">
            <summary>
            <para>Base value for user types</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.Void">
            <summary>
            <para>Void</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaType.Type.VoidStar">
            <summary>
            <para>Void *</para>
            </summary>
        </member>
        <member name="T:QtCore.QModelIndex">
            <summary>
            The QModelIndex class is used to locate data in a data model.
            </summary>
            <remarks>
            <para></para>
            <para>This class is used as an index into item models derived from QAbstractItemModel. The index is used by item views, delegates, and selection models to locate an item in the model.</para>
            <para>New QModelIndex objects are created by the model using the QAbstractItemModel::createIndex() function. An invalid model index can be constructed with the QModelIndex constructor. Invalid indexes are often used as parent indexes when referring to top-level items in a model.</para>
            <para>Model indexes refer to items in models, and contain all the information required to specify their locations in those models. Each index is located in a given row and column, and may have a parent index; use row(), column(), and parent() to obtain this information. Each top-level item in a model is represented by a model index that does not have a parent index - in this case, parent() will return an invalid model index, equivalent to an index constructed with the zero argument form of the QModelIndex() constructor.</para>
            <para>To obtain a model index that refers to an existing item in a model, call QAbstractItemModel::index() with the required row and column values, and the model index of the parent. When referring to top-level items in a model, supply QModelIndex() as the parent index.</para>
            <para>The model() function returns the model that the index references as a QAbstractItemModel. The child() function is used to examine items held under the index in the model. The sibling() function allows you to traverse items in the model on the same level as the index.</para>
            <para>Note: Model indexes should be used immediately and then discarded. You should not rely on indexes to remain valid after calling model functions that change the structure of the model or delete items. If you need to keep a model index over time use a QPersistentModelIndex.</para>
            <para></para>
            <para>See also Model/View Programming, QPersistentModelIndex, and QAbstractItemModel.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QModelIndex.#ctor">
            <summary>
            <para>Creates a new empty model index. This type of model index is used to indicate that the position in the model is invalid.</para>
            <para>See also isValid() and QAbstractItemModel.</para>
            </summary>
        </member>
        <member name="M:QtCore.QModelIndex.#ctor(QtCore.QModelIndex)">
            <summary>
            <para>Creates a new model index that is a copy of the other model index.</para>
            </summary>
        </member>
        <member name="M:QtCore.QModelIndex.Child(System.Int32,System.Int32)">
            <summary>
            <para>Returns the child of the model index that is stored in the given row and column.</para>
            <para>Note: This function does not work for an invalid model index which is often used as the root index.</para>
            <para>See also parent() and sibling().</para>
            </summary>
        </member>
        <member name="M:QtCore.QModelIndex.Column">
            <summary>
            <para>Returns the column this model index refers to.</para>
            </summary>
        </member>
        <member name="M:QtCore.QModelIndex.Data(System.Int32)">
            <summary>
            <para>Returns the data for the given role for the item referred to by the index.</para>
            </summary>
        </member>
        <member name="M:QtCore.QModelIndex.Flags">
            <summary>
            <para>Returns the flags for the item referred to by the index.</para>
            <para>This function was introduced in Qt 4.2.</para>
            </summary>
        </member>
        <member name="M:QtCore.QModelIndex.InternalId">
            <summary>
            <para>Returns a qint64 used by the model to associate the index with the internal data structure.</para>
            <para>See also QAbstractItemModel::createIndex().</para>
            </summary>
        </member>
        <member name="M:QtCore.QModelIndex.IsValid">
            <summary>
            <para>Returns true if this model index is valid; otherwise returns false.</para>
            <para>A valid index belongs to a model, and has non-negative row and column numbers.</para>
            <para>See also model(), row(), and column().</para>
            </summary>
        </member>
        <member name="M:QtCore.QModelIndex.Model">
            <summary>
            <para>Returns a pointer to the model containing the item that this index refers to.</para>
            <para>A const pointer to the model is returned because calls to non-const functions of the model might invalidate the model index and possibly crash your application.</para>
            </summary>
        </member>
        <member name="M:QtCore.QModelIndex.op_Inequality(QtCore.QModelIndex,QtCore.QModelIndex)">
            <summary>
            <para>Returns true if this model index does not refer to the same location as the other model index; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QModelIndex.op_LessThan(QtCore.QModelIndex,QtCore.QModelIndex)">
            <summary>
            <para>Returns true if this model index is smaller than the other model index; otherwise returns false.</para>
            <para>This function was introduced in Qt 4.1.</para>
            </summary>
        </member>
        <member name="M:QtCore.QModelIndex.op_Equality(QtCore.QModelIndex,QtCore.QModelIndex)">
            <summary>
            <para>Returns true if this model index refers to the same location as the other model index; otherwise returns false.</para>
            <para>All values in the model index are used when comparing with another model index.</para>
            </summary>
        </member>
        <member name="M:QtCore.QModelIndex.Parent">
            <summary>
            <para>Returns the parent of the model index, or QModelIndex() if it has no parent.</para>
            <para>See also child(), sibling(), and model().</para>
            </summary>
        </member>
        <member name="M:QtCore.QModelIndex.Row">
            <summary>
            <para>Returns the row this model index refers to.</para>
            </summary>
        </member>
        <member name="M:QtCore.QModelIndex.Sibling(System.Int32,System.Int32)">
            <summary>
            <para>Returns the sibling at row and column. If there is no sibling at this position, an invalid QModelIndex is returned.</para>
            <para>See also parent() and child().</para>
            </summary>
        </member>
        <member name="M:QtCore.QModelIndex.Finalize">
            <summary>
            <para>Destroys the model index.</para>
            </summary>
        </member>
        <member name="T:QtCore.QPointF">
            <summary>
            The QPointF class defines a point in the plane using floating point precision.
            </summary>
            <remarks>
            <para></para>
            <para>A point is specified by a x coordinate and an y coordinate which can be accessed using the x() and y() functions. The coordinates of the point are specified using floating point numbers for accuracy. The isNull() function returns true if both x and y are set to 0.0. The coordinates can be set (or altered) using the setX() and setY() functions, or alternatively the rx() and ry() functions which return references to the coordinates (allowing direct manipulation).</para>
            <para>Given a point p, the following statements are all equivalent:</para>
            <para> QPointF p;</para>
            <para></para>
            <para> p.setX(p.x() + 1.0);</para>
            <para> p += QPointF(1.0, 0.0);</para>
            <para> p.rx()++;</para>
            <para>A QPointF object can also be used as a vector: Addition and subtraction are defined as for vectors (each component is added separately). A QPointF object can also be divided or multiplied by an int or a qreal.</para>
            <para>In addition, the QPointF class provides a constructor converting a QPoint object into a QPointF object, and a corresponding toPoint() function which returns a QPoint copy of this point. Finally, QPointF objects can be streamed as well as compared.</para>
            <para></para>
            <para>See also QPoint and QPolygonF.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QPointF.#ctor">
            <summary>
            <para>Constructs a null point, i.e. with coordinates (0.0, 0.0)</para>
            <para>See also isNull().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPointF.#ctor(QtCore.QPoint)">
            <summary>
            <para>Constructs a copy of the given point.</para>
            <para>See also toPoint().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPointF.#ctor(QtCore.QPointF)">
            <summary>
            <para>Constructs a null point, i.e. with coordinates (0.0, 0.0)</para>
            <para>See also isNull().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPointF.#ctor(System.Double,System.Double)">
            <summary>
            <para>Constructs a null point, i.e. with coordinates (0.0, 0.0)</para>
            <para>See also isNull().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPointF.op_Multiply(QtCore.QPointF,System.Double)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns a copy of the given point, multiplied by the given factor.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPointF.op_Addition(QtCore.QPointF,QtCore.QPointF)">
            <summary>
            <para>Returns a QPointF object that is the sum of the given points, p1 and p2; each component is added separately.</para>
            <para>See also QPointF::operator+=().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPointF.op_UnaryNegation(QtCore.QPointF)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns a QPointF object that is formed by changing the sign of both components of the given point.</para>
            <para>Equivalent to QPointF(0,0) - point.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPointF.op_Subtraction(QtCore.QPointF,QtCore.QPointF)">
            <summary>
            <para>Returns a QPointF object that is formed by subtracting p2 from p1; each component is subtracted separately.</para>
            <para>See also QPointF::operator-=().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPointF.op_Division(QtCore.QPointF,System.Double)">
            <summary>
            <para>Returns the QPointF object formed by dividing both components of the given point by the given divisor.</para>
            <para>See also QPointF::operator/=().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPointF.IsNull">
            <summary>
            <para>Returns true if both the x and y coordinates are set to +0.0; otherwise returns false.</para>
            <para>Note: Since this function treats +0.0 and -0.0 differently, points with zero-valued coordinates where either or both values have a negative sign are not defined to be null points.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPointF.ManhattanLength">
            <summary>
            <para>Returns the sum of the absolute values of x() and y(), traditionally known as the &quot;Manhattan length&quot; of the vector from the origin to the point.</para>
            <para>This function was introduced in Qt 4.6.</para>
            <para>See also QPoint::manhattanLength().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPointF.Rx">
            <summary>
            <para>Returns a reference to the x coordinate of this point.</para>
            <para>Using a reference makes it possible to directly manipulate x. For example:</para>
            <para>  QPointF p(1.1, 2.5);</para>
            <para>  p.rx()--;   // p becomes (0.1, 2.5)</para>
            <para>See also x() and setX().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPointF.Ry">
            <summary>
            <para>Returns a reference to the y coordinate of this point.</para>
            <para>Using a reference makes it possible to directly manipulate y. For example:</para>
            <para> QPointF p(1.1, 2.5);</para>
            <para> p.ry()++;   // p becomes (1.1, 3.5)</para>
            <para>See also y() and setY().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPointF.ToPoint">
            <summary>
            <para>Rounds the coordinates of this point to the nearest integer, and returns a QPoint object with the rounded coordinates.</para>
            <para>See also QPointF().</para>
            </summary>
        </member>
        <member name="P:QtCore.QPointF.X">
            <summary>
            <para>Returns the x-coordinate of this point.</para>
            <para>Sets the x coordinate of this point to the given x coordinate.</para>
            </summary>
        </member>
        <member name="P:QtCore.QPointF.Y">
            <summary>
            <para>Returns the y-coordinate of this point.</para>
            <para>Sets the y coordinate of this point to the given y coordinate.</para>
            </summary>
        </member>
        <member name="T:QtCore.QRectF">
            <summary>
            The QRectF class defines a rectangle in the plane using floating point precision.
            </summary>
            <remarks>
            <para></para>
            <para>A rectangle is normally expressed as an upper-left corner and a size. The size (width and height) of a QRectF is always equivalent to the mathematical rectangle that forms the basis for its rendering.</para>
            <para>A QRectF can be constructed with a set of left, top, width and height integers, or from a QPoint and a QSize. The following code creates two identical rectangles.</para>
            <para> QRectF r1(100, 200, 11, 16);</para>
            <para> QRectF r2(QPoint(100, 200), QSize(11, 16));</para>
            <para>There is also a third constructor creating a QRectF from a QRect, and a corresponding toRect() function that returns a QRect object based on the values of this rectangle (note that the coordinates in the returned rectangle are rounded to the nearest integer).</para>
            <para>The QRectF class provides a collection of functions that return the various rectangle coordinates, and enable manipulation of these. QRectF also provide functions to move the rectangle relative to the various coordinates. In addition there is a moveTo() function that moves the rectangle, leaving its top left corner at the given coordinates. Alternatively, the translate() function moves the rectangle the given offset relative to the current position, and the translated() function returns a translated copy of this rectangle.</para>
            <para>The size() function returns the rectange's dimensions as a QSize. The dimensions can also be retrieved separately using the width() and height() functions. To manipulate the dimensions use the setSize(), setWidth() or setHeight() functions. Alternatively, the size can be changed by applying either of the functions setting the rectangle coordinates, for example, setBottom() or setRight().</para>
            <para>The contains() function tells whether a given point is inside the rectangle or not, and the intersects() function returns true if this rectangle intersects with a given rectangle (otherwise false). The QRectF class also provides the intersected() function which returns the intersection rectangle, and the united() function which returns the rectangle that encloses the given rectangle and this:</para>
            <para></para>
            <para>	</para>
            <para>intersected()	united()</para>
            <para></para>
            <para>The isEmpty() function returns true if the rectangle's width or height is less than, or equal to, 0. Note that an empty rectangle is not valid: The isValid() function returns true if both width and height is larger than 0. A null rectangle (isNull() == true) on the other hand, has both width and height set to 0.</para>
            <para>Note that due to the way QRect and QRectF are defined, an empty QRectF is defined in essentially the same way as QRect.</para>
            <para>Finally, QRectF objects can be streamed as well as compared.</para>
            <para></para>
            <para>Rendering</para>
            <para>When using an anti-aliased painter, the boundary line of a QRectF will be rendered symmetrically on both sides of the mathematical rectangle's boundary line. But when using an aliased painter (the default) other rules apply.</para>
            <para>Then, when rendering with a one pixel wide pen the QRectF's boundary line will be rendered to the right and below the mathematical rectangle's boundary line.</para>
            <para>When rendering with a two pixels wide pen the boundary line will be split in the middle by the mathematical rectangle. This will be the case whenever the pen is set to an even number of pixels, while rendering with a pen with an odd number of pixels, the spare pixel will be rendered to the right and below the mathematical rectangle as in the one pixel case.</para>
            <para></para>
            <para>	</para>
            <para>Logical representation	One pixel wide pen</para>
            <para>	</para>
            <para>Two pixel wide pen	Three pixel wide pen</para>
            <para></para>
            <para></para>
            <para>Coordinates</para>
            <para>The QRectF class provides a collection of functions that return the various rectangle coordinates, and enable manipulation of these. QRectF also provide functions to move the rectangle relative to the various coordinates.</para>
            <para>For example: the bottom(), setBottom() and moveBottom() functions: bottom() returns the y-coordinate of the rectangle's bottom edge, setBottom() sets the bottom edge of the rectangle to the given y coordinate (it may change the height, but will never change the rectangle's top edge) and moveBottom() moves the entire rectangle vertically, leaving the rectangle's bottom edge at the given y coordinate and its size unchanged.</para>
            <para>It is also possible to add offsets to this rectangle's coordinates using the adjust() function, as well as retrieve a new rectangle based on adjustments of the original one using the adjusted() function. If either of the width and height is negative, use the normalized() function to retrieve a rectangle where the corners are swapped.</para>
            <para>In addition, QRectF provides the getCoords() function which extracts the position of the rectangle's top-left and bottom-right corner, and the getRect() function which extracts the rectangle's top-left corner, width and height. Use the setCoords() and setRect() function to manipulate the rectangle's coordinates and dimensions in one go.</para>
            <para></para>
            <para>See also QRect and QRegion.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QRectF.#ctor">
            <summary>
            <para>Constructs a null rectangle.</para>
            <para>See also isNull().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.#ctor(QtCore.QRect)">
            <summary>
            <para>Constructs a QRectF rectangle from the given QRect rectangle.</para>
            <para>See also toRect().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.#ctor(QtCore.QRectF)">
            <summary>
            <para>Constructs a null rectangle.</para>
            <para>See also isNull().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.#ctor(QtCore.QPointF,QtCore.QSizeF)">
            <summary>
            <para>Constructs a rectangle with the given topLeft corner and the given size.</para>
            <para>See also setTopLeft() and setSize().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.#ctor(QtCore.QPointF,QtCore.QPointF)">
            <summary>
            <para>Constructs a rectangle with the given topLeft and bottomRight corners.</para>
            <para>This function was introduced in Qt 4.3.</para>
            <para>See also setTopLeft() and setBottomRight().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.#ctor(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            <para>Constructs a null rectangle.</para>
            <para>See also isNull().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.Adjust(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            <para>Adds dx1, dy1, dx2 and dy2 respectively to the existing coordinates of the rectangle.</para>
            <para>See also adjusted() and setRect().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.Adjusted(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            <para>Returns a new rectangle with dx1, dy1, dx2 and dy2 added respectively to the existing coordinates of this rectangle.</para>
            <para>See also adjust().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.Center">
            <summary>
            <para>Returns the center point of the rectangle.</para>
            <para>See also moveCenter().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.Contains(QtCore.QPointF)">
            <summary>
            <para>Returns true if the given point is inside or on the edge of the rectangle; otherwise returns false.</para>
            <para>See also intersects().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.Contains(QtCore.QRectF)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns true if the given rectangle is inside this rectangle; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.Contains(System.Double,System.Double)">
            <summary>
            <para>Returns true if the given point is inside or on the edge of the rectangle; otherwise returns false.</para>
            <para>See also intersects().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.GetCoords(System.Double@,System.Double@,System.Double@,System.Double@)">
            <summary>
            <para>Extracts the position of the rectangle's top-left corner to *x1 and *y1, and the position of the bottom-right corner to *x2 and *y2.</para>
            <para>See also setCoords() and getRect().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.GetRect(System.Double@,System.Double@,System.Double@,System.Double@)">
            <summary>
            <para>Extracts the position of the rectangle's top-left corner to *x and *y, and its dimensions to *width and *height.</para>
            <para>See also setRect() and getCoords().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.Intersect(QtCore.QRectF)">
            <summary>
            <para>Use intersected(rectangle) instead.</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.Intersected(QtCore.QRectF)">
            <summary>
            <para>Returns the intersection of this rectangle and the given rectangle. Note that r.intersected(s) is equivalent to r &amp; s.</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also intersects(), united(), and operator&amp;=().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.Intersects(QtCore.QRectF)">
            <summary>
            <para>Returns true if this rectangle intersects with the given rectangle (i.e. there is a non-empty area of overlap between them), otherwise returns false.</para>
            <para>The intersection rectangle can be retrieved using the intersected() function.</para>
            <para>See also contains().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.IsEmpty">
            <summary>
            <para>Returns true if the rectangle is empty, otherwise returns false.</para>
            <para>An empty rectangle has width() &lt;= 0 or height() &lt;= 0. An empty rectangle is not valid (i.e., isEmpty() == !isValid()).</para>
            <para>Use the normalized() function to retrieve a rectangle where the corners are swapped.</para>
            <para>See also isNull(), isValid(), and normalized().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.IsNull">
            <summary>
            <para>Returns true if the rectangle is a null rectangle, otherwise returns false.</para>
            <para>A null rectangle has both the width and the height set to 0. A null rectangle is also empty, and hence not valid.</para>
            <para>See also isEmpty() and isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.IsValid">
            <summary>
            <para>Returns true if the rectangle is valid, otherwise returns false.</para>
            <para>A valid rectangle has a width() &gt; 0 and height() &gt; 0. Note that non-trivial operations like intersections are not defined for invalid rectangles. A valid rectangle is not empty (i.e., isValid() == !isEmpty()).</para>
            <para>See also isNull(), isEmpty(), and normalized().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.MoveBottom(System.Double)">
            <summary>
            <para>Moves the rectangle vertically, leaving the rectangle's bottom edge at the given y coordinate. The rectangle's size is unchanged.</para>
            <para>See also bottom(), setBottom(), and moveTop().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.MoveBottomLeft(QtCore.QPointF)">
            <summary>
            <para>Moves the rectangle, leaving the bottom-left corner at the given position. The rectangle's size is unchanged.</para>
            <para>See also setBottomLeft(), moveBottom(), and moveLeft().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.MoveBottomRight(QtCore.QPointF)">
            <summary>
            <para>Moves the rectangle, leaving the bottom-right corner at the given position. The rectangle's size is unchanged.</para>
            <para>See also setBottomRight(), moveBottom(), and moveRight().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.MoveCenter(QtCore.QPointF)">
            <summary>
            <para>Moves the rectangle, leaving the center point at the given position. The rectangle's size is unchanged.</para>
            <para>See also center().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.MoveLeft(System.Double)">
            <summary>
            <para>Moves the rectangle horizontally, leaving the rectangle's left edge at the given x coordinate. The rectangle's size is unchanged.</para>
            <para>See also left(), setLeft(), and moveRight().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.MoveRight(System.Double)">
            <summary>
            <para>Moves the rectangle horizontally, leaving the rectangle's right edge at the given x coordinate. The rectangle's size is unchanged.</para>
            <para>See also right(), setRight(), and moveLeft().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.MoveTo(QtCore.QPointF)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Moves the rectangle, leaving the top-left corner at the given position.</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.MoveTo(System.Double,System.Double)">
            <summary>
            <para>Moves the rectangle, leaving the top-left corner at the given position (x, y). The rectangle's size is unchanged.</para>
            <para>See also translate() and moveTopLeft().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.MoveTop(System.Double)">
            <summary>
            <para>Moves the rectangle vertically, leaving the rectangle's top line at the given y coordinate. The rectangle's size is unchanged.</para>
            <para>See also top(), setTop(), and moveBottom().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.MoveTopLeft(QtCore.QPointF)">
            <summary>
            <para>Moves the rectangle, leaving the top-left corner at the given position. The rectangle's size is unchanged.</para>
            <para>See also setTopLeft(), moveTop(), and moveLeft().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.MoveTopRight(QtCore.QPointF)">
            <summary>
            <para>Moves the rectangle, leaving the top-right corner at the given position. The rectangle's size is unchanged.</para>
            <para>See also setTopRight(), moveTop(), and moveRight().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.Normalized">
            <summary>
            <para>Returns a normalized rectangle; i.e., a rectangle that has a non-negative width and height.</para>
            <para>If width() &lt; 0 the function swaps the left and right corners, and it swaps the top and bottom corners if height() &lt; 0.</para>
            <para>See also isValid() and isEmpty().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.op_BitwiseAnd(QtCore.QRectF,QtCore.QRectF)">
            <summary>
            <para>Returns the intersection of this rectangle and the given rectangle. Returns an empty rectangle if there is no intersection.</para>
            <para>See also operator&amp;=() and intersected().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.op_BitwiseOr(QtCore.QRectF,QtCore.QRectF)">
            <summary>
            <para>Returns the bounding rectangle of this rectangle and the given rectangle.</para>
            <para>See also united() and operator|=().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.SetCoords(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            <para>Sets the coordinates of the rectangle's top-left corner to (x1, y1), and the coordinates of its bottom-right corner to (x2, y2).</para>
            <para>See also getCoords() and setRect().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.SetRect(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            <para>Sets the coordinates of the rectangle's top-left corner to (x, y), and its size to the given width and height.</para>
            <para>See also getRect() and setCoords().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.ToAlignedRect">
            <summary>
            <para>Returns a QRect based on the values of this rectangle that is the smallest possible integer rectangle that completely contains this rectangle.</para>
            <para>This function was introduced in Qt 4.3.</para>
            <para>See also toRect().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.ToRect">
            <summary>
            <para>Returns a QRect based on the values of this rectangle. Note that the coordinates in the returned rectangle are rounded to the nearest integer.</para>
            <para>See also QRectF() and toAlignedRect().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.Translate(QtCore.QPointF)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Moves the rectangle offset.x() along the x axis and offset.y() along the y axis, relative to the current position.</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.Translate(System.Double,System.Double)">
            <summary>
            <para>Moves the rectangle dx along the x-axis and dy along the y-axis, relative to the current position. Positive values move the rectangle to the right and downwards.</para>
            <para>See also moveTopLeft(), moveTo(), and translated().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.Translated(QtCore.QPointF)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns a copy of the rectangle that is translated offset.x() along the x axis and offset.y() along the y axis, relative to the current position.</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.Translated(System.Double,System.Double)">
            <summary>
            <para>Returns a copy of the rectangle that is translated dx along the x axis and dy along the y axis, relative to the current position. Positive values move the rectangle to the right and down.</para>
            <para>See also translate().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.Unite(QtCore.QRectF)">
            <summary>
            <para>Use united(rectangle) instead.</para>
            </summary>
        </member>
        <member name="M:QtCore.QRectF.United(QtCore.QRectF)">
            <summary>
            <para>Returns the bounding rectangle of this rectangle and the given rectangle.</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also intersected().</para>
            </summary>
        </member>
        <member name="P:QtCore.QRectF.Bottom">
            <summary>
            <para>Returns the y-coordinate of the rectangle's bottom edge.</para>
            <para>Sets the bottom edge of the rectangle to the given y coordinate. May change the height, but will never change the top edge of the rectangle.</para>
            </summary>
        </member>
        <member name="P:QtCore.QRectF.BottomLeft">
            <summary>
            <para>Returns the position of the rectangle's bottom-left corner.</para>
            <para>Set the bottom-left corner of the rectangle to the given position. May change the size, but will never change the top-right corner of the rectangle.</para>
            </summary>
        </member>
        <member name="P:QtCore.QRectF.BottomRight">
            <summary>
            <para>Returns the position of the rectangle's bottom-right corner.</para>
            <para>Set the bottom-right corner of the rectangle to the given position. May change the size, but will never change the top-left corner of the rectangle.</para>
            </summary>
        </member>
        <member name="P:QtCore.QRectF.Height">
            <summary>
            <para>Returns the height of the rectangle.</para>
            <para>Sets the height of the rectangle to the given height. The bottom edge is changed, but not the top one.</para>
            </summary>
        </member>
        <member name="P:QtCore.QRectF.Left">
            <summary>
            <para>Returns the x-coordinate of the rectangle's left edge. Equivalent to x().</para>
            <para>Sets the left edge of the rectangle to the given x coordinate. May change the width, but will never change the right edge of the rectangle.</para>
            <para>Equivalent to setX().</para>
            </summary>
        </member>
        <member name="P:QtCore.QRectF.Right">
            <summary>
            <para>Returns the x-coordinate of the rectangle's right edge.</para>
            <para>Sets the right edge of the rectangle to the given x coordinate. May change the width, but will never change the left edge of the rectangle.</para>
            </summary>
        </member>
        <member name="P:QtCore.QRectF.Size">
            <summary>
            <para>Returns the size of the rectangle.</para>
            <para>Sets the size of the rectangle to the given size. The top-left corner is not moved.</para>
            </summary>
        </member>
        <member name="P:QtCore.QRectF.Top">
            <summary>
            <para>Returns the y-coordinate of the rectangle's top edge. Equivalent to y().</para>
            <para>Sets the top edge of the rectangle to the given y coordinate. May change the height, but will never change the bottom edge of the rectangle.</para>
            <para>Equivalent to setY().</para>
            </summary>
        </member>
        <member name="P:QtCore.QRectF.TopLeft">
            <summary>
            <para>Returns the position of the rectangle's top-left corner.</para>
            <para>Set the top-left corner of the rectangle to the given position. May change the size, but will never change the bottom-right corner of the rectangle.</para>
            </summary>
        </member>
        <member name="P:QtCore.QRectF.TopRight">
            <summary>
            <para>Returns the position of the rectangle's top-right corner.</para>
            <para>Set the top-right corner of the rectangle to the given position. May change the size, but will never change the bottom-left corner of the rectangle.</para>
            </summary>
        </member>
        <member name="P:QtCore.QRectF.Width">
            <summary>
            <para>Returns the width of the rectangle.</para>
            <para>Sets the width of the rectangle to the given width. The right edge is changed, but not the left one.</para>
            </summary>
        </member>
        <member name="P:QtCore.QRectF.X">
            <summary>
            <para>Returns the x-coordinate of the rectangle's left edge. Equivalent to left().</para>
            <para>Sets the left edge of the rectangle to the given x coordinate. May change the width, but will never change the right edge of the rectangle.</para>
            <para>Equivalent to setLeft().</para>
            </summary>
        </member>
        <member name="P:QtCore.QRectF.Y">
            <summary>
            <para>Returns the y-coordinate of the rectangle's top edge. Equivalent to top().</para>
            <para>Sets the top edge of the rectangle to the given y coordinate. May change the height, but will never change the bottom edge of the rectangle.</para>
            <para>Equivalent to setTop().</para>
            </summary>
        </member>
        <member name="T:QtCore.QSizeF">
            <summary>
            The QSizeF class defines the size of a two-dimensional object using floating point precision.
            </summary>
            <remarks>
            <para></para>
            <para>A size is specified by a width() and a height(). It can be set in the constructor and changed using the setWidth(), setHeight(), or scale() functions, or using arithmetic operators. A size can also be manipulated directly by retrieving references to the width and height using the rwidth() and rheight() functions. Finally, the width and height can be swapped using the transpose() function.</para>
            <para>The isValid() function determines if a size is valid. A valid size has both width and height greater than or equal to zero. The isEmpty() function returns true if either of the width and height is less than (or equal to) zero, while the isNull() function returns true only if both the width and the height is zero.</para>
            <para>Use the expandedTo() function to retrieve a size which holds the maximum height and width of this size and a given size. Similarly, the boundedTo() function returns a size which holds the minimum height and width of this size and a given size.</para>
            <para>The QSizeF class also provides the toSize() function returning a QSize copy of this size, constructed by rounding the width and height to the nearest integers.</para>
            <para>QSizeF objects can be streamed as well as compared.</para>
            <para></para>
            <para>See also QSize, QPointF, and QRectF.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QSizeF.#ctor">
            <summary>
            <para>Constructs an invalid size.</para>
            <para>See also isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSizeF.#ctor(QtCore.QSize)">
            <summary>
            <para>Constructs a size with floating point accuracy from the given size.</para>
            <para>See also toSize().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSizeF.#ctor(QtCore.QSizeF)">
            <summary>
            <para>Constructs an invalid size.</para>
            <para>See also isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSizeF.#ctor(System.Double,System.Double)">
            <summary>
            <para>Constructs an invalid size.</para>
            <para>See also isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSizeF.op_Multiply(QtCore.QSizeF,System.Double)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Multiplies the given size by the given factor and returns the result.</para>
            <para>See also QSizeF::scale().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSizeF.op_Addition(QtCore.QSizeF,QtCore.QSizeF)">
            <summary>
            <para>Returns the sum of s1 and s2; each component is added separately.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSizeF.op_Subtraction(QtCore.QSizeF,QtCore.QSizeF)">
            <summary>
            <para>Returns s2 subtracted from s1; each component is subtracted separately.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSizeF.op_Division(QtCore.QSizeF,System.Double)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Divides the given size by the given divisor and returns the result.</para>
            <para>See also QSizeF::scale().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSizeF.BoundedTo(QtCore.QSizeF)">
            <summary>
            <para>Returns a size holding the minimum width and height of this size and the given otherSize.</para>
            <para>See also expandedTo() and scale().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSizeF.ExpandedTo(QtCore.QSizeF)">
            <summary>
            <para>Returns a size holding the maximum width and height of this size and the given otherSize.</para>
            <para>See also boundedTo() and scale().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSizeF.IsEmpty">
            <summary>
            <para>Returns true if either of the width and height is less than or equal to 0; otherwise returns false.</para>
            <para>See also isNull() and isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSizeF.IsNull">
            <summary>
            <para>Returns true if both the width and height are +0.0; otherwise returns false.</para>
            <para>Note: Since this function treats +0.0 and -0.0 differently, sizes with zero width and height where either or both values have a negative sign are not defined to be null sizes.</para>
            <para>See also isValid() and isEmpty().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSizeF.IsValid">
            <summary>
            <para>Returns true if both the width and height is equal to or greater than 0; otherwise returns false.</para>
            <para>See also isNull() and isEmpty().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSizeF.Rheight">
            <summary>
            <para>Returns a reference to the height.</para>
            <para>Using a reference makes it possible to manipulate the height directly. For example:</para>
            <para> QSizeF size(100, 10.2);</para>
            <para> size.rheight() += 5.5;</para>
            <para></para>
            <para> // size becomes (100,15.7)</para>
            <para>See also rwidth() and setHeight().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSizeF.Rwidth">
            <summary>
            <para>Returns a reference to the width.</para>
            <para>Using a reference makes it possible to manipulate the width directly. For example:</para>
            <para> QSizeF size(100.3, 10);</para>
            <para> size.rwidth() += 20.5;</para>
            <para></para>
            <para>  // size becomes (120.8,10)</para>
            <para>See also rheight() and setWidth().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSizeF.Scale(QtCore.QSizeF,QtCore.Qt.AspectRatioMode)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Scales the size to a rectangle with the given size, according to the specified mode.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSizeF.Scale(System.Double,System.Double,QtCore.Qt.AspectRatioMode)">
            <summary>
            <para>Scales the size to a rectangle with the given width and height, according to the specified mode.</para>
            <para></para>
            <para>If mode is Qt::IgnoreAspectRatio, the size is set to (width, height).</para>
            <para>If mode is Qt::KeepAspectRatio, the current size is scaled to a rectangle as large as possible inside (width, height), preserving the aspect ratio.</para>
            <para>If mode is Qt::KeepAspectRatioByExpanding, the current size is scaled to a rectangle as small as possible outside (width, height), preserving the aspect ratio.</para>
            <para></para>
            <para>Example:</para>
            <para> QSizeF t1(10, 12);</para>
            <para> t1.scale(60, 60, Qt::IgnoreAspectRatio);</para>
            <para> // t1 is (60, 60)</para>
            <para></para>
            <para> QSizeF t2(10, 12);</para>
            <para> t2.scale(60, 60, Qt::KeepAspectRatio);</para>
            <para> // t2 is (50, 60)</para>
            <para></para>
            <para> QSizeF t3(10, 12);</para>
            <para> t3.scale(60, 60, Qt::KeepAspectRatioByExpanding);</para>
            <para> // t3 is (60, 72)</para>
            <para>See also setWidth() and setHeight().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSizeF.ToSize">
            <summary>
            <para>Returns an integer based copy of this size.</para>
            <para>Note that the coordinates in the returned size will be rounded to the nearest integer.</para>
            <para>See also QSizeF().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSizeF.Transpose">
            <summary>
            <para>Swaps the width and height values.</para>
            <para>See also setWidth() and setHeight().</para>
            </summary>
        </member>
        <member name="P:QtCore.QSizeF.Height">
            <summary>
            <para>Returns the height.</para>
            <para>Sets the height to the given height.</para>
            </summary>
        </member>
        <member name="P:QtCore.QSizeF.Width">
            <summary>
            <para>Returns the width.</para>
            <para>Sets the width to the given width.</para>
            </summary>
        </member>
        <member name="T:QtCore.QUrl">
            <summary>
            The QUrl class provides a convenient interface for working with URLs.
            </summary>
            <remarks>
            <para></para>
            <para>It can parse and construct URLs in both encoded and unencoded form. QUrl also has support for internationalized domain names (IDNs).</para>
            <para>The most common way to use QUrl is to initialize it via the constructor by passing a QString. Otherwise, setUrl() and setEncodedUrl() can also be used.</para>
            <para>URLs can be represented in two forms: encoded or unencoded. The unencoded representation is suitable for showing to users, but the encoded representation is typically what you would send to a web server. For example, the unencoded URL &amp;quot;http://b&amp;#252;hler.example.com/List of applicants.xml&amp;quot; would be sent to the server as &amp;quot;http://xn--bhler-kva.example.com/List%20of%20applicants.xml&amp;quot;, and this can be verified by calling the toEncoded() function.</para>
            <para>A URL can also be constructed piece by piece by calling setScheme(), setUserName(), setPassword(), setHost(), setPort(), setPath(), setEncodedQuery() and setFragment(). Some convenience functions are also available: setAuthority() sets the user name, password, host and port. setUserInfo() sets the user name and password at once.</para>
            <para>Call isValid() to check if the URL is valid. This can be done at any point during the constructing of a URL.</para>
            <para>Constructing a query is particularly convenient through the use of setQueryItems(), addQueryItem() and removeQueryItem(). Use setQueryDelimiters() to customize the delimiters used for generating the query string.</para>
            <para>For the convenience of generating encoded URL strings or query strings, there are two static functions called fromPercentEncoding() and toPercentEncoding() which deal with percent encoding and decoding of QStrings.</para>
            <para>Calling isRelative() will tell whether or not the URL is relative. A relative URL can be resolved by passing it as argument to resolved(), which returns an absolute URL. isParentOf() is used for determining whether one URL is a parent of another.</para>
            <para>fromLocalFile() constructs a QUrl by parsing a local file path. toLocalFile() converts a URL to a local file path.</para>
            <para>The human readable representation of the URL is fetched with toString(). This representation is appropriate for displaying a URL to a user in unencoded form. The encoded form however, as returned by toEncoded(), is for internal use, passing to web servers, mail clients and so on.</para>
            <para>QUrl conforms to the URI specification from RFC 3986 (Uniform Resource Identifier: Generic Syntax), and includes scheme extensions from RFC 1738 (Uniform Resource Locators). Case folding rules in QUrl conform to RFC 3491 (Nameprep: A Stringprep Profile for Internationalized Domain Names (IDN)).</para>
            <para></para>
            <para>Character Conversions</para>
            <para>Follow these rules to avoid erroneous character conversion when dealing with URLs and strings:</para>
            <para></para>
            <para>When creating an QString to contain a URL from a QByteArray or a char*, always use QString::fromUtf8().</para>
            <para>Favor the use of QUrl::fromEncoded() and QUrl::toEncoded() instead of QUrl(string) and QUrl::toString() when converting a QUrl to or from a string.</para>
            <para></para>
            <para></para>
            <para>See also QUrlInfo.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QUrl.#ctor">
            <summary>
            <para>Constructs an empty QUrl object.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.#ctor(QtCore.QUrl)">
            <summary>
            <para>Constructs a copy of other.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.#ctor(System.String)">
            <summary>
            <para>Constructs a URL by parsing url. url is assumed to be in human readable representation, with no percent encoding. QUrl will automatically percent encode all characters that are not allowed in a URL. The default parsing mode is TolerantMode.</para>
            <para>Example:</para>
            <para> QUrl url(&quot;http://www.example.com/List of holidays.xml&quot;);</para>
            <para> // url.toEncoded() == &quot;http://www.example.com/List%20of%20holidays.xml&quot;</para>
            <para>To construct a URL from an encoded string, call fromEncoded():</para>
            <para> QUrl url = QUrl::fromEncoded(&quot;http://qt.nokia.com/List%20of%20holidays.xml&quot;);</para>
            <para>See also setUrl(), setEncodedUrl(), fromEncoded(), and TolerantMode.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.#ctor(System.String,QtCore.QUrl.ParsingMode)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Parses the url using the parser mode parsingMode. The default parsing mode is TolerantMode.</para>
            <para>See also setUrl().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.AddEncodedQueryItem(QtCore.QByteArray,QtCore.QByteArray)">
            <summary>
            <para>Inserts the pair key = value into the query string of the URL.</para>
            <para>Note: this function does not verify that either key or value are properly encoded. It is the caller's responsibility to ensure that the query delimiters are properly encoded, if any.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also addQueryItem() and setQueryDelimiters().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.AddQueryItem(System.String,System.String)">
            <summary>
            <para>Inserts the pair key = value into the query string of the URL.</para>
            <para>The key/value pair is encoded before it is added to the query. The pair is converted into separate strings internally. The key and value is first encoded into UTF-8 and then delimited by the character returned by valueDelimiter(). Each key/value pair is delimited by the character returned by pairDelimiter().</para>
            <para>Note: This method does not encode spaces (ASCII 0x20) as plus (+) signs, like HTML forms do. If you need that kind of encoding, you must encode the value yourself and use QUrl::addEncodedQueryItem.</para>
            <para>See also addEncodedQueryItem().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.AllEncodedQueryItemValues(QtCore.QByteArray)">
            <summary>
            <para>Returns the a list of query string values whose key is equal to key from the URL.</para>
            <para>Note: if the encoded key does not match the encoded version of the query, this function will not work. That is, if the encoded query of this URL is &quot;search=Qt%20Rules&quot;, calling this function with key = &quot;%73earch&quot; will return an empty list.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also allQueryItemValues(), queryItemValue(), and encodedQueryItemValue().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.AllQueryItemValues(System.String)">
            <summary>
            <para>Returns the a list of query string values whose key is equal to key from the URL.</para>
            <para>Note: This method does not decode spaces plus (+) signs as spaces (ASCII 0x20), like HTML forms do. If you need that kind of decoding, you must use QUrl::allEncodedQueryItemValues and decode the data yourself.</para>
            <para>See also queryItemValue().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.Clear">
            <summary>
            <para>Resets the content of the QUrl. After calling this function, the QUrl is equal to one that has been constructed with the default empty constructor.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.EncodedQueryItemValue(QtCore.QByteArray)">
            <summary>
            <para>Returns the first query string value whose key is equal to key from the URL.</para>
            <para>Note: if the encoded key does not match the encoded version of the query, this function will not work. That is, if the encoded query of this URL is &quot;search=Qt%20Rules&quot;, calling this function with key = &quot;%73earch&quot; will return an empty string.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also queryItemValue() and allQueryItemValues().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.ErrorString">
            <summary>
            <para>Returns a text string that explains why an URL is invalid in the case being; otherwise returns an empty string.</para>
            <para>This function was introduced in Qt 4.2.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.FromAce(QtCore.QByteArray)">
            <summary>
            <para>Returns the Unicode form of the given domain name domain, which is encoded in the ASCII Compatible Encoding (ACE). The result of this function is considered equivalent to domain.</para>
            <para>If the value in domain cannot be encoded, it will be converted to QString and returned.</para>
            <para>The ASCII Compatible Encoding (ACE) is defined by RFC 3490, RFC 3491 and RFC 3492. It is part of the Internationalizing Domain Names in Applications (IDNA) specification, which allows for domain names (like &quot;example.com&quot;) to be written using international characters.</para>
            <para>This function was introduced in Qt 4.2.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.FromEncoded(QtCore.QByteArray)">
            <summary>
            <para>Parses input and returns the corresponding QUrl. input is assumed to be in encoded form, containing only ASCII characters.</para>
            <para>The URL is parsed using TolerantMode.</para>
            <para>See also toEncoded() and setUrl().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.FromEncoded(QtCore.QByteArray,QtCore.QUrl.ParsingMode)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Parses the URL using parsingMode.</para>
            <para>See also toEncoded() and setUrl().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.FromLocalFile(System.String)">
            <summary>
            <para>Returns a QUrl representation of localFile, interpreted as a local file. This function accepts paths separated by slashes as well as the native separator for this platform.</para>
            <para>This function also accepts paths with a doubled leading slash (or backslash) to indicate a remote file, as in &quot;//servername/path/to/file.txt&quot;. Note that only certain platforms can actually open this file using QFile::open().</para>
            <para>See also toLocalFile(), isLocalFile(), and QDir::toNativeSeparators().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.FromPercentEncoding(QtCore.QByteArray)">
            <summary>
            <para>Returns a decoded copy of input. input is first decoded from percent encoding, then converted from UTF-8 to unicode.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.FromPunycode(QtCore.QByteArray)">
            <summary>
            <para>Returns the Punycode decoded representation of pc.</para>
            <para>Punycode is a Unicode encoding used for internationalized domain names, as defined in RFC3492. If you want to convert a domain from its ASCII-compatible encoding to the Unicode representation, use fromAce().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.FromUserInput(System.String)">
            <summary>
            <para>Returns a valid URL from a user supplied userInput string if one can be deducted. In the case that is not possible, an invalid QUrl() is returned.</para>
            <para>Most applications that can browse the web, allow the user to input a URL in the form of a plain string. This string can be manually typed into a location bar, obtained from the clipboard, or passed in via command line arguments.</para>
            <para>When the string is not already a valid URL, a best guess is performed, making various web related assumptions.</para>
            <para>In the case the string corresponds to a valid file path on the system, a file:// URL is constructed, using QUrl::fromLocalFile().</para>
            <para>If that is not the case, an attempt is made to turn the string into a http:// or ftp:// URL. The latter in the case the string starts with 'ftp'. The result is then passed through QUrl's tolerant parser, and in the case or success, a valid QUrl is returned, or else a QUrl().</para>
            <para></para>
            <para>Examples:</para>
            <para></para>
            <para>qt.nokia.com becomes http://qt.nokia.com</para>
            <para>ftp.qt.nokia.com becomes ftp://ftp.qt.nokia.com</para>
            <para>hostname becomes http://hostname</para>
            <para>/home/user/test.html becomes file:///home/user/test.html</para>
            <para></para>
            <para>This function was introduced in Qt 4.6.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.HasEncodedQueryItem(QtCore.QByteArray)">
            <summary>
            <para>Returns true if there is a query string pair whose key is equal to key from the URL.</para>
            <para>Note: if the encoded key does not match the encoded version of the query, this function will return false. That is, if the encoded query of this URL is &quot;search=Qt%20Rules&quot;, calling this function with key = &quot;%73earch&quot; will return false.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also hasQueryItem().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.HasFragment">
            <summary>
            <para>Returns true if this URL contains a fragment (i.e., if # was seen on it).</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also fragment() and setFragment().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.HasQuery">
            <summary>
            <para>Returns true if this URL contains a Query (i.e., if ? was seen on it).</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also hasQueryItem() and encodedQuery().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.HasQueryItem(System.String)">
            <summary>
            <para>Returns true if there is a query string pair whose key is equal to key from the URL.</para>
            <para>See also hasEncodedQueryItem().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.IsEmpty">
            <summary>
            <para>Returns true if the URL has no data; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.IsLocalFile">
            <summary>
            <para>Returns true if this URL is pointing to a local file path. A URL is a local file path if the scheme is &quot;file&quot;.</para>
            <para>Note that this function considers URLs with hostnames to be local file paths, even if the eventual file path cannot be opened with QFile::open().</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also fromLocalFile() and toLocalFile().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.IsParentOf(QtCore.QUrl)">
            <summary>
            <para>Returns true if this URL is a parent of childUrl. childUrl is a child of this URL if the two URLs share the same scheme and authority, and this URL's path is a parent of the path of childUrl.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.IsRelative">
            <summary>
            <para>Returns true if the URL is relative; otherwise returns false. A URL is relative if its scheme is undefined; this function is therefore equivalent to calling scheme().isEmpty().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.IsValid">
            <summary>
            <para>Returns true if the URL is valid; otherwise returns false.</para>
            <para>The URL is run through a conformance test. Every part of the URL must conform to the standard encoding rules of the URI standard for the URL to be reported as valid.</para>
            <para> bool checkUrl(const QUrl &amp;url) {</para>
            <para>     if (!url.isValid()) {</para>
            <para>         qDebug(QString(&quot;Invalid URL: %1&quot;).arg(url.toString()));</para>
            <para>         return false;</para>
            <para>     }</para>
            <para></para>
            <para>     return true;</para>
            <para> }</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.op_Inequality(QtCore.QUrl,QtCore.QUrl)">
            <summary>
            <para>Returns true if this URL and the given url are not equal; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.op_Equality(QtCore.QUrl,QtCore.QUrl)">
            <summary>
            <para>Returns true if this URL and the given url are equal; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.Port">
            <summary>
            <para>Returns the port of the URL, or -1 if the port is unspecified.</para>
            <para>See also setPort().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.Port(System.Int32)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns the port of the URL, or defaultPort if the port is unspecified.</para>
            <para>Example:</para>
            <para> QFtp ftp;</para>
            <para> ftp.connectToHost(url.host(), url.port(21));</para>
            <para>This function was introduced in Qt 4.1.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.QueryItemValue(System.String)">
            <summary>
            <para>Returns the first query string value whose key is equal to key from the URL.</para>
            <para>Note: This method does not decode spaces plus (+) signs as spaces (ASCII 0x20), like HTML forms do. If you need that kind of decoding, you must use QUrl::encodedQueryItemValue and decode the data yourself.</para>
            <para>See also allQueryItemValues().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.QueryPairDelimiter">
            <summary>
            <para>Returns the character used to delimit between key-value pairs in the query string of the URL.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.QueryValueDelimiter">
            <summary>
            <para>Returns the character used to delimit between keys and values in the query string of the URL.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.RemoveAllEncodedQueryItems(QtCore.QByteArray)">
            <summary>
            <para>Removes all the query string pairs whose key is equal to key from the URL.</para>
            <para>Note: if the encoded key does not match the encoded version of the query, this function will not work. That is, if the encoded query of this URL is &quot;search=Qt%20Rules&quot;, calling this function with key = &quot;%73earch&quot; will do nothing.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also removeQueryItem().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.RemoveAllQueryItems(System.String)">
            <summary>
            <para>Removes all the query string pairs whose key is equal to key from the URL.</para>
            <para>See also removeQueryItem().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.RemoveEncodedQueryItem(QtCore.QByteArray)">
            <summary>
            <para>Removes the first query string pair whose key is equal to key from the URL.</para>
            <para>Note: if the encoded key does not match the encoded version of the query, this function will not work. That is, if the encoded query of this URL is &quot;search=Qt%20Rules&quot;, calling this function with key = &quot;%73earch&quot; will do nothing.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also removeQueryItem() and removeAllQueryItems().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.RemoveQueryItem(System.String)">
            <summary>
            <para>Removes the first query string pair whose key is equal to key from the URL.</para>
            <para>See also removeAllQueryItems().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.Resolved(QtCore.QUrl)">
            <summary>
            <para>Returns the result of the merge of this URL with relative. This URL is used as a base to convert relative to an absolute URL.</para>
            <para>If relative is not a relative URL, this function will return relative directly. Otherwise, the paths of the two URLs are merged, and the new URL returned has the scheme and authority of the base URL, but with the merged path, as in the following example:</para>
            <para> QUrl baseUrl(&quot;http://qt.nokia.com/support&quot;);</para>
            <para> QUrl relativeUrl(&quot;../products/solutions&quot;);</para>
            <para> qDebug(baseUrl.resolved(relativeUrl).toString());</para>
            <para> // prints &quot;http://qt.nokia.com/products/solutions&quot;</para>
            <para>Calling resolved() with &quot;..&quot; returns a QUrl whose directory is one level higher than the original. Similarly, calling resolved() with &quot;../..&quot; removes two levels from the path. If relative is &quot;/&quot;, the path becomes &quot;/&quot;.</para>
            <para>See also isRelative().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.SetEncodedUrl(QtCore.QByteArray)">
            <summary>
            <para>Constructs a URL by parsing the contents of encodedUrl.</para>
            <para>encodedUrl is assumed to be a URL string in percent encoded form, containing only ASCII characters.</para>
            <para>Use isValid() to determine if a valid URL was constructed.</para>
            <para>See also setUrl().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.SetEncodedUrl(QtCore.QByteArray,QtCore.QUrl.ParsingMode)">
            <summary>
            <para>Constructs a URL by parsing the contents of encodedUrl using the given parsingMode.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.SetPort(System.Int32)">
            <summary>
            <para>Sets the port of the URL to port. The port is part of the authority of the URL, as described in setAuthority().</para>
            <para>port must be between 0 and 65535 inclusive. Setting the port to -1 indicates that the port is unspecified.</para>
            <para>See also port().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.SetQueryDelimiters(System.SByte,System.SByte)">
            <summary>
            <para>Sets the characters used for delimiting between keys and values, and between key-value pairs in the URL's query string. The default value delimiter is '=' and the default pair delimiter is '&amp;'.</para>
            <para>valueDelimiter will be used for separating keys from values, and pairDelimiter will be used to separate key-value pairs. Any occurrences of these delimiting characters in the encoded representation of the keys and values of the query string are percent encoded.</para>
            <para>If valueDelimiter is set to '-' and pairDelimiter is '/', the above query string would instead be represented like this:</para>
            <para> http://www.example.com/cgi-bin/drawgraph.cgi?type-pie/color-green</para>
            <para>Calling this function does not change the delimiters of the current query string. It only affects queryItems(), setQueryItems() and addQueryItems().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.SetUrl(System.String)">
            <summary>
            <para>Constructs a URL by parsing the contents of url.</para>
            <para>url is assumed to be in unicode format, with no percent encoding.</para>
            <para>Calling isValid() will tell whether or not a valid URL was constructed.</para>
            <para>See also setEncodedUrl().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.SetUrl(System.String,QtCore.QUrl.ParsingMode)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Parses url using the parsing mode parsingMode.</para>
            <para>See also setEncodedUrl().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.Swap(QtCore.QUrl)">
            <summary>
            <para>Swaps URL other with this URL. This operation is very fast and never fails.</para>
            <para>This function was introduced in Qt 4.8.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.ToAce(System.String)">
            <summary>
            <para>Returns the ASCII Compatible Encoding of the given domain name domain. The result of this function is considered equivalent to domain.</para>
            <para>The ASCII-Compatible Encoding (ACE) is defined by RFC 3490, RFC 3491 and RFC 3492. It is part of the Internationalizing Domain Names in Applications (IDNA) specification, which allows for domain names (like &quot;example.com&quot;) to be written using international characters.</para>
            <para>This function return an empty QByteArra if domain is not a valid hostname. Note, in particular, that IPv6 literals are not valid domain names.</para>
            <para>This function was introduced in Qt 4.2.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.ToEncoded(QtCore.QUrl.FormattingOption)">
            <summary>
            <para>Returns the encoded representation of the URL if it's valid; otherwise an empty QByteArray is returned. The output can be customized by passing flags with options.</para>
            <para>The user info, path and fragment are all converted to UTF-8, and all non-ASCII characters are then percent encoded. The host name is encoded using Punycode.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.ToLocalFile">
            <summary>
            <para>Returns the path of this URL formatted as a local file path. The path returned will use forward slashes, even if it was originally created from one with backslashes.</para>
            <para>If this URL contains a non-empty hostname, it will be encoded in the returned value in the form found on SMB networks (for example, &quot;//servername/path/to/file.txt&quot;).</para>
            <para>If this is a relative URL, in Qt 4.x this function returns the path to maintain backward compatability. This will change from 5.0 onwards. Then the path is returned only for URLs where the scheme is &quot;file&quot;, and for all other URLs an empty string is returned.</para>
            <para>See also fromLocalFile() and isLocalFile().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.ToPercentEncoding(System.String)">
            <summary>
            <para>Returns an encoded copy of input. input is first converted to UTF-8, and all ASCII-characters that are not in the unreserved group are percent encoded. To prevent characters from being percent encoded pass them to exclude. To force characters to be percent encoded pass them to include.</para>
            <para>Unreserved is defined as: ALPHA / DIGIT / &quot;-&quot; / &quot;.&quot; / &quot;_&quot; / &quot;~&quot;</para>
            <para> QByteArray ba = QUrl::toPercentEncoding(&quot;{a fishy string?}&quot;, &quot;{}&quot;, &quot;s&quot;);</para>
            <para> qDebug(ba.constData());</para>
            <para> // prints &quot;{a fi%73hy %73tring%3F}&quot;</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.ToPercentEncoding(System.String,QtCore.QByteArray)">
            <summary>
            <para>Returns an encoded copy of input. input is first converted to UTF-8, and all ASCII-characters that are not in the unreserved group are percent encoded. To prevent characters from being percent encoded pass them to exclude. To force characters to be percent encoded pass them to include.</para>
            <para>Unreserved is defined as: ALPHA / DIGIT / &quot;-&quot; / &quot;.&quot; / &quot;_&quot; / &quot;~&quot;</para>
            <para> QByteArray ba = QUrl::toPercentEncoding(&quot;{a fishy string?}&quot;, &quot;{}&quot;, &quot;s&quot;);</para>
            <para> qDebug(ba.constData());</para>
            <para> // prints &quot;{a fi%73hy %73tring%3F}&quot;</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.ToPercentEncoding(System.String,QtCore.QByteArray,QtCore.QByteArray)">
            <summary>
            <para>Returns an encoded copy of input. input is first converted to UTF-8, and all ASCII-characters that are not in the unreserved group are percent encoded. To prevent characters from being percent encoded pass them to exclude. To force characters to be percent encoded pass them to include.</para>
            <para>Unreserved is defined as: ALPHA / DIGIT / &quot;-&quot; / &quot;.&quot; / &quot;_&quot; / &quot;~&quot;</para>
            <para> QByteArray ba = QUrl::toPercentEncoding(&quot;{a fishy string?}&quot;, &quot;{}&quot;, &quot;s&quot;);</para>
            <para> qDebug(ba.constData());</para>
            <para> // prints &quot;{a fi%73hy %73tring%3F}&quot;</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.ToPunycode(System.String)">
            <summary>
            <para>Returns a uc in Punycode encoding.</para>
            <para>Punycode is a Unicode encoding used for internationalized domain names, as defined in RFC3492. If you want to convert a domain name from Unicode to its ASCII-compatible representation, use toAce().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.ToString">
            <summary>
            <para>Returns the human-displayable string representation of the URL. The output can be customized by passing flags with options.</para>
            <para>See also FormattingOptions and toEncoded().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.ToString(QtCore.QUrl.FormattingOption)">
            <summary>
            <para>Returns the human-displayable string representation of the URL. The output can be customized by passing flags with options.</para>
            <para>See also FormattingOptions and toEncoded().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.TopLevelDomain">
            <summary>
            <para>Returns the TLD (Top-Level Domain) of the URL, (e.g. .co.uk, .net). Note that the return value is prefixed with a '.' unless the URL does not contain a valid TLD, in which case the function returns an empty string.</para>
            <para>This function was introduced in Qt 4.8.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUrl.Finalize">
            <summary>
            <para>Destructor; called immediately before the object is deleted.</para>
            </summary>
        </member>
        <member name="P:QtCore.QUrl.Authority">
            <summary>
            <para>Returns the authority of the URL if it is defined; otherwise an empty string is returned.</para>
            <para>Sets the authority of the URL to authority.</para>
            <para>The authority of a URL is the combination of user info, a host name and a port. All of these elements are optional; an empty authority is therefore valid.</para>
            <para>The user info and host are separated by a '@', and the host and port are separated by a ':'. If the user info is empty, the '@' must be omitted; although a stray ':' is permitted if the port is empty.</para>
            <para>The following example shows a valid authority string:</para>
            </summary>
        </member>
        <member name="P:QtCore.QUrl.EncodedFragment">
            <summary>
            <para>Returns the fragment of the URL if it is defined; otherwise an empty string is returned. The returned value will have its non-ASCII and other control characters percent-encoded, as in toEncoded().</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>Sets the URL's fragment to the percent-encoded fragment. The fragment is the last part of the URL, represented by a '#' followed by a string of characters. It is typically used in HTTP for referring to a certain link or point on a page:</para>
            <para>The fragment is sometimes also referred to as the URL &quot;reference&quot;.</para>
            <para>Passing an argument of QByteArray() (a null QByteArray) will unset the fragment. Passing an argument of QByteArray(&quot;&quot;) (an empty but not null QByteArray) will set the fragment to an empty string (as if the original URL had a lone &quot;#&quot;).</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="P:QtCore.QUrl.EncodedHost">
            <summary>
            <para>Returns the host part of the URL if it is defined; otherwise an empty string is returned.</para>
            <para>Note: encodedHost() does not return percent-encoded hostnames. Instead, the ACE-encoded (bare ASCII in Punycode encoding) form will be returned for any non-ASCII hostname.</para>
            <para>This function is equivalent to calling QUrl::toAce() on the return value of host().</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>Sets the URL's host to the ACE- or percent-encoded host. The host is part of the user info element in the authority of the URL, as described in setAuthority().</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="P:QtCore.QUrl.EncodedPassword">
            <summary>
            <para>Returns the password of the URL if it is defined; otherwise an empty string is returned. The returned value will have its non-ASCII and other control characters percent-encoded, as in toEncoded().</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>Sets the URL's password to the percent-encoded password. The password is part of the user info element in the authority of the URL, as described in setUserInfo().</para>
            <para>Note: this function does not verify that password is properly encoded. It is the caller's responsibility to ensure that the any delimiters (such as colons or slashes) are properly encoded.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="P:QtCore.QUrl.EncodedPath">
            <summary>
            <para>Returns the path of the URL if it is defined; otherwise an empty string is returned. The returned value will have its non-ASCII and other control characters percent-encoded, as in toEncoded().</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>Sets the URL's path to the percent-encoded path. The path is the part of the URL that comes after the authority but before the query string.</para>
            <para>For non-hierarchical schemes, the path will be everything following the scheme declaration, as in the following example:</para>
            <para>Note: this function does not verify that path is properly encoded. It is the caller's responsibility to ensure that the any delimiters (such as '?' and '#') are properly encoded.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="P:QtCore.QUrl.EncodedQuery">
            <summary>
            <para>Returns the query string of the URL in percent encoded form.</para>
            <para>Sets the query string of the URL to query. The string is inserted as-is, and no further encoding is performed when calling toEncoded().</para>
            <para>This function is useful if you need to pass a query string that does not fit into the key-value pattern, or that uses a different scheme for encoding special characters than what is suggested by QUrl.</para>
            <para>Passing a value of QByteArray() to query (a null QByteArray) unsets the query completely. However, passing a value of QByteArray(&quot;&quot;) will set the query to an empty value, as if the original URL had a lone &quot;?&quot;.</para>
            </summary>
        </member>
        <member name="P:QtCore.QUrl.EncodedUserName">
            <summary>
            <para>Returns the user name of the URL if it is defined; otherwise an empty string is returned. The returned value will have its non-ASCII and other control characters percent-encoded, as in toEncoded().</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>Sets the URL's user name to the percent-encoded userName. The userName is part of the user info element in the authority of the URL, as described in setUserInfo().</para>
            <para>Note: this function does not verify that userName is properly encoded. It is the caller's responsibility to ensure that the any delimiters (such as colons or slashes) are properly encoded.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="P:QtCore.QUrl.Fragment">
            <summary>
            <para>Returns the fragment of the URL.</para>
            <para>Sets the fragment of the URL to fragment. The fragment is the last part of the URL, represented by a '#' followed by a string of characters. It is typically used in HTTP for referring to a certain link or point on a page:</para>
            <para>The fragment is sometimes also referred to as the URL &quot;reference&quot;.</para>
            <para>Passing an argument of QString() (a null QString) will unset the fragment. Passing an argument of QString(&quot;&quot;) (an empty but not null QString) will set the fragment to an empty string (as if the original URL had a lone &quot;#&quot;).</para>
            </summary>
        </member>
        <member name="P:QtCore.QUrl.Host">
            <summary>
            <para>Returns the host of the URL if it is defined; otherwise an empty string is returned.</para>
            <para>Sets the host of the URL to host. The host is part of the authority.</para>
            </summary>
        </member>
        <member name="P:QtCore.QUrl.IdnWhitelist">
            <summary>
            <para>Returns the current whitelist of top-level domains that are allowed to have non-ASCII characters in their compositions.</para>
            <para>See setIdnWhitelist() for the rationale of this list.</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>Sets the whitelist of Top-Level Domains (TLDs) that are allowed to have non-ASCII characters in domains to the value of list.</para>
            <para>Note that if you call this function, you need to do so \em before you start any threads that might access idnWhitelist().</para>
            <para>Qt has comes a default list that contains the Internet top-level domains that have published support for Internationalized Domain Names (IDNs) and rules to guarantee that no deception can happen between similarly-looking characters (such as the Latin lowercase letter 'a' and the Cyrillic equivalent, which in most fonts are visually identical).</para>
            <para>This list is periodically maintained, as registrars publish new rules.</para>
            <para>This function is provided for those who need to manipulate the list, in order to add or remove a TLD. It is not recommended to change its value for purposes other than testing, as it may expose users to security risks.</para>
            <para>This function was introduced in Qt 4.2.</para>
            </summary>
        </member>
        <member name="P:QtCore.QUrl.Password">
            <summary>
            <para>Returns the password of the URL if it is defined; otherwise an empty string is returned.</para>
            <para>Sets the URL's password to password. The password is part of the user info element in the authority of the URL, as described in setUserInfo().</para>
            </summary>
        </member>
        <member name="P:QtCore.QUrl.Path">
            <summary>
            <para>Returns the path of the URL.</para>
            <para>Sets the path of the URL to path. The path is the part of the URL that comes after the authority but before the query string.</para>
            <para>For non-hierarchical schemes, the path will be everything following the scheme declaration, as in the following example:</para>
            </summary>
        </member>
        <member name="P:QtCore.QUrl.Scheme">
            <summary>
            <para>Returns the scheme of the URL. If an empty string is returned, this means the scheme is undefined and the URL is then relative.</para>
            <para>Sets the scheme of the URL to scheme. As a scheme can only contain ASCII characters, no conversion or encoding is done on the input.</para>
            <para>The scheme describes the type (or protocol) of the URL. It's represented by one or more ASCII characters at the start the URL, and is followed by a ':'. The following example shows a URL where the scheme is &quot;ftp&quot;:</para>
            <para>The scheme can also be empty, in which case the URL is interpreted as relative.</para>
            </summary>
        </member>
        <member name="P:QtCore.QUrl.UserInfo">
            <summary>
            <para>Returns the user info of the URL, or an empty string if the user info is undefined.</para>
            <para>Sets the user info of the URL to userInfo. The user info is an optional part of the authority of the URL, as described in setAuthority().</para>
            <para>The user info consists of a user name and optionally a password, separated by a ':'. If the password is empty, the colon must be omitted. The following example shows a valid user info string:</para>
            </summary>
        </member>
        <member name="P:QtCore.QUrl.UserName">
            <summary>
            <para>Returns the user name of the URL if it is defined; otherwise an empty string is returned.</para>
            <para>Sets the URL's user name to userName. The userName is part of the user info element in the authority of the URL, as described in setUserInfo().</para>
            </summary>
        </member>
        <member name="T:QtCore.QUrl.FormattingOption">
            <summary>
            <para>The formatting options define how the URL is formatted when written out as text.</para>
            <para>Note that the case folding rules in Nameprep, which QUrl conforms to, require host names to always be converted to lower case, regardless of the Qt::FormattingOptions used.</para>
            </summary>
        </member>
        <member name="F:QtCore.QUrl.FormattingOption.None">
            <summary>
            <para>The format of the URL is unchanged.</para>
            </summary>
        </member>
        <member name="F:QtCore.QUrl.FormattingOption.RemovePassword">
            <summary>
            <para>Any password in the URL is removed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QUrl.FormattingOption.RemovePath">
            <summary>
            <para>The URL's path is removed, leaving only the scheme, host address, and port (if present).</para>
            </summary>
        </member>
        <member name="F:QtCore.QUrl.FormattingOption.RemovePort">
            <summary>
            <para>Any specified port is removed from the URL.</para>
            </summary>
        </member>
        <member name="F:QtCore.QUrl.FormattingOption.RemoveQuery">
            <summary>
            <para>The query part of the URL (following a '?' character) is removed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QUrl.FormattingOption.RemoveScheme">
            <summary>
            <para>The scheme is removed from the URL.</para>
            </summary>
        </member>
        <member name="F:QtCore.QUrl.FormattingOption.RemoveUserInfo">
            <summary>
            <para>Any user information in the URL is removed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QUrl.FormattingOption.StripTrailingSlash">
            <summary>
            <para>The trailing slash is removed if one is present.</para>
            </summary>
        </member>
        <member name="T:QtCore.QUrl.ParsingMode">
            <summary>
            <para>The parsing mode controls the way QUrl parses strings.</para>
            <para>In TolerantMode, the parser corrects the following invalid input:</para>
            <para></para>
            <para>Spaces and &quot;%20&quot;: If an encoded URL contains a space, this will be replaced with &quot;%20&quot;. If a decoded URL contains &quot;%20&quot;, this will be replaced with a single space before the URL is parsed.</para>
            <para>Single &quot;%&quot; characters: Any occurrences of a percent character &quot;%&quot; not followed by exactly two hexadecimal characters (e.g., &quot;13% coverage.html&quot;) will be replaced by &quot;%25&quot;.</para>
            <para>Reserved and unreserved characters: An encoded URL should only contain a few characters as literals; all other characters should be percent-encoded. In TolerantMode, these characters will be automatically percent-encoded where they are not allowed: space / double-quote / &quot;&lt;&quot; / &quot;&gt;&quot; / &quot;[&quot; / &quot;&quot; / &quot;]&quot; / &quot;^&quot; / &quot;`&quot; / &quot;{&quot; / &quot;|&quot; / &quot;}&quot;</para>
            </summary>
        </member>
        <member name="F:QtCore.QUrl.ParsingMode.StrictMode">
            <summary>
            <para>Only valid URLs are accepted. This mode is useful for general URL validation.</para>
            </summary>
        </member>
        <member name="F:QtCore.QUrl.ParsingMode.TolerantMode">
            <summary>
            <para>QUrl will try to correct some common errors in URLs. This mode is useful when processing URLs entered by users.</para>
            </summary>
        </member>
        <member name="F:QtCore.Qyoto.slotSignatures">
            This Hashtable contains a list of classes with their Hashtables for slots. The class type is the key, the slot-hashtable the value.
        </member>
        <member name="F:QtCore.Qyoto.metaObjects">
            This hashtable has the class types as keys, and QMetaObjects as values
        </member>
        <member name="M:QtCore.SmokeMarshallers.StringArrayToCharStarStar(System.Int32,System.String[])">
            Marshalling functions begin *
        </member>
        <member name="M:QtCore.SmokeMarshallers.SizeOfLong">
            Other functions *
        </member>
        <member name="M:QtCore.SmokeMarshallers.InstallFreeGCHandle(QtCore.SmokeMarshallers.FromIntPtr)">
            Other functions end *
        </member>
        <member name="T:QtCore.QAbstractAnimation">
            <summary>
            The QAbstractAnimation class is the base of all animations.
            </summary>
            <remarks>
            <para></para>
            <para>The class defines the functions for the functionality shared by all animations. By inheriting this class, you can create custom animations that plug into the rest of the animation framework.</para>
            <para>The progress of an animation is given by its current time (currentLoopTime()), which is measured in milliseconds from the start of the animation (0) to its end (duration()). The value is updated automatically while the animation is running. It can also be set directly with setCurrentTime().</para>
            <para>At any point an animation is in one of three states: Running, Stopped, or Paused--as defined by the State enum. The current state can be changed by calling start(), stop(), pause(), or resume(). An animation will always reset its current time when it is started. If paused, it will continue with the same current time when resumed. When an animation is stopped, it cannot be resumed, but will keep its current time (until started again). QAbstractAnimation will emit stateChanged() whenever its state changes.</para>
            <para>An animation can loop any number of times by setting the loopCount property. When an animation's current time reaches its duration(), it will reset the current time and keep running. A loop count of 1 (the default value) means that the animation will run one time. Note that a duration of -1 means that the animation will run until stopped; the current time will increase indefinitely. When the current time equals duration() and the animation is in its final loop, the Stopped state is entered, and the finished() signal is emitted.</para>
            <para>QAbstractAnimation provides pure virtual functions used by subclasses to track the progress of the animation: duration() and updateCurrentTime(). The duration() function lets you report a duration for the animation (as discussed above). The animation framework calls updateCurrentTime() when current time has changed. By reimplementing this function, you can track the animation progress. Note that neither the interval between calls nor the number of calls to this function are defined; though, it will normally be 60 updates per second.</para>
            <para>By reimplementing updateState(), you can track the animation's state changes, which is particularly useful for animations that are not driven by time.</para>
            <para></para>
            <para>See also QVariantAnimation, QPropertyAnimation, QAnimationGroup, and The Animation Framework.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QAbstractAnimation.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs the QAbstractAnimation base class, and passes parent to QObject's constructor.</para>
            <para>See also QVariantAnimation and QAnimationGroup.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractAnimation.OnCurrentLoopChanged(System.Int32)">
            <summary>
            <para>QAbstractAnimation emits this signal whenever the current loop changes. currentLoop is the current loop.</para>
            <para>See also currentLoop() and loopCount().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractAnimation.CurrentLoopTime">
            <summary>
            <para>Returns the current time inside the current loop. It can go from 0 to duration().</para>
            <para>See also duration() and currentTime.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractAnimation.OnDirectionChanged(QtCore.QAbstractAnimation.Direction)">
            <summary>
            <para>QAbstractAnimation emits this signal whenever the direction has been changed. newDirection is the new direction.</para>
            <para>See also direction.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractAnimation.OnEvent(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QObject::event().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractAnimation.OnFinished">
            <summary>
            <para>QAbstractAnimation emits this signal after the animation has stopped and has reached the end.</para>
            <para>This signal is emitted after stateChanged().</para>
            <para>See also stateChanged().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractAnimation.Group">
            <summary>
            <para>If this animation is part of a QAnimationGroup, this function returns a pointer to the group; otherwise, it returns 0.</para>
            <para>See also QAnimationGroup::addAnimation().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractAnimation.Pause">
            <summary>
            <para>Pauses the animation. When the animation is paused, state() returns Paused. The value of currentTime will remain unchanged until resume() or start() is called. If you want to continue from the current time, call resume().</para>
            <para>See also start(), state(), and resume().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractAnimation.Resume">
            <summary>
            <para>Resumes the animation after it was paused. When the animation is resumed, it emits the resumed() and stateChanged() signals. The currenttime is not changed.</para>
            <para>See also start(), pause(), and state().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractAnimation.SetPaused(System.Boolean)">
            <summary>
            <para>If paused is true, the animation is paused. If paused is false, the animation is resumed.</para>
            <para>See also state(), pause(), and resume().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractAnimation.Start(QtCore.QAbstractAnimation.DeletionPolicy)">
            <summary>
            <para>Starts the animation. The policy argument says whether or not the animation should be deleted when it's done. When the animation starts, the stateChanged() signal is emitted, and state() returns Running. When control reaches the event loop, the animation will run by itself, periodically calling updateCurrentTime() as the animation progresses.</para>
            <para>If the animation is currently stopped or has already reached the end, calling start() will rewind the animation and start again from the beginning. When the animation reaches the end, the animation will either stop, or if the loop level is more than 1, it will rewind and continue from the beginning.</para>
            <para>If the animation is already running, this function does nothing.</para>
            <para>See also stop() and state().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractAnimation.OnStateChanged(QtCore.QAbstractAnimation.State,QtCore.QAbstractAnimation.State)">
            <summary>
            <para>QAbstractAnimation emits this signal whenever the state of the animation has changed from oldState to newState. This signal is emitted after the virtual updateState() function is called.</para>
            <para>See also updateState().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractAnimation.Stop">
            <summary>
            <para>Stops the animation. When the animation is stopped, it emits the stateChanged() signal, and state() returns Stopped. The current time is not changed.</para>
            <para>If the animation stops by itself after reaching the end (i.e., currentLoopTime() == duration() and currentLoop() &gt; loopCount() - 1), the finished() signal is emitted.</para>
            <para>See also start() and state().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractAnimation.TotalDuration">
            <summary>
            <para>Returns the total and effective duration of the animation, including the loop count.</para>
            <para>See also duration() and currentTime.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractAnimation.UpdateCurrentTime(System.Int32)">
            <summary>
            <para>This pure virtual function is called every time the animation's currentTime changes.</para>
            <para>See also updateState().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractAnimation.UpdateDirection(QtCore.QAbstractAnimation.Direction)">
            <summary>
            <para>This virtual function is called by QAbstractAnimation when the direction of the animation is changed. The direction argument is the new direction.</para>
            <para>See also setDirection() and direction().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractAnimation.UpdateState(QtCore.QAbstractAnimation.State,QtCore.QAbstractAnimation.State)">
            <summary>
            <para>This virtual function is called by QAbstractAnimation when the state of the animation is changed from oldState to newState.</para>
            <para>See also start(), stop(), pause(), and resume().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractAnimation.Finalize">
            <summary>
            <para>Stops the animation if it's running, then destroys the QAbstractAnimation. If the animation is part of a QAnimationGroup, it is automatically removed before it's destroyed.</para>
            </summary>
        </member>
        <member name="E:QtCore.QAbstractAnimation.Finished">
            <summary>
            <para>QAbstractAnimation emits this signal after the animation has stopped and has reached the end.</para>
            <para>This signal is emitted after stateChanged().</para>
            <para>See also stateChanged().</para>
            </summary>
        </member>
        <member name="E:QtCore.QAbstractAnimation.StateChanged">
            <summary>
            <para>QAbstractAnimation emits this signal whenever the state of the animation has changed from oldState to newState. This signal is emitted after the virtual updateState() function is called.</para>
            <para>See also updateState().</para>
            </summary>
        </member>
        <member name="E:QtCore.QAbstractAnimation.CurrentLoopChanged">
            <summary>
            <para>QAbstractAnimation emits this signal whenever the current loop changes. currentLoop is the current loop.</para>
            <para>See also currentLoop() and loopCount().</para>
            </summary>
        </member>
        <member name="E:QtCore.QAbstractAnimation.DirectionChanged">
            <summary>
            <para>QAbstractAnimation emits this signal whenever the direction has been changed. newDirection is the new direction.</para>
            <para>See also direction.</para>
            </summary>
        </member>
        <member name="P:QtCore.QAbstractAnimation.state">
            <summary>
            <para>This property holds state of the animation.</para>
            <para>This property describes the current state of the animation. When the animation state changes, QAbstractAnimation emits the stateChanged() signal.</para>
            </summary>
        </member>
        <member name="P:QtCore.QAbstractAnimation.LoopCount">
            <summary>
            <para>This property holds the loop count of the animation.</para>
            <para>This property describes the loop count of the animation as an integer. By default this value is 1, indicating that the animation should run once only, and then stop. By changing it you can let the animation loop several times. With a value of 0, the animation will not run at all, and with a value of -1, the animation will loop forever until stopped. It is not supported to have loop on an animation that has an undefined duration. It will only run once.</para>
            </summary>
        </member>
        <member name="P:QtCore.QAbstractAnimation.CurrentTime">
            <summary>
            <para>This property holds the current time and progress of the animation.</para>
            <para>This property describes the animation's current time. You can change the current time by calling setCurrentTime, or you can call start() and let the animation run, setting the current time automatically as the animation progresses.</para>
            <para>The animation's current time starts at 0, and ends at totalDuration().</para>
            </summary>
        </member>
        <member name="P:QtCore.QAbstractAnimation.CurrentLoop">
            <summary>
            <para>This property holds the current loop of the animation.</para>
            <para>This property describes the current loop of the animation. By default, the animation's loop count is 1, and so the current loop will always be 0. If the loop count is 2 and the animation runs past its duration, it will automatically rewind and restart at current time 0, and current loop 1, and so on.</para>
            <para>When the current loop changes, QAbstractAnimation emits the currentLoopChanged() signal.</para>
            </summary>
        </member>
        <member name="P:QtCore.QAbstractAnimation.direction">
            <summary>
            <para>This property holds the direction of the animation when it is in Running state.</para>
            <para>This direction indicates whether the time moves from 0 towards the animation duration, or from the value of the duration and towards 0 after start() has been called.</para>
            <para>By default, this property is set to Forward.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractAnimation.DeletionPolicy.DeleteWhenStopped">
            <summary>
            <para>The animation will be automatically deleted when stopped.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractAnimation.DeletionPolicy.KeepWhenStopped">
            <summary>
            <para>The animation will not be deleted when stopped.</para>
            </summary>
        </member>
        <member name="T:QtCore.QAbstractAnimation.Direction">
            <summary>
            <para>This enum describes the direction of the animation when in Running state.</para>
            <para>See also direction.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractAnimation.Direction.Backward">
            <summary>
            <para>The current time of the animation decreases with time (i.e., moves from the end / duration and towards 0).</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractAnimation.Direction.Forward">
            <summary>
            <para>The current time of the animation increases with time (i.e., moves from 0 and towards the end / duration).</para>
            </summary>
        </member>
        <member name="T:QtCore.QAbstractAnimation.State">
            <summary>
            <para>This enum describes the state of the animation.</para>
            <para>See also state() and stateChanged().</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractAnimation.State.Paused">
            <summary>
            <para>The animation is paused (i.e., temporarily suspended). Calling resume() will resume animation activity.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractAnimation.State.Running">
            <summary>
            <para>The animation is running. While control is in the event loop, QAbstractAnimation will update its current time at regular intervals, calling updateCurrentTime() when appropriate.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractAnimation.State.Stopped">
            <summary>
            <para>The animation is not running. This is the initial state of QAbstractAnimation, and the state QAbstractAnimation reenters when finished. The current time remain unchanged until either setCurrentTime() is called, or the animation is started by calling start().</para>
            </summary>
        </member>
        <member name="T:QtCore.QAbstractEventDispatcher">
            <summary>
            The QAbstractEventDispatcher class provides an interface to manage Qt's event queue.
            </summary>
            <remarks>
            <para></para>
            <para>An event dispatcher receives events from the window system and other sources. It then sends them to the QCoreApplication or QApplication instance for processing and delivery. QAbstractEventDispatcher provides fine-grained control over event delivery.</para>
            <para>For simple control of event processing use QCoreApplication::processEvents().</para>
            <para>For finer control of the application's event loop, call instance() and call functions on the QAbstractEventDispatcher object that is returned. If you want to use your own instance of QAbstractEventDispatcher or of a QAbstractEventDispatcher subclass, you must create your instance before you create the QApplication object.</para>
            <para>The main event loop is started by calling QCoreApplication::exec(), and stopped by calling QCoreApplication::exit(). Local event loops can be created using QEventLoop.</para>
            <para>Programs that perform long operations can call processEvents() with a bitwise OR combination of various QEventLoop::ProcessEventsFlag values to control which events should be delivered.</para>
            <para>QAbstractEventDispatcher also allows the integration of an external event loop with the Qt event loop. For example, the Motif Extension includes a reimplementation of QAbstractEventDispatcher that merges Qt and Motif events together.</para>
            <para></para>
            <para>See also QEventLoop and QCoreApplication.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QAbstractEventDispatcher.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs a new event dispatcher with the given parent.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractEventDispatcher.OnAboutToBlock">
            <summary>
            <para>This signal is emitted before the event loop calls a function that could block.</para>
            <para>See also awake().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractEventDispatcher.OnAwake">
            <summary>
            <para>This signal is emitted after the event loop returns from a function that could block.</para>
            <para>See also wakeUp() and aboutToBlock().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractEventDispatcher.Flush">
            <summary>
            <para>Flushes the event queue. This normally returns almost immediately. Does nothing on platforms other than X11.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractEventDispatcher.HasPendingEvents">
            <summary>
            <para>Returns true if there is an event waiting; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractEventDispatcher.Instance">
            <summary>
            <para>Returns a pointer to the event dispatcher object for the specified thread. If thread is zero, the current thread is used. If no event dispatcher exists for the specified thread, this function returns 0.</para>
            <para>Note: If Qt is built without thread support, the thread argument is ignored.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractEventDispatcher.Interrupt">
            <summary>
            <para>Interrupts event dispatching; i.e. the event dispatcher will return from processEvents() as soon as possible.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractEventDispatcher.ProcessEvents(QtCore.QEventLoop.ProcessEventsFlag)">
            <summary>
            <para>Processes pending events that match flags until there are no more events to process. Returns true if an event was processed; otherwise returns false.</para>
            <para>This function is especially useful if you have a long running operation and want to show its progress without allowing user input; i.e. by using the QEventLoop::ExcludeUserInputEvents flag.</para>
            <para>If the QEventLoop::WaitForMoreEvents flag is set in flags, the behavior of this function is as follows:</para>
            <para></para>
            <para>If events are available, this function returns after processing them.</para>
            <para>If no events are available, this function will wait until more are available and return after processing newly available events.</para>
            <para></para>
            <para>If the QEventLoop::WaitForMoreEvents flag is not set in flags, and no events are available, this function will return immediately.</para>
            <para>Note: This function does not process events continuously; it returns after all available events are processed.</para>
            <para>See also hasPendingEvents().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractEventDispatcher.RegisterSocketNotifier(QtCore.QSocketNotifier)">
            <summary>
            <para>Registers notifier with the event loop. Subclasses must implement this method to tie a socket notifier into another event loop.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractEventDispatcher.RegisterTimer(System.Int32,QtCore.QObject)">
            <summary>
            <para>Registers a timer with the specified interval for the given object.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractEventDispatcher.RegisterTimer(System.Int32,System.Int32,QtCore.QObject)">
            <summary>
            <para>Register a timer with the specified timerId and interval for the given object.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractEventDispatcher.SetEventFilter(System.Boolean)">
            <summary>
            <para>Replaces the event filter function for this QAbstractEventDispatcher with filter and returns the replaced event filter function. Only the current event filter function is called. If you want to use both filter functions, save the replaced EventFilter in a place where yours can call it.</para>
            <para>The event filter function set here is called for all messages taken from the system event loop before the event is dispatched to the respective target, including the messages not meant for Qt objects.</para>
            <para>The event filter function should return true if the message should be filtered, (i.e. stopped). It should return false to allow processing the message to continue.</para>
            <para>By default, no event filter function is set (i.e., this function returns a null EventFilter the first time it is called).</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractEventDispatcher.UnregisterSocketNotifier(QtCore.QSocketNotifier)">
            <summary>
            <para>Unregisters notifier from the event dispatcher. Subclasses must reimplement this method to tie a socket notifier into another event loop. Reimplementations must call the base implementation.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractEventDispatcher.UnregisterTimer(System.Int32)">
            <summary>
            <para>Unregisters the timer with the given timerId. Returns true if successful; otherwise returns false.</para>
            <para>See also registerTimer() and unregisterTimers().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractEventDispatcher.UnregisterTimers(QtCore.QObject)">
            <summary>
            <para>Unregisters all the timers associated with the given object. Returns true if all timers were successful removed; otherwise returns false.</para>
            <para>See also unregisterTimer() and registeredTimers().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractEventDispatcher.WakeUp">
            <summary>
            <para>Wakes up the event loop.</para>
            <para>Note: This function is thread-safe.</para>
            <para>See also awake().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractEventDispatcher.Finalize">
            <summary>
            <para>Destroys the event dispatcher.</para>
            </summary>
        </member>
        <member name="E:QtCore.QAbstractEventDispatcher.AboutToBlock">
            <summary>
            <para>This signal is emitted before the event loop calls a function that could block.</para>
            <para>See also awake().</para>
            </summary>
        </member>
        <member name="E:QtCore.QAbstractEventDispatcher.Awake">
            <summary>
            <para>This signal is emitted after the event loop returns from a function that could block.</para>
            <para>See also wakeUp() and aboutToBlock().</para>
            </summary>
        </member>
        <member name="T:QtCore.QAbstractFileEngine">
            <summary>
            The QAbstractFileEngine class provides an abstraction for accessing the filesystem.
            </summary>
            <remarks>
            <para></para>
            <para>The QDir, QFile, and QFileInfo classes all make use of a QAbstractFileEngine internally. If you create your own QAbstractFileEngine subclass (and register it with Qt by creating a QAbstractFileEngineHandler subclass), your file engine will be used when the path is one that your file engine handles.</para>
            <para>A QAbstractFileEngine refers to one file or one directory. If the referent is a file, the setFileName(), rename(), and remove() functions are applicable. If the referent is a directory the mkdir(), rmdir(), and entryList() functions are applicable. In all cases the caseSensitive(), isRelativePath(), fileFlags(), ownerId(), owner(), and fileTime() functions are applicable.</para>
            <para>A QAbstractFileEngine subclass can be created to do synchronous network I/O based file system operations, local file system operations, or to operate as a resource system to access file based resources.</para>
            <para></para>
            <para>See also QAbstractFileEngineHandler.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.#ctor">
            <summary>
            <para>Constructs a new QAbstractFileEngine that does not refer to any file or directory.</para>
            <para>See also setFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.AtEnd">
            <summary>
            <para>Returns true if the current position is at the end of the file; otherwise, returns false.</para>
            <para>This function bases its behavior on calling extension() with AtEndExtension. If the engine does not support this extension, false is returned.</para>
            <para>This function was introduced in Qt 4.3.</para>
            <para>See also extension(), supportsExtension(), and QFile::atEnd().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.BeginEntryList(QtCore.QDir.Filter,System.Collections.Generic.List{System.String})">
            <summary>
            <para>Returns an instance of a QAbstractFileEngineIterator using filters for entry filtering and filterNames for name filtering. This function is called by QDirIterator to initiate directory iteration.</para>
            <para>QDirIterator takes ownership of the returned instance, and deletes it when it's done.</para>
            <para>See also QDirIterator.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.CaseSensitive">
            <summary>
            <para>Should return true if the underlying file system is case-sensitive; otherwise return false.</para>
            <para>This virtual function must be reimplemented by all subclasses.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.Close">
            <summary>
            <para>Closes the file, returning true if successful; otherwise returns false.</para>
            <para>The default implementation always returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.Copy(System.String)">
            <summary>
            <para>Copies the contents of this file to a file with the name newName. Returns true on success; otherwise, false is returned.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.Create(System.String)">
            <summary>
            <para>Creates and returns a QAbstractFileEngine suitable for processing fileName.</para>
            <para>You should not need to call this function; use QFile, QFileInfo or QDir directly instead.</para>
            <para>If you reimplemnt this function, it should only return file engines that knows how to handle fileName; otherwise, it should return 0.</para>
            <para>See also QAbstractFileEngineHandler.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.EntryList(QtCore.QDir.Filter,System.Collections.Generic.List{System.String})">
            <summary>
            <para>Requests that a list of all the files matching the filters list based on the filterNames in the file engine's directory are returned.</para>
            <para>Should return an empty list if the file engine refers to a file rather than a directory, or if the directory is unreadable or does not exist or if nothing matches the specifications.</para>
            <para>This virtual function must be reimplemented by all subclasses.</para>
            <para>See also setFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.Error">
            <summary>
            <para>Returns the QFile::FileError that resulted from the last failed operation. If QFile::UnspecifiedError is returned, QFile will use its own idea of the error status.</para>
            <para>See also setError(), QFile::FileError, and errorString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.ErrorString">
            <summary>
            <para>Returns the human-readable message appropriate to the current error reported by error(). If no suitable string is available, an empty string is returned.</para>
            <para>See also error().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.extension(QtCore.QAbstractFileEngine.Extension)">
            <summary>
            <para>This virtual function can be reimplemented in a QAbstractFileEngine subclass to provide support for extensions. The option argument is provided as input to the extension, and this function can store output results in output.</para>
            <para>The behavior of this function is determined by extension; see the Extension documentation for details.</para>
            <para>You can call supportsExtension() to check if an extension is supported by the file engine.</para>
            <para>By default, no extensions are supported, and this function returns false.</para>
            <para>This function was introduced in Qt 4.3.</para>
            <para>See also supportsExtension() and Extension.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.extension(QtCore.QAbstractFileEngine.Extension,QtCore.QAbstractFileEngine.ExtensionOption)">
            <summary>
            <para>This virtual function can be reimplemented in a QAbstractFileEngine subclass to provide support for extensions. The option argument is provided as input to the extension, and this function can store output results in output.</para>
            <para>The behavior of this function is determined by extension; see the Extension documentation for details.</para>
            <para>You can call supportsExtension() to check if an extension is supported by the file engine.</para>
            <para>By default, no extensions are supported, and this function returns false.</para>
            <para>This function was introduced in Qt 4.3.</para>
            <para>See also supportsExtension() and Extension.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.extension(QtCore.QAbstractFileEngine.Extension,QtCore.QAbstractFileEngine.ExtensionOption,QtCore.QAbstractFileEngine.ExtensionReturn)">
            <summary>
            <para>This virtual function can be reimplemented in a QAbstractFileEngine subclass to provide support for extensions. The option argument is provided as input to the extension, and this function can store output results in output.</para>
            <para>The behavior of this function is determined by extension; see the Extension documentation for details.</para>
            <para>You can call supportsExtension() to check if an extension is supported by the file engine.</para>
            <para>By default, no extensions are supported, and this function returns false.</para>
            <para>This function was introduced in Qt 4.3.</para>
            <para>See also supportsExtension() and Extension.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.FileFlags(QtCore.QAbstractFileEngine.FileFlag)">
            <summary>
            <para>This function should return the set of OR'd flags that are true for the file engine's file, and that are in the type's OR'd members.</para>
            <para>In your reimplementation you can use the type argument as an optimization hint and only return the OR'd set of members that are true and that match those in type; in other words you can ignore any members not mentioned in type, thus avoiding some potentially expensive lookups or system calls.</para>
            <para>This virtual function must be reimplemented by all subclasses.</para>
            <para>See also setFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.fileName">
            <summary>
            <para>Return the file engine's current file name in the format specified by file.</para>
            <para>If you don't handle some FileName possibilities, return the file name set in setFileName() when an unhandled format is requested.</para>
            <para>This virtual function must be reimplemented by all subclasses.</para>
            <para>See also setFileName() and FileName.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.fileName(QtCore.QAbstractFileEngine.FileName)">
            <summary>
            <para>Return the file engine's current file name in the format specified by file.</para>
            <para>If you don't handle some FileName possibilities, return the file name set in setFileName() when an unhandled format is requested.</para>
            <para>This virtual function must be reimplemented by all subclasses.</para>
            <para>See also setFileName() and FileName.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.fileTime(QtCore.QAbstractFileEngine.FileTime)">
            <summary>
            <para>If time is CreationTime, return when the file was created. If time is ModificationTime, return when the file was most recently modified. If time is AccessTime, return when the file was most recently accessed (e.g. read or written). If the time cannot be determined return QDateTime() (an invalid date time).</para>
            <para>This virtual function must be reimplemented by all subclasses.</para>
            <para>See also setFileName(), QDateTime, QDateTime::isValid(), and FileTime.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.Flush">
            <summary>
            <para>Flushes the open file, returning true if successful; otherwise returns false.</para>
            <para>The default implementation always returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.Handle">
            <summary>
            <para>Returns the native file handle for this file engine. This handle must be used with care; its value and type are platform specific, and using it will most likely lead to non-portable code.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.IsRelativePath">
            <summary>
            <para>Return true if the file referred to by this file engine has a relative path; otherwise return false.</para>
            <para>This virtual function must be reimplemented by all subclasses.</para>
            <para>See also setFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.IsSequential">
            <summary>
            <para>Returns true if the file is a sequential access device; returns false if the file is a direct access device.</para>
            <para>Operations involving size() and seek(int) are not valid on sequential devices.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.Link(System.String)">
            <summary>
            <para>Creates a link from the file currently specified by fileName() to newName. What a link is depends on the underlying filesystem (be it a shortcut on Windows or a symbolic link on Unix). Returns true if successful; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.Map(System.Int64,System.Int64,QtCore.QFile.MemoryMapFlags)">
            <summary>
            <para>Maps size bytes of the file into memory starting at offset. Returns a pointer to the memory if successful; otherwise returns false if, for example, an error occurs.</para>
            <para>This function bases its behavior on calling extension() with MapExtensionOption. If the engine does not support this extension, 0 is returned.</para>
            <para>flags is currently not used, but could be used in the future.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also unmap() and supportsExtension().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.Mkdir(System.String,System.Boolean)">
            <summary>
            <para>Requests that the directory dirName be created. If createParentDirectories is true, then any sub-directories in dirName that don't exist must be created. If createParentDirectories is false then any sub-directories in dirName must already exist for the function to succeed. If the operation succeeds return true; otherwise return false.</para>
            <para>This virtual function must be reimplemented by all subclasses.</para>
            <para>See also setFileName(), rmdir(), and isRelativePath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.Open(QtCore.QIODevice.OpenModeFlag)">
            <summary>
            <para>Opens the file in the specified mode. Returns true if the file was successfully opened; otherwise returns false.</para>
            <para>The mode is an OR combination of QIODevice::OpenMode and QIODevice::HandlingMode values.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.Owner(QtCore.QAbstractFileEngine.FileOwner)">
            <summary>
            <para>If owner is OwnerUser return the name of the user who owns the file. If owner is OwnerGroup return the name of the group that own the file. If you can't determine the owner return QString().</para>
            <para>This virtual function must be reimplemented by all subclasses.</para>
            <para>See also ownerId(), setFileName(), and FileOwner.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.OwnerId(QtCore.QAbstractFileEngine.FileOwner)">
            <summary>
            <para>If owner is OwnerUser return the ID of the user who owns the file. If owner is OwnerGroup return the ID of the group that own the file. If you can't determine the owner return -2.</para>
            <para>This virtual function must be reimplemented by all subclasses.</para>
            <para>See also owner(), setFileName(), and FileOwner.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.Pos">
            <summary>
            <para>Returns the current file position.</para>
            <para>This is the position of the data read/write head of the file.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.Read(QtCore.Pointer{System.SByte},System.Int64)">
            <summary>
            <para>Reads a number of characters from the file into data. At most maxlen characters will be read.</para>
            <para>Returns -1 if a fatal error occurs, or 0 if there are no bytes to read.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.ReadLine(QtCore.Pointer{System.SByte},System.Int64)">
            <summary>
            <para>This function reads one line, terminated by a '\n' character, from the file info data. At most maxlen characters will be read. The end-of-line character is included.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.Remove">
            <summary>
            <para>Requests that the file is deleted from the file system. If the operation succeeds return true; otherwise return false.</para>
            <para>This virtual function must be reimplemented by all subclasses.</para>
            <para>See also setFileName() and rmdir().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.Rename(System.String)">
            <summary>
            <para>Requests that the file be renamed to newName in the file system. If the operation succeeds return true; otherwise return false.</para>
            <para>This virtual function must be reimplemented by all subclasses.</para>
            <para>See also setFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.Rmdir(System.String,System.Boolean)">
            <summary>
            <para>Requests that the directory dirName is deleted from the file system. When recurseParentDirectories is true, then any empty parent-directories in dirName must also be deleted. If recurseParentDirectories is false, only the dirName leaf-node should be deleted. In most file systems a directory cannot be deleted using this function if it is non-empty. If the operation succeeds return true; otherwise return false.</para>
            <para>This virtual function must be reimplemented by all subclasses.</para>
            <para>See also setFileName(), remove(), mkdir(), and isRelativePath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.Seek(System.Int64)">
            <summary>
            <para>Sets the file position to the given offset. Returns true if the position was successfully set; otherwise returns false.</para>
            <para>The offset is from the beginning of the file, unless the file is sequential.</para>
            <para>See also isSequential().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.SetError(QtCore.QFile.FileError,System.String)">
            <summary>
            <para>Sets the error type to error, and the error string to errorString. Call this function to set the error values returned by the higher-level classes.</para>
            <para>See also QFile::error(), QIODevice::errorString(), and QIODevice::setErrorString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.SetFileName(System.String)">
            <summary>
            <para>Sets the file engine's file name to file. This file name is the file that the rest of the virtual functions will operate on.</para>
            <para>This virtual function must be reimplemented by all subclasses.</para>
            <para>See also fileName() and rename().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.SetPermissions(System.UInt32)">
            <summary>
            <para>Requests that the file's permissions be set to perms. The argument perms will be set to the OR-ed together combination of QAbstractFileEngine::FileInfo, with only the QAbstractFileEngine::PermsMask being honored. If the operations succceeds return true; otherwise return false;</para>
            <para>This virtual function must be reimplemented by all subclasses.</para>
            <para>See also size().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.SetSize(System.Int64)">
            <summary>
            <para>Requests that the file be set to size size. If size is larger than the current file then it is filled with 0's, if smaller it is simply truncated. If the operations succceeds return true; otherwise return false;</para>
            <para>This virtual function must be reimplemented by all subclasses.</para>
            <para>See also size().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.Size">
            <summary>
            <para>Returns the size of the file.</para>
            <para>See also setSize().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.SupportsExtension(QtCore.QAbstractFileEngine.Extension)">
            <summary>
            <para>This virtual function returns true if the file engine supports extension; otherwise, false is returned. By default, no extensions are supported.</para>
            <para>This function was introduced in Qt 4.3.</para>
            <para>See also extension().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.Unmap(QtCore.Pointer{System.Byte})">
            <summary>
            <para>Unmaps the memory address. Returns true if the unmap succeeds; otherwise returns false.</para>
            <para>This function bases its behavior on calling extension() with UnMapExtensionOption. If the engine does not support this extension, false is returned.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also map() and supportsExtension().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.Write(System.String,System.Int64)">
            <summary>
            <para>Writes len bytes from data to the file. Returns the number of characters written on success; otherwise returns -1.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngine.Finalize">
            <summary>
            <para>Destroys the QAbstractFileEngine.</para>
            </summary>
        </member>
        <member name="T:QtCore.QAbstractFileEngine.Extension">
            <summary>
            <para>This enum describes the types of extensions that the file engine can support. Before using these extensions, you must verify that the extension is supported (i.e., call supportsExtension()).</para>
            <para>This enum was introduced or modified in Qt 4.3.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.Extension.AtEndExtension">
            <summary>
            <para>Whether the current file position is at the end of the file or not. This extension allows file engines that implement local buffering to report end-of-file status without having to check the size of the file. It is also useful for sequential files, where the size of the file cannot be used to determine whether or not you have reached the end. This extension returns true if the file is at the end; otherwise it returns false. The input and output arguments to extension() are ignored.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.Extension.FastReadLineExtension">
            <summary>
            <para>Whether the file engine provides a fast implementation for readLine() or not. If readLine() remains unimplemented in the file engine, QAbstractFileEngine will provide an implementation based on calling read() repeatedly. If supportsExtension() returns false for this extension, however, QIODevice can provide a faster implementation by making use of its internal buffer. For engines that already provide a fast readLine() implementation, returning false for this extension can avoid unnnecessary double-buffering in QIODevice.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.Extension.MapExtension">
            <summary>
            <para>Whether the file engine provides the ability to map a file to memory.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.Extension.UnMapExtension">
            <summary>
            <para>Whether the file engine provides the ability to unmap memory that was previously mapped.</para>
            </summary>
        </member>
        <member name="T:QtCore.QAbstractFileEngine.FileFlag">
            <summary>
            <para>The permissions and types of a file, suitable for OR'ing together.</para>
            <para></para>
            <para>See also fileFlags() and setFileName().</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileFlag.BundleType">
            <summary>
            <para>The file is a Mac OS X bundle implies DirectoryType</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileFlag.DirectoryType">
            <summary>
            <para>The file is a directory in the file system (i.e. not a link or file).</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileFlag.ExeGroupPerm">
            <summary>
            <para>Members of the current user's group have permission to execute the file.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileFlag.ExeOtherPerm">
            <summary>
            <para>All users have permission to execute the file.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileFlag.ExeOwnerPerm">
            <summary>
            <para>The owner of the file has permission to execute it.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileFlag.ExeUserPerm">
            <summary>
            <para>The current user has permission to execute the file.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileFlag.ExistsFlag">
            <summary>
            <para>The file actually exists in the file system.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileFlag.FileType">
            <summary>
            <para>The file is a regular file to the file system (i.e. not a link or directory)</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileFlag.HiddenFlag">
            <summary>
            <para>The file is hidden.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileFlag.LinkType">
            <summary>
            <para>The file is a link to another file (or link) in the file system (i.e. not a file or directory).</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileFlag.LocalDiskFlag">
            <summary>
            <para>The file resides on the local disk and can be passed to standard file functions.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileFlag.ReadGroupPerm">
            <summary>
            <para>Members of the current user's group have permission to read the file.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileFlag.ReadOtherPerm">
            <summary>
            <para>All users have permission to read the file.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileFlag.ReadOwnerPerm">
            <summary>
            <para>The owner of the file has permission to read it.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileFlag.ReadUserPerm">
            <summary>
            <para>The current user has permission to read the file.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileFlag.Refresh">
            <summary>
            <para>Passing this flag will force the file engine to refresh all flags.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileFlag.RootFlag">
            <summary>
            <para>The file or the file pointed to is the root of the filesystem.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileFlag.WriteGroupPerm">
            <summary>
            <para>Members of the current user's group have permission to write to the file.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileFlag.WriteOtherPerm">
            <summary>
            <para>All users have permission to write to the file.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileFlag.WriteOwnerPerm">
            <summary>
            <para>The owner of the file has permission to write to it.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileFlag.WriteUserPerm">
            <summary>
            <para>The current user has permission to write to the file.</para>
            </summary>
        </member>
        <member name="T:QtCore.QAbstractFileEngine.FileName">
            <summary>
            <para>These values are used to request a file name in a particular format.</para>
            <para>See also fileName() and setFileName().</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileName.AbsoluteName">
            <summary>
            <para>The absolute path to the file (including the base name).</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileName.AbsolutePathName">
            <summary>
            <para>The absolute path to the file (excluding the base name).</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileName.BaseName">
            <summary>
            <para>The name of the file excluding the path.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileName.BundleName">
            <summary>
            <para>Returns the name of the bundle implies BundleType is set.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileName.CanonicalName">
            <summary>
            <para>Often very similar to LinkName. Will return the true path to the file.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileName.CanonicalPathName">
            <summary>
            <para>Same as CanonicalName, excluding the base name.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileName.DefaultName">
            <summary>
            <para>The same filename that was passed to the QAbstractFileEngine.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileName.LinkName">
            <summary>
            <para>The full file name of the file that this file is a link to. (This will be empty if this file is not a link.)</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileName.PathName">
            <summary>
            <para>The path to the file excluding the base name.</para>
            </summary>
        </member>
        <member name="T:QtCore.QAbstractFileEngine.FileOwner">
            <summary>
            <para>See also owner(), ownerId(), and setFileName().</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileOwner.OwnerGroup">
            <summary>
            <para>The group who owns the file.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileOwner.OwnerUser">
            <summary>
            <para>The user who owns the file.</para>
            </summary>
        </member>
        <member name="T:QtCore.QAbstractFileEngine.FileTime">
            <summary>
            <para>These are used by the fileTime() function.</para>
            <para>See also setFileName().</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileTime.AccessTime">
            <summary>
            <para>When the file was most recently accessed (e.g. read or written to).</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileTime.CreationTime">
            <summary>
            <para>When the file was created.</para>
            </summary>
        </member>
        <member name="F:QtCore.QAbstractFileEngine.FileTime.ModificationTime">
            <summary>
            <para>When the file was most recently modified.</para>
            </summary>
        </member>
        <member name="T:QtCore.QAbstractFileEngineHandler">
            <summary>
            The QAbstractFileEngineHandler class provides a way to register custom file engines with your application.
            </summary>
            <remarks>
            <para></para>
            <para>QAbstractFileEngineHandler is a factory for creating QAbstractFileEngine objects (file engines), which are used internally by QFile, QFileInfo, and QDir when working with files and directories.</para>
            <para>When you open a file, Qt chooses a suitable file engine by passing the file name from QFile or QDir through an internal list of registered file engine handlers. The first handler to recognize the file name is used to create the engine. Qt provides internal file engines for working with regular files and resources, but you can also register your own QAbstractFileEngine subclasses.</para>
            <para>To install an application-specific file engine, you subclass QAbstractFileEngineHandler and reimplement create(). When you instantiate the handler (e.g. by creating an instance on the stack or on the heap), it will automatically register with Qt. (The latest registered handler takes precedence over existing handlers.)</para>
            <para>For example:</para>
            <para> class ZipEngineHandler : public QAbstractFileEngineHandler</para>
            <para> {</para>
            <para> public:</para>
            <para>     QAbstractFileEngine *create(const QString &amp;amp;fileName) const;</para>
            <para> };</para>
            <para></para>
            <para> QAbstractFileEngine *ZipEngineHandler::create(const QString &amp;amp;fileName) const</para>
            <para> {</para>
            <para>     // ZipEngineHandler returns a ZipEngine for all .zip files</para>
            <para>     return fileName.toLower().endsWith(&amp;quot;.zip&amp;quot;) ? new ZipEngine(fileName) : 0;</para>
            <para> }</para>
            <para></para>
            <para> int main(int argc, char **argv)</para>
            <para> {</para>
            <para>     QApplication app(argc, argv);</para>
            <para></para>
            <para>     ZipEngineHandler engine;</para>
            <para></para>
            <para>     MainWindow window;</para>
            <para>     window.show();</para>
            <para></para>
            <para>     return app.exec();</para>
            <para> }</para>
            <para>When the handler is destroyed, it is automatically removed from Qt.</para>
            <para>The most common approach to registering a handler is to create an instance as part of the start-up phase of your application. It is also possible to limit the scope of the file engine handler to a particular area of interest (e.g. a special file dialog that needs a custom file engine). By creating the handler inside a local scope, you can precisely control the area in which your engine will be applied without disturbing file operations in other parts of your application.</para>
            <para></para>
            <para>See also QAbstractFileEngine and QAbstractFileEngine::create().</para>
            </remarks>
        </member>
        <member name="M:QtCore.QAbstractFileEngineHandler.#ctor">
            <summary>
            <para>Constructs a file handler and registers it with Qt. Once created this handler's create() function will be called (along with all the other handlers) for any paths used. The most recently created handler that recognizes the given path (i.e. that returns a QAbstractFileEngine) is used for the new path.</para>
            <para>See also create().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngineHandler.#ctor(QtCore.QAbstractFileEngineHandler)">
            <summary>
            <para>Constructs a file handler and registers it with Qt. Once created this handler's create() function will be called (along with all the other handlers) for any paths used. The most recently created handler that recognizes the given path (i.e. that returns a QAbstractFileEngine) is used for the new path.</para>
            <para>See also create().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngineHandler.Create(System.String)">
            <summary>
            <para>Creates a file engine for file fileName. Returns 0 if this file handler cannot handle fileName.</para>
            <para>Example:</para>
            <para> QAbstractSocketEngine *ZipEngineHandler::create(const QString &amp;fileName) const</para>
            <para> {</para>
            <para>     // ZipEngineHandler returns a ZipEngine for all .zip files</para>
            <para>     return fileName.toLower().endsWith(&quot;.zip&quot;) ? new ZipEngine(fileName) : 0;</para>
            <para> }</para>
            <para>See also QAbstractFileEngine::create().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngineHandler.Finalize">
            <summary>
            <para>Destroys the file handler. This will automatically unregister the handler from Qt.</para>
            </summary>
        </member>
        <member name="T:QtCore.QAbstractFileEngineIterator">
            <summary>
            The QAbstractFileEngineIterator class provides an iterator interface for custom file engines.
            </summary>
            <remarks>
            <para></para>
            <para>If all you want is to iterate over entries in a directory, see QDirIterator instead. This class is only for custom file engine authors.</para>
            <para>QAbstractFileEngineIterator is a unidirectional single-use virtual iterator that plugs into QDirIterator, providing transparent proxy iteration for custom file engines.</para>
            <para>You can subclass QAbstractFileEngineIterator to provide an iterator when writing your own file engine. To plug the iterator into your file system, you simply return an instance of this subclass from a reimplementation of QAbstractFileEngine::beginEntryList().</para>
            <para>Example:</para>
            <para> QAbstractFileEngineIterator *</para>
            <para> CustomFileEngine::beginEntryList(QDir::Filters filters, const QStringList &amp;amp;filterNames)</para>
            <para> {</para>
            <para>     return new CustomFileEngineIterator(filters, filterNames);</para>
            <para> }</para>
            <para>QAbstractFileEngineIterator is associated with a path, name filters, and entry filters. The path is the directory that the iterator lists entries in. The name filters and entry filters are provided for file engines that can optimize directory listing at the iterator level (e.g., network file systems that need to minimize network traffic), but they can also be ignored by the iterator subclass; QAbstractFileEngineIterator already provides the required filtering logics in the matchesFilters() function. You can call dirName() to get the directory name, nameFilters() to get a stringlist of name filters, and filters() to get the entry filters.</para>
            <para>The pure virtual function hasNext() returns true if the current directory has at least one more entry (i.e., the directory name is valid and accessible, and we have not reached the end of the entry list), and false otherwise. Reimplement next() to seek to the next entry.</para>
            <para>The pure virtual function currentFileName() returns the name of the current entry without advancing the iterator. The currentFilePath() function is provided for convenience; it returns the full path of the current entry.</para>
            <para>Here is an example of how to implement an iterator that returns each of three fixed entries in sequence.</para>
            <para> class CustomIterator : public QAbstractFileEngineIterator</para>
            <para> {</para>
            <para> public:</para>
            <para>     CustomIterator(const QStringList &amp;amp;nameFilters, QDir::Filters filters)</para>
            <para>         : QAbstractFileEngineIterator(nameFilters, filters), index(0)</para>
            <para>     {</para>
            <para>         // In a real iterator, these entries are fetched from the</para>
            <para>         // file system based on the value of path().</para>
            <para>         entries &amp;lt;&amp;lt; &amp;quot;entry1&amp;quot; &amp;lt;&amp;lt; &amp;quot;entry2&amp;quot; &amp;lt;&amp;lt; &amp;quot;entry3&amp;quot;;</para>
            <para>     }</para>
            <para></para>
            <para>     bool hasNext() const</para>
            <para>     {</para>
            <para>         return index &amp;lt; entries.size() - 1;</para>
            <para>     }</para>
            <para></para>
            <para>     QString next()</para>
            <para>     {</para>
            <para>        if (!hasNext())</para>
            <para>            return QString();</para>
            <para>        ++index;</para>
            <para>        return currentFilePath();</para>
            <para>     }</para>
            <para></para>
            <para>     QString currentFileName()</para>
            <para>     {</para>
            <para>         return entries.at(index);</para>
            <para>     }</para>
            <para></para>
            <para> private:</para>
            <para>     QStringList entries;</para>
            <para>     int index;</para>
            <para> };</para>
            <para>Note: QAbstractFileEngineIterator does not deal with QDir::IteratorFlags; it simply returns entries for a single directory.</para>
            <para></para>
            <para>See also QDirIterator.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QAbstractFileEngineIterator.#ctor(QtCore.QDir.Filter,System.Collections.Generic.List{System.String})">
            <summary>
            <para>Constructs a QAbstractFileEngineIterator, using the entry filters filters, and wildcard name filters nameFilters.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngineIterator.CurrentFileInfo">
            <summary>
            <para>The virtual function returns a QFileInfo for the current directory entry. This function is provided for convenience. It can also be slightly faster than creating a QFileInfo object yourself, as the object returned by this function might contain cached information that QFileInfo otherwise would have to access through the file engine.</para>
            <para>See also currentFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngineIterator.CurrentFileName">
            <summary>
            <para>This pure virtual function returns the name of the current directory entry, excluding the path.</para>
            <para>See also currentFilePath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngineIterator.CurrentFilePath">
            <summary>
            <para>Returns the path to the current directory entry. It's the same as prepending path() to the return value of currentFileName().</para>
            <para>See also currentFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngineIterator.Filters">
            <summary>
            <para>Returns the entry filters for this iterator.</para>
            <para>See also QDir::filter(), nameFilters(), and path().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngineIterator.HasNext">
            <summary>
            <para>This pure virtual function returns true if there is at least one more entry in the current directory (i.e., the iterator path is valid and accessible, and the iterator has not reached the end of the entry list).</para>
            <para>See also QDirIterator::hasNext().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngineIterator.NameFilters">
            <summary>
            <para>Returns the name filters for this iterator.</para>
            <para>See also QDir::nameFilters(), filters(), and path().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngineIterator.Next">
            <summary>
            <para>This pure virtual function advances the iterator to the next directory entry, and returns the file path to the current entry.</para>
            <para>This function can optionally make use of nameFilters() and filters() to optimize its performance.</para>
            <para>Reimplement this function in a subclass to advance the iterator.</para>
            <para>See also QDirIterator::next().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngineIterator.Path">
            <summary>
            <para>Returns the path for this iterator. QDirIterator is responsible for assigning this path; it cannot change during the iterator's lifetime.</para>
            <para>See also nameFilters() and filters().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractFileEngineIterator.Finalize">
            <summary>
            <para>Destroys the QAbstractFileEngineIterator.</para>
            <para>See also QDirIterator.</para>
            </summary>
        </member>
        <member name="T:QtCore.QAbstractListModel">
            <summary>
            The QAbstractListModel class provides an abstract model that can be subclassed to create one-dimensional list models.
            </summary>
            <remarks>
            <para></para>
            <para>QAbstractListModel provides a standard interface for models that represent their data as a simple non-hierarchical sequence of items. It is not used directly, but must be subclassed.</para>
            <para>Since the model provides a more specialized interface than QAbstractItemModel, it is not suitable for use with tree views; you will need to subclass QAbstractItemModel if you want to provide a model for that purpose. If you need to use a number of list models to manage data, it may be more appropriate to subclass QAbstractTableModel class instead.</para>
            <para>Simple models can be created by subclassing this class and implementing the minimum number of required functions. For example, we could implement a simple read-only QStringList-based model that provides a list of strings to a QListView widget. In such a case, we only need to implement the rowCount() function to return the number of items in the list, and the data() function to retrieve items from the list.</para>
            <para>Since the model represents a one-dimensional structure, the rowCount() function returns the total number of items in the model. The columnCount() function is implemented for interoperability with all kinds of views, but by default informs views that the model contains only one column.</para>
            <para></para>
            <para>Subclassing</para>
            <para>When subclassing QAbstractListModel, you must provide implementations of the rowCount() and data() functions. Well behaved models also provide a headerData() implementation.</para>
            <para>For editable list models, you must also provide an implementation of setData(), implement the flags() function so that it returns a value containing Qt::ItemIsEditable.</para>
            <para>Note that QAbstractListModel provides a default implementation of columnCount() that informs views that there is only a single column of items in this model.</para>
            <para>Models that provide interfaces to resizable list-like data structures can provide implementations of insertRows() and removeRows(). When implementing these functions, it is important to call the appropriate functions so that all connected views are aware of any changes:</para>
            <para></para>
            <para>An insertRows() implementation must call beginInsertRows() before inserting new rows into the data structure, and it must call endInsertRows() immediately afterwards.</para>
            <para>A removeRows() implementation must call beginRemoveRows() before the rows are removed from the data structure, and it must call endRemoveRows() immediately afterwards.</para>
            <para></para>
            <para>Note: Some general guidelines for subclassing models are available in the Model Subclassing Reference.</para>
            <para></para>
            <para>See also Model Classes, Model Subclassing Reference, QAbstractItemView, QAbstractTableModel, and Item Views Puzzle Example.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QAbstractListModel.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs an abstract list model with the given parent.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractListModel.DropMimeData(QtCore.QMimeData,QtCore.Qt.DropAction,System.Int32,System.Int32,QtCore.QModelIndex)">
            <summary>
            <para>Reimplemented from QAbstractItemModel::dropMimeData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractListModel.Index(System.Int32,System.Int32)">
            <summary>
            <para>Reimplemented from QAbstractItemModel::index().</para>
            <para>Returns the index of the data in row and column with parent.</para>
            <para>See also parent().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractListModel.Index(System.Int32,System.Int32,QtCore.QModelIndex)">
            <summary>
            <para>Reimplemented from QAbstractItemModel::index().</para>
            <para>Returns the index of the data in row and column with parent.</para>
            <para>See also parent().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractListModel.Finalize">
            <summary>
            <para>Destroys the abstract list model.</para>
            </summary>
        </member>
        <member name="T:QtCore.QAbstractState">
            <summary>
            The QAbstractState class is the base class of states of a QStateMachine.
            </summary>
            <remarks>
            <para></para>
            <para>The QAbstractState class is the abstract base class of states that are part of a QStateMachine. It defines the interface that all state objects have in common. QAbstractState is part of The State Machine Framework.</para>
            <para>The entered() signal is emitted when the state has been entered. The exited() signal is emitted when the state has been exited.</para>
            <para>The parentState() function returns the state's parent state. The machine() function returns the state machine that the state is part of.</para>
            <para></para>
            <para>Subclassing</para>
            <para>The onEntry() function is called when the state is entered; reimplement this function to perform custom processing when the state is entered.</para>
            <para>The onExit() function is called when the state is exited; reimplement this function to perform custom processing when the state is exited.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QAbstractState.#ctor(QtCore.QState)">
            <summary>
            <para>Constructs a new state with the given parent state.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractState.OnEvent(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QObject::event().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractState.Machine">
            <summary>
            <para>Returns the state machine that this state is part of, or 0 if the state is not part of a state machine.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractState.OnEntry(QtCore.QEvent)">
            <summary>
            <para>This function is called when the state is entered. The given event is what caused the state to be entered. Reimplement this function to perform custom processing when the state is entered.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractState.OnExit(QtCore.QEvent)">
            <summary>
            <para>This function is called when the state is exited. The given event is what caused the state to be exited. Reimplement this function to perform custom processing when the state is exited.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractState.ParentState">
            <summary>
            <para>Returns this state's parent state, or 0 if the state has no parent state.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractState.Finalize">
            <summary>
            <para>Destroys this state.</para>
            </summary>
        </member>
        <member name="T:QtCore.QAbstractTableModel">
            <summary>
            The QAbstractTableModel class provides an abstract model that can be subclassed to create table models.
            </summary>
            <remarks>
            <para></para>
            <para>QAbstractTableModel provides a standard interface for models that represent their data as a two-dimensional array of items. It is not used directly, but must be subclassed.</para>
            <para>Since the model provides a more specialized interface than QAbstractItemModel, it is not suitable for use with tree views, although it can be used to provide data to a QListView. If you need to represent a simple list of items, and only need a model to contain a single column of data, subclassing the QAbstractListModel may be more appropriate.</para>
            <para>The rowCount() and columnCount() functions return the dimensions of the table. To retrieve a model index corresponding to an item in the model, use index() and provide only the row and column numbers.</para>
            <para></para>
            <para>Subclassing</para>
            <para>When subclassing QAbstractTableModel, you must implement rowCount(), columnCount(), and data(). Default implementations of the index() and parent() functions are provided by QAbstractTableModel. Well behaved models will also implement headerData().</para>
            <para>Editable models need to implement setData(), and implement flags() to return a value containing Qt::ItemIsEditable.</para>
            <para>Models that provide interfaces to resizable data structures can provide implementations of insertRows(), removeRows(), insertColumns(), and removeColumns(). When implementing these functions, it is important to call the appropriate functions so that all connected views are aware of any changes:</para>
            <para></para>
            <para>An insertRows() implementation must call beginInsertRows() before inserting new rows into the data structure, and it must call endInsertRows() immediately afterwards.</para>
            <para>An insertColumns() implementation must call beginInsertColumns() before inserting new columns into the data structure, and it must call endInsertColumns() immediately afterwards.</para>
            <para>A removeRows() implementation must call beginRemoveRows() before the rows are removed from the data structure, and it must call endRemoveRows() immediately afterwards.</para>
            <para>A removeColumns() implementation must call beginRemoveColumns() before the columns are removed from the data structure, and it must call endRemoveColumns() immediately afterwards.</para>
            <para></para>
            <para>Note: Some general guidelines for subclassing models are available in the Model Subclassing Reference.</para>
            <para>Note:</para>
            <para></para>
            <para>See also Model Classes, QAbstractItemModel, QAbstractListModel, and Pixelator Example.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QAbstractTableModel.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs an abstract table model for the given parent.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractTableModel.DropMimeData(QtCore.QMimeData,QtCore.Qt.DropAction,System.Int32,System.Int32,QtCore.QModelIndex)">
            <summary>
            <para>Reimplemented from QAbstractItemModel::dropMimeData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractTableModel.Index(System.Int32,System.Int32)">
            <summary>
            <para>Reimplemented from QAbstractItemModel::index().</para>
            <para>Returns the index of the data in row and column with parent.</para>
            <para>See also parent().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractTableModel.Index(System.Int32,System.Int32,QtCore.QModelIndex)">
            <summary>
            <para>Reimplemented from QAbstractItemModel::index().</para>
            <para>Returns the index of the data in row and column with parent.</para>
            <para>See also parent().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractTableModel.Finalize">
            <summary>
            <para>Destroys the abstract table model.</para>
            </summary>
        </member>
        <member name="T:QtCore.QAbstractTransition">
            <summary>
            The QAbstractTransition class is the base class of transitions between QAbstractState objects.
            </summary>
            <remarks>
            <para></para>
            <para>The QAbstractTransition class is the abstract base class of transitions between states (QAbstractState objects) of a QStateMachine. QAbstractTransition is part of The State Machine Framework.</para>
            <para>The sourceState() function returns the source of the transition. The targetStates() function returns the targets of the transition. The machine() function returns the state machine that the transition is part of.</para>
            <para>The triggered() signal is emitted when the transition has been triggered.</para>
            <para>Transitions can cause animations to be played. Use the addAnimation() function to add an animation to the transition.</para>
            <para></para>
            <para>Subclassing</para>
            <para>The eventTest() function is called by the state machine to determine whether an event should trigger the transition. In your reimplementation you typically check the event type and cast the event object to the proper type, and check that one or more properties of the event meet your criteria.</para>
            <para>The onTransition() function is called when the transition is triggered; reimplement this function to perform custom processing for the transition.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QAbstractTransition.#ctor(QtCore.QState)">
            <summary>
            <para>Constructs a new QAbstractTransition object with the given sourceState.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractTransition.AddAnimation(QtCore.QAbstractAnimation)">
            <summary>
            <para>Adds the given animation to this transition. The transition does not take ownership of the animation.</para>
            <para>See also removeAnimation() and animations().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractTransition.Animations">
            <summary>
            <para>Returns the list of animations associated with this transition, or an empty list if it has no animations.</para>
            <para>See also addAnimation().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractTransition.OnEvent(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QObject::event().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractTransition.EventTest(QtCore.QEvent)">
            <summary>
            <para>This function is called to determine whether the given event should cause this transition to trigger. Reimplement this function and return true if the event should trigger the transition, otherwise return false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractTransition.Machine">
            <summary>
            <para>Returns the state machine that this transition is part of, or 0 if the transition is not part of a state machine.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractTransition.OnTransition(QtCore.QEvent)">
            <summary>
            <para>This function is called when the transition is triggered. The given event is what caused the transition to trigger. Reimplement this function to perform custom processing when the transition is triggered.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractTransition.RemoveAnimation(QtCore.QAbstractAnimation)">
            <summary>
            <para>Removes the given animation from this transition.</para>
            <para>See also addAnimation().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAbstractTransition.Finalize">
            <summary>
            <para>Destroys this transition.</para>
            </summary>
        </member>
        <member name="T:QtCore.QAnimationGroup">
            <summary>
            The QAnimationGroup class is an abstract base class for groups of animations.
            </summary>
            <remarks>
            <para></para>
            <para>An animation group is a container for animations (subclasses of QAbstractAnimation). A group is usually responsible for managing the state of its animations, i.e., it decides when to start, stop, resume, and pause them. Currently, Qt provides two such groups: QParallelAnimationGroup and QSequentialAnimationGroup. Look up their class descriptions for details.</para>
            <para>Since QAnimationGroup inherits from QAbstractAnimation, you can combine groups, and easily construct complex animation graphs. You can query QAbstractAnimation for the group it belongs to (using the group() function).</para>
            <para>To start a top-level animation group, you simply use the start() function from QAbstractAnimation. By a top-level animation group, we think of a group that itself is not contained within another group. Starting sub groups directly is not supported, and may lead to unexpected behavior.</para>
            <para>QAnimationGroup provides methods for adding and retrieving animations. Besides that, you can remove animations by calling remove(), and clear the animation group by calling clear(). You may keep track of changes in the group's animations by listening to QEvent::ChildAdded and QEvent::ChildRemoved events.</para>
            <para>QAnimationGroup takes ownership of the animations it manages, and ensures that they are deleted when the animation group is deleted.</para>
            <para></para>
            <para>See also QAbstractAnimation, QVariantAnimation, and The Animation Framework.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QAnimationGroup.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs a QAnimationGroup. parent is passed to QObject's constructor.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAnimationGroup.AddAnimation(QtCore.QAbstractAnimation)">
            <summary>
            <para>Adds animation to this group. This will call insertAnimation with index equals to animationCount().</para>
            <para>Note: The group takes ownership of the animation.</para>
            <para>See also removeAnimation().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAnimationGroup.AnimationAt(System.Int32)">
            <summary>
            <para>Returns a pointer to the animation at index in this group. This function is useful when you need access to a particular animation. index is between 0 and animationCount() - 1.</para>
            <para>See also animationCount() and indexOfAnimation().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAnimationGroup.AnimationCount">
            <summary>
            <para>Returns the number of animations managed by this group.</para>
            <para>See also indexOfAnimation(), addAnimation(), and animationAt().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAnimationGroup.Clear">
            <summary>
            <para>Removes and deletes all animations in this animation group, and resets the current time to 0.</para>
            <para>See also addAnimation() and removeAnimation().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAnimationGroup.OnEvent(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QObject::event().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAnimationGroup.IndexOfAnimation(QtCore.QAbstractAnimation)">
            <summary>
            <para>Returns the index of animation. The returned index can be passed to the other functions that take an index as an argument.</para>
            <para>See also insertAnimation(), animationAt(), and takeAnimation().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAnimationGroup.InsertAnimation(System.Int32,QtCore.QAbstractAnimation)">
            <summary>
            <para>Inserts animation into this animation group at index. If index is 0 the animation is inserted at the beginning. If index is animationCount(), the animation is inserted at the end.</para>
            <para>Note: The group takes ownership of the animation.</para>
            <para>See also takeAnimation(), addAnimation(), indexOfAnimation(), and removeAnimation().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAnimationGroup.RemoveAnimation(QtCore.QAbstractAnimation)">
            <summary>
            <para>Removes animation from this group. The ownership of animation is transferred to the caller.</para>
            <para>See also takeAnimation(), insertAnimation(), and addAnimation().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAnimationGroup.TakeAnimation(System.Int32)">
            <summary>
            <para>Returns the animation at index and removes it from the animation group.</para>
            <para>Note: The ownership of the animation is transferred to the caller.</para>
            <para>See also removeAnimation(), addAnimation(), insertAnimation(), and indexOfAnimation().</para>
            </summary>
        </member>
        <member name="M:QtCore.QAnimationGroup.Finalize">
            <summary>
            <para>Destroys the animation group. It will also destroy all its animations.</para>
            </summary>
        </member>
        <member name="T:QtCore.QAtomicInt">
            <summary>
            The QAtomicInt class provides platform-independent atomic operations on integers.
            </summary>
            <remarks>
            <para></para>
            <para>For atomic operations on pointers, see the QAtomicPointer class.</para>
            <para>An atomic operation is a complex operation that completes without interruption. The QAtomicInt class provides atomic reference counting, test-and-set, fetch-and-store, and fetch-and-add for integers.</para>
            <para></para>
            <para>Non-atomic convenience operators</para>
            <para>For convenience, QAtomicInt provides integer comparison, cast, and assignment operators. Note that a combination of these operators is not an atomic operation.</para>
            <para></para>
            <para>The Atomic API</para>
            <para></para>
            <para>Reference counting</para>
            <para>The ref() and deref() functions provide an efficient reference counting API. The return value of these functions are used to indicate when the last reference has been released. These functions allow you to implement your own implicitly shared classes.</para>
            <para> MySharedType &amp;amp;MySharedType::operator=(const MySharedType &amp;amp;other)</para>
            <para> {</para>
            <para>     (void) other.data-&amp;gt;atomicInt.ref();</para>
            <para>     if (!data-&amp;gt;atomicInt.deref()) {</para>
            <para>         // The last reference has been released</para>
            <para>         delete d;</para>
            <para>     }</para>
            <para>     d = other.d;</para>
            <para>     return *this;</para>
            <para> }</para>
            <para></para>
            <para>Memory ordering</para>
            <para>QAtomicInt provides several implementations of the atomic test-and-set, fetch-and-store, and fetch-and-add functions. Each implementation defines a memory ordering semantic that describes how memory accesses surrounding the atomic instruction are executed by the processor. Since many modern architectures allow out-of-order execution and memory ordering, using the correct semantic is necessary to ensure that your application functions properly on all processors.</para>
            <para></para>
            <para>Relaxed - memory ordering is unspecified, leaving the compiler and processor to freely reorder memory accesses.</para>
            <para>Acquire - memory access following the atomic operation (in program order) may not be re-ordered before the atomic operation.</para>
            <para>Release - memory access before the atomic operation (in program order) may not be re-ordered after the atomic operation.</para>
            <para>Ordered - the same Acquire and Release semantics combined.</para>
            <para></para>
            <para></para>
            <para>Test-and-set</para>
            <para>If the current value of the QAtomicInt is an expected value, the test-and-set functions assign a new value to the QAtomicInt and return true. If values are not the same, these functions do nothing and return false. This operation equates to the following code:</para>
            <para> if (currentValue == expectedValue) {</para>
            <para>     currentValue = newValue;</para>
            <para>     return true;</para>
            <para> }</para>
            <para> return false;</para>
            <para>There are 4 test-and-set functions: testAndSetRelaxed(), testAndSetAcquire(), testAndSetRelease(), and testAndSetOrdered(). See above for an explanation of the different memory ordering semantics.</para>
            <para></para>
            <para>Fetch-and-store</para>
            <para>The atomic fetch-and-store functions read the current value of the QAtomicInt and then assign a new value, returning the original value. This operation equates to the following code:</para>
            <para> int originalValue = currentValue;</para>
            <para> currentValue = newValue;</para>
            <para> return originalValue;</para>
            <para>There are 4 fetch-and-store functions: fetchAndStoreRelaxed(), fetchAndStoreAcquire(), fetchAndStoreRelease(), and fetchAndStoreOrdered(). See above for an explanation of the different memory ordering semantics.</para>
            <para></para>
            <para>Fetch-and-add</para>
            <para>The atomic fetch-and-add functions read the current value of the QAtomicInt and then add the given value to the current value, returning the original value. This operation equates to the following code:</para>
            <para> int originalValue = currentValue;</para>
            <para> currentValue += valueToAdd;</para>
            <para> return originalValue;</para>
            <para>There are 4 fetch-and-add functions: fetchAndAddRelaxed(), fetchAndAddAcquire(), fetchAndAddRelease(), and fetchAndAddOrdered(). See above for an explanation of the different memory ordering semantics.</para>
            <para></para>
            <para>Feature Tests for the Atomic API</para>
            <para>Providing a platform-independent atomic API that works on all processors is challenging. The API provided by QAtomicInt is guaranteed to work atomically on all processors. However, since not all processors implement support for every operation provided by QAtomicInt, it is necessary to expose information about the processor.</para>
            <para>You can check at compile time which features are supported on your hardware using various macros. These will tell you if your hardware always, sometimes, or does not support a particular operation. The macros have the form Q_ATOMIC_INT_OPERATION_IS_HOW_NATIVE. OPERATION is one of REFERENCE_COUNTING, TEST_AND_SET, FETCH_AND_STORE, or FETCH_AND_ADD, and HOW is one of ALWAYS, SOMETIMES, or NOT. There will always be exactly one defined macro per operation. For example, if Q_ATOMIC_INT_REFERENCE_COUNTING_IS_ALWAYS_NATIVE is defined, neither Q_ATOMIC_INT_REFERENCE_COUNTING_IS_SOMETIMES_NATIVE nor Q_ATOMIC_INT_REFERENCE_COUNTING_IS_NOT_NATIVE will be defined.</para>
            <para>An operation that completes in constant time is said to be wait-free. Such operations are not implemented using locks or loops of any kind. For atomic operations that are always supported, and that are wait-free, Qt defines the Q_ATOMIC_INT_OPERATION_IS_WAIT_FREE in addition to the Q_ATOMIC_INT_OPERATION_IS_ALWAYS_NATIVE.</para>
            <para>In cases where an atomic operation is only supported in newer generations of the processor, QAtomicInt also provides a way to check at runtime what your hardware supports with the isReferenceCountingNative(), isTestAndSetNative(), isFetchAndStoreNative(), and isFetchAndAddNative() functions. Wait-free implementations can be detected using the isReferenceCountingWaitFree(), isTestAndSetWaitFree(), isFetchAndStoreWaitFree(), and isFetchAndAddWaitFree() functions.</para>
            <para>Below is a complete list of all feature macros for QAtomicInt:</para>
            <para></para>
            <para>Q_ATOMIC_INT_REFERENCE_COUNTING_IS_ALWAYS_NATIVE</para>
            <para>Q_ATOMIC_INT_REFERENCE_COUNTING_IS_SOMETIMES_NATIVE</para>
            <para>Q_ATOMIC_INT_REFERENCE_COUNTING_IS_NOT_NATIVE</para>
            <para>Q_ATOMIC_INT_REFERENCE_COUNTING_IS_WAIT_FREE</para>
            <para>Q_ATOMIC_INT_TEST_AND_SET_IS_ALWAYS_NATIVE</para>
            <para>Q_ATOMIC_INT_TEST_AND_SET_IS_SOMETIMES_NATIVE</para>
            <para>Q_ATOMIC_INT_TEST_AND_SET_IS_NOT_NATIVE</para>
            <para>Q_ATOMIC_INT_TEST_AND_SET_IS_WAIT_FREE</para>
            <para>Q_ATOMIC_INT_FETCH_AND_STORE_IS_ALWAYS_NATIVE</para>
            <para>Q_ATOMIC_INT_FETCH_AND_STORE_IS_SOMETIMES_NATIVE</para>
            <para>Q_ATOMIC_INT_FETCH_AND_STORE_IS_NOT_NATIVE</para>
            <para>Q_ATOMIC_INT_FETCH_AND_STORE_IS_WAIT_FREE</para>
            <para>Q_ATOMIC_INT_FETCH_AND_ADD_IS_ALWAYS_NATIVE</para>
            <para>Q_ATOMIC_INT_FETCH_AND_ADD_IS_SOMETIMES_NATIVE</para>
            <para>Q_ATOMIC_INT_FETCH_AND_ADD_IS_NOT_NATIVE</para>
            <para>Q_ATOMIC_INT_FETCH_AND_ADD_IS_WAIT_FREE</para>
            <para></para>
            <para></para>
            <para>See also QAtomicPointer.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QAtomicInt.#ctor(QtCore.QAtomicInt)">
            <summary>
            <para>Constructs a copy of other.</para>
            </summary>
        </member>
        <member name="M:QtCore.QAtomicInt.#ctor(System.Int32)">
            <summary>
            <para>Constructs a QAtomicInt with the given value.</para>
            </summary>
        </member>
        <member name="T:QtCore.QBasicTimer">
            <summary>
            The QBasicTimer class provides timer events for objects.
            </summary>
            <remarks>
            <para></para>
            <para>This is a fast, lightweight, and low-level class used by Qt internally. We recommend using the higher-level QTimer class rather than this class if you want to use timers in your applications. Note that this timer is a repeating timer that will send subsequent timer events unless the stop() function is called.</para>
            <para>To use this class, create a QBasicTimer, and call its start() function with a timeout interval and with a pointer to a QObject subclass. When the timer times out it will send a timer event to the QObject subclass. The timer can be stopped at any time using stop(). isActive() returns true for a timer that is running; i.e. it has been started, has not reached the timeout time, and has not been stopped. The timer's ID can be retrieved using timerId().</para>
            <para>The Wiggly example uses QBasicTimer to repaint a widget at regular intervals.</para>
            <para></para>
            <para>See also QTimer, QTimerEvent, QObject::timerEvent(), Timers, and Wiggly Example.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QBasicTimer.#ctor">
            <summary>
            <para>Contructs a basic timer.</para>
            <para>See also start().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBasicTimer.#ctor(QtCore.QBasicTimer)">
            <summary>
            <para>Contructs a basic timer.</para>
            <para>See also start().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBasicTimer.IsActive">
            <summary>
            <para>Returns true if the timer is running and has not been stopped; otherwise returns false.</para>
            <para>See also start() and stop().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBasicTimer.Start(System.Int32,QtCore.QObject)">
            <summary>
            <para>Starts (or restarts) the timer with a msec milliseconds timeout.</para>
            <para>The given object will receive timer events.</para>
            <para>See also stop(), isActive(), and QObject::timerEvent().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBasicTimer.Stop">
            <summary>
            <para>Stops the timer.</para>
            <para>See also start() and isActive().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBasicTimer.TimerId">
            <summary>
            <para>Returns the timer's ID.</para>
            <para>See also QTimerEvent::timerId().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBasicTimer.Finalize">
            <summary>
            <para>Destroys the basic timer.</para>
            </summary>
        </member>
        <member name="T:QtCore.QBitArray">
            <summary>
            The QBitArray class provides an array of bits.
            </summary>
            <remarks>
            <para></para>
            <para>A QBitArray is an array that gives access to individual bits and provides operators (AND, OR, XOR, and NOT) that work on entire arrays of bits. It uses implicit sharing (copy-on-write) to reduce memory usage and to avoid the needless copying of data.</para>
            <para>The following code constructs a QBitArray containing 200 bits initialized to false (0):</para>
            <para> QBitArray ba(200);</para>
            <para>To initialize the bits to true, either pass true as second argument to the constructor, or call fill() later on.</para>
            <para>QBitArray uses 0-based indexes, just like C++ arrays. To access the bit at a particular index position, you can use operator[](). On non-const bit arrays, operator[]() returns a reference to a bit that can be used on the left side of an assignment. For example:</para>
            <para> QBitArray ba;</para>
            <para> ba.resize(3);</para>
            <para> ba[0] = true;</para>
            <para> ba[1] = false;</para>
            <para> ba[2] = true;</para>
            <para>For technical reasons, it is more efficient to use testBit() and setBit() to access bits in the array than operator[](). For example:</para>
            <para> QBitArray ba(3);</para>
            <para> ba.setBit(0, true);</para>
            <para> ba.setBit(1, false);</para>
            <para> ba.setBit(2, true);</para>
            <para>QBitArray supports &amp;amp; (AND), | (OR), ^ (XOR), ~ (NOT), as well as &amp;amp;=, |=, and ^=. These operators work in the same way as the built-in C++ bitwise operators of the same name. For example:</para>
            <para> QBitArray x(5);</para>
            <para> x.setBit(3, true);</para>
            <para> // x: [ 0, 0, 0, 1, 0 ]</para>
            <para></para>
            <para> QBitArray y(5);</para>
            <para> y.setBit(4, true);</para>
            <para> // y: [ 0, 0, 0, 0, 1 ]</para>
            <para></para>
            <para> x |= y;</para>
            <para> // x: [ 0, 0, 0, 1, 1 ]</para>
            <para>For historical reasons, QBitArray distinguishes between a null bit array and an empty bit array. A null bit array is a bit array that is initialized using QBitArray's default constructor. An empty bit array is any bit array with size 0. A null bit array is always empty, but an empty bit array isn't necessarily null:</para>
            <para> QBitArray().isNull();           // returns true</para>
            <para> QBitArray().isEmpty();          // returns true</para>
            <para></para>
            <para> QBitArray(0).isNull();          // returns false</para>
            <para> QBitArray(0).isEmpty();         // returns true</para>
            <para></para>
            <para> QBitArray(3).isNull();          // returns false</para>
            <para> QBitArray(3).isEmpty();         // returns false</para>
            <para>All functions except isNull() treat null bit arrays the same as empty bit arrays; for example, QBitArray() compares equal to QBitArray(0). We recommend that you always use isEmpty() and avoid isNull().</para>
            <para></para>
            <para>See also QByteArray and QVector.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QBitArray.#ctor">
            <summary>
            <para>Constructs an empty bit array.</para>
            <para>See also isEmpty().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.#ctor(QtCore.QBitArray)">
            <summary>
            <para>Constructs a copy of other.</para>
            <para>This operation takes constant time, because QBitArray is implicitly shared. This makes returning a QBitArray from a function very fast. If a shared instance is modified, it will be copied (copy-on-write), and that takes linear time.</para>
            <para>See also operator=().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.#ctor(System.Int32,System.Boolean)">
            <summary>
            <para>Constructs a bit array containing size bits. The bits are initialized with value, which defaults to false (0).</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.At(System.Int32)">
            <summary>
            <para>Returns the value of the bit at index position i.</para>
            <para>i must be a valid index position in the bit array (i.e., 0 &lt;= i &lt; size()).</para>
            <para>See also operator[]().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.Clear">
            <summary>
            <para>Clears the contents of the bit array and makes it empty.</para>
            <para>See also resize() and isEmpty().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.ClearBit(System.Int32)">
            <summary>
            <para>Sets the bit at index position i to 0.</para>
            <para>i must be a valid index position in the bit array (i.e., 0 &lt;= i &lt; size()).</para>
            <para>See also setBit() and toggleBit().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.Count">
            <summary>
            <para>Same as size().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.Count(System.Boolean)">
            <summary>
            <para>If on is true, this function returns the number of 1-bits stored in the bit array; otherwise the number of 0-bits is returned.</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.Fill(System.Boolean,System.Int32)">
            <summary>
            <para>Sets every bit in the bit array to value, returning true if successful; otherwise returns false. If size is different from -1 (the default), the bit array is resized to size beforehand.</para>
            <para>Example:</para>
            <para> QBitArray ba(8);</para>
            <para> ba.fill(true);</para>
            <para> // ba: [ 1, 1, 1, 1, 1, 1, 1, 1 ]</para>
            <para></para>
            <para> ba.fill(false, 2);</para>
            <para> // ba: [ 0, 0 ]</para>
            <para>See also resize().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.Fill(System.Boolean,System.Int32,System.Int32)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Sets bits at index positions begin up to and excluding end to value.</para>
            <para>begin and end must be a valid index position in the bit array (i.e., 0 &lt;= begin &lt;= size() and 0 &lt;= end &lt;= size()).</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.IsEmpty">
            <summary>
            <para>Returns true if this bit array has size 0; otherwise returns false.</para>
            <para>See also size().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.IsNull">
            <summary>
            <para>Returns true if this bit array is null; otherwise returns false.</para>
            <para>Example:</para>
            <para> QBitArray().isNull();           // returns true</para>
            <para> QBitArray(0).isNull();          // returns false</para>
            <para> QBitArray(3).isNull();          // returns false</para>
            <para>Qt makes a distinction between null bit arrays and empty bit arrays for historical reasons. For most applications, what matters is whether or not a bit array contains any data, and this can be determined using isEmpty().</para>
            <para>See also isEmpty().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.op_Inequality(QtCore.QBitArray,QtCore.QBitArray)">
            <summary>
            <para>Returns true if other is not equal to this bit array; otherwise returns false.</para>
            <para>See also operator==().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.op_Equality(QtCore.QBitArray,QtCore.QBitArray)">
            <summary>
            <para>Returns true if other is equal to this bit array; otherwise returns false.</para>
            <para>See also operator!=().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.op_OnesComplement(QtCore.QBitArray)">
            <summary>
            <para>Returns a bit array that contains the inverted bits of this bit array.</para>
            <para>Example:</para>
            <para> QBitArray a(3);</para>
            <para> QBitArray b;</para>
            <para> a[0] = 1; a[1] = 0; a[2] = 1;   // a: [ 1, 0, 1 ]</para>
            <para> b = ~a;                         // b: [ 0, 1, 0 ]</para>
            <para>See also operator&amp;(), operator|(), and operator^().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.Resize(System.Int32)">
            <summary>
            <para>Resizes the bit array to size bits.</para>
            <para>If size is greater than the current size, the bit array is extended to make it size bits with the extra bits added to the end. The new bits are initialized to false (0).</para>
            <para>If size is less than the current size, bits are removed from the end.</para>
            <para>See also size().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.SetBit(System.Int32)">
            <summary>
            <para>Sets the bit at index position i to 1.</para>
            <para>i must be a valid index position in the bit array (i.e., 0 &lt;= i &lt; size()).</para>
            <para>See also clearBit() and toggleBit().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.SetBit(System.Int32,System.Boolean)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Sets the bit at index position i to value.</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.Size">
            <summary>
            <para>Returns the number of bits stored in the bit array.</para>
            <para>See also resize().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.Swap(QtCore.QBitArray)">
            <summary>
            <para>Swaps bit array other with this bit array. This operation is very fast and never fails.</para>
            <para>This function was introduced in Qt 4.8.</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.TestBit(System.Int32)">
            <summary>
            <para>Returns true if the bit at index position i is 1; otherwise returns false.</para>
            <para>i must be a valid index position in the bit array (i.e., 0 &lt;= i &lt; size()).</para>
            <para>See also setBit() and clearBit().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.ToggleBit(System.Int32)">
            <summary>
            <para>Inverts the value of the bit at index position i, returning the previous value of that bit as either true (if it was set) or false (if it was unset).</para>
            <para>If the previous value was 0, the new value will be 1. If the previous value was 1, the new value will be 0.</para>
            <para>i must be a valid index position in the bit array (i.e., 0 &lt;= i &lt; size()).</para>
            <para>See also setBit() and clearBit().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.Truncate(System.Int32)">
            <summary>
            <para>Truncates the bit array at index position pos.</para>
            <para>If pos is beyond the end of the array, nothing happens.</para>
            <para>See also resize().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.op_BitwiseAnd(QtCore.QBitArray,QtCore.QBitArray)">
            <summary>
            <para>Returns a bit array that is the AND of the bit arrays a1 and a2.</para>
            <para>The result has the length of the longest of the two bit arrays, with any missing bits (if one array is shorter than the other) taken to be 0.</para>
            <para>Example:</para>
            <para> QBitArray a(3);</para>
            <para> QBitArray b(2);</para>
            <para> QBitArray c;</para>
            <para> a[0] = 1; a[1] = 0; a[2] = 1;   // a: [ 1, 0, 1 ]</para>
            <para> b[0] = 1; b[1] = 0;             // b: [ 1, 1 ]</para>
            <para> c = a &amp; b;                      // c: [ 1, 0, 0 ]</para>
            <para>See also QBitArray::operator&amp;=(), operator|(), and operator^().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.op_ExclusiveOr(QtCore.QBitArray,QtCore.QBitArray)">
            <summary>
            <para>Returns a bit array that is the XOR of the bit arrays a1 and a2.</para>
            <para>The result has the length of the longest of the two bit arrays, with any missing bits (if one array is shorter than the other) taken to be 0.</para>
            <para>Example:</para>
            <para> QBitArray a(3);</para>
            <para> QBitArray b(2);</para>
            <para> QBitArray c;</para>
            <para> a[0] = 1; a[1] = 0; a[2] = 1;   // a: [ 1, 0, 1 ]</para>
            <para> b[0] = 1; b[1] = 0;             // b: [ 1, 1 ]</para>
            <para> c = a ^ b;                      // c: [ 0, 1, 1 ]</para>
            <para>See also QBitArray::operator^=(), operator&amp;(), and operator|().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBitArray.op_BitwiseOr(QtCore.QBitArray,QtCore.QBitArray)">
            <summary>
            <para>Returns a bit array that is the OR of the bit arrays a1 and a2.</para>
            <para>The result has the length of the longest of the two bit arrays, with any missing bits (if one array is shorter than the other) taken to be 0.</para>
            <para>Example:</para>
            <para> QBitArray a(3);</para>
            <para> QBitArray b(2);</para>
            <para> QBitArray c;</para>
            <para> a[0] = 1; a[1] = 0; a[2] = 1;   // a: [ 1, 0, 1 ]</para>
            <para> b[0] = 1; b[1] = 0;             // b: [ 1, 1 ]</para>
            <para> c = a | b;                      // c: [ 1, 1, 1 ]</para>
            <para>See also QBitArray::operator|=(), operator&amp;(), and operator^().</para>
            </summary>
        </member>
        <member name="T:QtCore.QBuffer">
            <summary>
            The QBuffer class provides a QIODevice interface for a QByteArray.
            </summary>
            <remarks>
            <para></para>
            <para>QBuffer allows you to access a QByteArray using the QIODevice interface. The QByteArray is treated just as a standard random-accessed file. Example:</para>
            <para>     QBuffer buffer;</para>
            <para>     char ch;</para>
            <para></para>
            <para>     buffer.open(QBuffer::ReadWrite);</para>
            <para>     buffer.write(&amp;quot;Qt rocks!&amp;quot;);</para>
            <para>     buffer.seek(0);</para>
            <para>     buffer.getChar(&amp;amp;ch);  // ch == 'Q'</para>
            <para>     buffer.getChar(&amp;amp;ch);  // ch == 't'</para>
            <para>     buffer.getChar(&amp;amp;ch);  // ch == ' '</para>
            <para>     buffer.getChar(&amp;amp;ch);  // ch == 'r'</para>
            <para>By default, an internal QByteArray buffer is created for you when you create a QBuffer. You can access this buffer directly by calling buffer(). You can also use QBuffer with an existing QByteArray by calling setBuffer(), or by passing your array to QBuffer's constructor.</para>
            <para>Call open() to open the buffer. Then call write() or putChar() to write to the buffer, and read(), readLine(), readAll(), or getChar() to read from it. size() returns the current size of the buffer, and you can seek to arbitrary positions in the buffer by calling seek(). When you are done with accessing the buffer, call close().</para>
            <para>The following code snippet shows how to write data to a QByteArray using QDataStream and QBuffer:</para>
            <para>     QByteArray byteArray;</para>
            <para>     QBuffer buffer(&amp;amp;byteArray);</para>
            <para>     buffer.open(QIODevice::WriteOnly);</para>
            <para></para>
            <para>     QDataStream out(&amp;amp;buffer);</para>
            <para>     out &amp;lt;&amp;lt; QApplication::palette();</para>
            <para>Effectively, we convert the application's QPalette into a byte array. Here's how to read the data from the QByteArray:</para>
            <para>     QPalette palette;</para>
            <para>     QBuffer buffer(&amp;amp;byteArray);</para>
            <para>     buffer.open(QIODevice::ReadOnly);</para>
            <para></para>
            <para>     QDataStream in(&amp;amp;buffer);</para>
            <para>     in &amp;gt;&amp;gt; palette;</para>
            <para>QTextStream and QDataStream also provide convenience constructors that take a QByteArray and that create a QBuffer behind the scenes.</para>
            <para>QBuffer emits readyRead() when new data has arrived in the buffer. By connecting to this signal, you can use QBuffer to store temporary data before processing it. For example, you can pass the buffer to QFtp when downloading a file from an FTP server. Whenever a new payload of data has been downloaded, readyRead() is emitted, and you can process the data that just arrived. QBuffer also emits bytesWritten() every time new data has been written to the buffer.</para>
            <para></para>
            <para>See also QFile, QDataStream, QTextStream, and QByteArray.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QBuffer.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs an empty buffer with the given parent. You can call setData() to fill the buffer with data, or you can open it in write mode and use write().</para>
            <para>See also open().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBuffer.#ctor(QtCore.QByteArray,QtCore.QObject)">
            <summary>
            <para>Constructs a QBuffer that uses the QByteArray pointed to by byteArray as its internal buffer, and with the given parent. The caller is responsible for ensuring that byteArray remains valid until the QBuffer is destroyed, or until setBuffer() is called to change the buffer. QBuffer doesn't take ownership of the QByteArray.</para>
            <para>If you open the buffer in write-only mode or read-write mode and write something into the QBuffer, byteArray will be modified.</para>
            <para>Example:</para>
            <para>     QByteArray byteArray(&quot;abc&quot;);</para>
            <para>     QBuffer buffer(&amp;byteArray);</para>
            <para>     buffer.open(QIODevice::WriteOnly);</para>
            <para>     buffer.seek(3);</para>
            <para>     buffer.write(&quot;def&quot;, 3);</para>
            <para>     buffer.close();</para>
            <para>     // byteArray == &quot;abcdef&quot;</para>
            <para>See also open(), setBuffer(), and setData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBuffer.AtEnd">
            <summary>
            <para>Reimplemented from QIODevice::atEnd().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBuffer.CanReadLine">
            <summary>
            <para>Reimplemented from QIODevice::canReadLine().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBuffer.Close">
            <summary>
            <para>Reimplemented from QIODevice::close().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBuffer.Open(QtCore.QIODevice.OpenModeFlag)">
            <summary>
            <para>Reimplemented from QIODevice::open().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBuffer.Pos">
            <summary>
            <para>Reimplemented from QIODevice::pos().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBuffer.ReadData(QtCore.Pointer{System.SByte},System.Int64)">
            <summary>
            <para>Reimplemented from QIODevice::readData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBuffer.Seek(System.Int64)">
            <summary>
            <para>Reimplemented from QIODevice::seek().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBuffer.SetData(System.String,System.Int32)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Sets the contents of the internal buffer to be the first size bytes of data.</para>
            </summary>
        </member>
        <member name="M:QtCore.QBuffer.Size">
            <summary>
            <para>Reimplemented from QIODevice::size().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBuffer.WriteData(System.String,System.Int64)">
            <summary>
            <para>Reimplemented from QIODevice::writeData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QBuffer.Finalize">
            <summary>
            <para>Destroys the buffer.</para>
            </summary>
        </member>
        <member name="P:QtCore.QBuffer.Buffer">
            <summary>
            <para>Returns a reference to the QBuffer's internal buffer. You can use it to modify the QByteArray behind the QBuffer's back.</para>
            <para>Makes QBuffer uses the QByteArray pointed to by byteArray as its internal buffer. The caller is responsible for ensuring that byteArray remains valid until the QBuffer is destroyed, or until setBuffer() is called to change the buffer. QBuffer doesn't take ownership of the QByteArray.</para>
            <para>Does nothing if isOpen() is true.</para>
            <para>If you open the buffer in write-only mode or read-write mode and write something into the QBuffer, byteArray will be modified.</para>
            <para>Example:</para>
            <para>     QByteArray byteArray(&quot;abc&quot;);</para>
            <para>     QBuffer buffer;</para>
            <para>     buffer.setBuffer(&amp;byteArray);</para>
            <para>     buffer.open(QIODevice::WriteOnly);</para>
            <para>     buffer.seek(3);</para>
            <para>     buffer.write(&quot;def&quot;, 3);</para>
            <para>     buffer.close();</para>
            <para>     // byteArray == &quot;abcdef&quot;</para>
            <para>If byteArray is 0, the buffer creates its own internal QByteArray to work on. This byte array is initially empty.</para>
            </summary>
        </member>
        <member name="P:QtCore.QBuffer.Data">
            <summary>
            <para>Returns the data contained in the buffer.</para>
            <para>This is the same as buffer().</para>
            <para>Sets the contents of the internal buffer to be data. This is the same as assigning data to buffer().</para>
            <para>Does nothing if isOpen() is true.</para>
            </summary>
        </member>
        <member name="T:QtCore.QByteArrayMatcher">
            <summary>
            The QByteArrayMatcher class holds a sequence of bytes that can be quickly matched in a byte array.
            </summary>
            <remarks>
            <para></para>
            <para>This class is useful when you have a sequence of bytes that you want to repeatedly match against some byte arrays (perhaps in a loop), or when you want to search for the same sequence of bytes multiple times in the same byte array. Using a matcher object and indexIn() is faster than matching a plain QByteArray with QByteArray::indexOf() if repeated matching takes place. This class offers no benefit if you are doing one-off byte array matches.</para>
            <para>Create the QByteArrayMatcher with the QByteArray you want to search for. Then call indexIn() on the QByteArray that you want to search.</para>
            <para></para>
            <para>See also QByteArray and QStringMatcher.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QByteArrayMatcher.#ctor">
            <summary>
            <para>Constructs an empty byte array matcher that won't match anything. Call setPattern() to give it a pattern to match.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArrayMatcher.#ctor(QtCore.QByteArray)">
            <summary>
            <para>Constructs a byte array matcher that will search for pattern. Call indexIn() to perform a search.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArrayMatcher.#ctor(QtCore.QByteArrayMatcher)">
            <summary>
            <para>Copies the other byte array matcher to this byte array matcher.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArrayMatcher.#ctor(System.String,System.Int32)">
            <summary>
            <para>Constructs a byte array matcher from pattern. pattern has the given length. pattern must remain in scope, but the destructor does not delete pattern.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArrayMatcher.IndexIn(QtCore.QByteArray,System.Int32)">
            <summary>
            <para>Searches the byte array ba, from byte position from (default 0, i.e. from the first byte), for the byte array pattern() that was set in the constructor or in the most recent call to setPattern(). Returns the position where the pattern() matched in ba, or -1 if no match was found.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArrayMatcher.IndexIn(System.String,System.Int32,System.Int32)">
            <summary>
            <para>Searches the char string str, which has length len, from byte position from (default 0, i.e. from the first byte), for the byte array pattern() that was set in the constructor or in the most recent call to setPattern(). Returns the position where the pattern() matched in str, or -1 if no match was found.</para>
            </summary>
        </member>
        <member name="M:QtCore.QByteArrayMatcher.Finalize">
            <summary>
            <para>Destroys the byte array matcher.</para>
            </summary>
        </member>
        <member name="P:QtCore.QByteArrayMatcher.Pattern">
            <summary>
            <para>Returns the byte array pattern that this byte array matcher will search for.</para>
            <para>Sets the byte array that this byte array matcher will search for to pattern.</para>
            </summary>
        </member>
        <member name="T:QtCore.QChar">
            <summary>
            The QChar class provides a 16-bit Unicode character.
            </summary>
            <remarks>
            <para></para>
            <para>In Qt, Unicode characters are 16-bit entities without any markup or structure. This class represents such an entity. It is lightweight, so it can be used everywhere. Most compilers treat it like a unsigned short.</para>
            <para>QChar provides a full complement of testing/classification functions, converting to and from other formats, converting from composed to decomposed Unicode, and trying to compare and case-convert if you ask it to.</para>
            <para>The classification functions include functions like those in the standard C++ header &amp;lt;cctype&amp;gt; (formerly &amp;lt;ctype.h&amp;gt;), but operating on the full range of Unicode characters. They all return true if the character is a certain type of character; otherwise they return false. These classification functions are isNull() (returns true if the character is '\0'), isPrint() (true if the character is any sort of printable character, including whitespace), isPunct() (any sort of punctation), isMark() (Unicode Mark), isLetter() (a letter), isNumber() (any sort of numeric character, not just 0-9), isLetterOrNumber(), and isDigit() (decimal digits). All of these are wrappers around category() which return the Unicode-defined category of each character.</para>
            <para>QChar also provides direction(), which indicates the &amp;quot;natural&amp;quot; writing direction of this character. The joining() function indicates how the character joins with its neighbors (needed mostly for Arabic) and finally hasMirrored(), which indicates whether the character needs to be mirrored when it is printed in its &amp;quot;unnatural&amp;quot; writing direction.</para>
            <para>Composed Unicode characters (like &amp;#229;) can be converted to decomposed Unicode (&amp;quot;a&amp;quot; followed by &amp;quot;ring above&amp;quot;) by using decomposition().</para>
            <para>In Unicode, comparison is not necessarily possible and case conversion is very difficult at best. Unicode, covering the &amp;quot;entire&amp;quot; world, also includes most of the world's case and sorting problems. operator==() and friends will do comparison based purely on the numeric Unicode value (code point) of the characters, and toUpper() and toLower() will do case changes when the character has a well-defined uppercase/lowercase equivalent. For locale-dependent comparisons, use QString::localeAwareCompare().</para>
            <para>The conversion functions include unicode() (to a scalar), toLatin1() (to scalar, but converts all non-Latin-1 characters to 0), row() (gives the Unicode row), cell() (gives the Unicode cell), digitValue() (gives the integer value of any of the numerous digit characters), and a host of constructors.</para>
            <para>QChar provides constructors and cast operators that make it easy to convert to and from traditional 8-bit chars. If you defined QT_NO_CAST_FROM_ASCII and QT_NO_CAST_TO_ASCII, as explained in the QString documentation, you will need to explicitly call fromAscii() or fromLatin1(), or use QLatin1Char, to construct a QChar from an 8-bit char, and you will need to call toAscii() or toLatin1() to get the 8-bit value back.</para>
            <para></para>
            <para>See also QString, Unicode, and QLatin1Char.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QChar.#ctor">
            <summary>
            <para>Constructs a null QChar ('\0').</para>
            <para>See also isNull().</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.#ctor(QtCore.QLatin1Char)">
            <summary>
            <para>Constructs a QChar corresponding to ASCII/Latin-1 character ch.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.#ctor(QtCore.QChar)">
            <summary>
            <para>Constructs a null QChar ('\0').</para>
            <para>See also isNull().</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.#ctor(System.UInt16)">
            <summary>
            <para>Constructs a null QChar ('\0').</para>
            <para>See also isNull().</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.#ctor(System.Int16)">
            <summary>
            <para>Constructs a QChar for the character with Unicode code point code.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.#ctor(System.UInt32)">
            <summary>
            <para>Constructs a null QChar ('\0').</para>
            <para>See also isNull().</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.#ctor(System.Int32)">
            <summary>
            <para>Constructs a QChar for the character with Unicode code point code.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.#ctor(QtCore.QChar.SpecialCharacter)">
            <summary>
            <para>Constructs a QChar for the predefined character value ch.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.#ctor(System.Byte,System.Byte)">
            <summary>
            <para>Constructs a null QChar ('\0').</para>
            <para>See also isNull().</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.category">
            <summary>
            <para>Returns the character's category.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.category(System.UInt32)">
            <summary>
            <para>Returns the character's category.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.category(System.UInt16)">
            <summary>
            <para>Returns the character's category.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.combiningClass">
            <summary>
            <para>Returns the combining class for the character as defined in the Unicode standard. This is mainly useful as a positioning hint for marks attached to a base character.</para>
            <para>The Qt text rendering engine uses this information to correctly position non-spacing marks around a base character.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.combiningClass(System.UInt32)">
            <summary>
            <para>Returns the combining class for the character as defined in the Unicode standard. This is mainly useful as a positioning hint for marks attached to a base character.</para>
            <para>The Qt text rendering engine uses this information to correctly position non-spacing marks around a base character.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.combiningClass(System.UInt16)">
            <summary>
            <para>Returns the combining class for the character as defined in the Unicode standard. This is mainly useful as a positioning hint for marks attached to a base character.</para>
            <para>The Qt text rendering engine uses this information to correctly position non-spacing marks around a base character.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.CurrentUnicodeVersion">
            <summary>
            <para>Returns the most recent supported Unicode version.</para>
            <para>This function was introduced in Qt 4.8.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.decomposition">
            <summary>
            <para>Decomposes a character into its parts. Returns an empty string if no decomposition exists.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.decomposition(System.UInt32)">
            <summary>
            <para>Decomposes a character into its parts. Returns an empty string if no decomposition exists.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.DecompositionTag">
            <summary>
            <para>Returns the tag defining the composition of the character. Returns QChar::Single if no decomposition exists.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.DecompositionTag(System.UInt32)">
            <summary>
            <para>Returns the tag defining the composition of the character. Returns QChar::Single if no decomposition exists.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.DigitValue">
            <summary>
            <para>Returns the numeric value of the digit, or -1 if the character is not a digit.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.DigitValue(System.UInt32)">
            <summary>
            <para>Returns the numeric value of the digit, or -1 if the character is not a digit.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.DigitValue(System.UInt16)">
            <summary>
            <para>Returns the numeric value of the digit, or -1 if the character is not a digit.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.direction">
            <summary>
            <para>Returns the character's direction.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.direction(System.UInt32)">
            <summary>
            <para>Returns the character's direction.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.direction(System.UInt16)">
            <summary>
            <para>Returns the character's direction.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.FromAscii(System.SByte)">
            <summary>
            <para>Converts the ASCII character c to its equivalent QChar. This is mainly useful for non-internationalized software.</para>
            <para>An alternative is to use QLatin1Char.</para>
            <para>See also fromLatin1(), unicode(), and QTextCodec::codecForCStrings().</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.FromLatin1(System.SByte)">
            <summary>
            <para>Converts the Latin-1 character c to its equivalent QChar. This is mainly useful for non-internationalized software.</para>
            <para>See also fromAscii(), unicode(), and QTextCodec::codecForCStrings().</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.HasMirrored">
            <summary>
            <para>Returns true if the character should be reversed if the text direction is reversed; otherwise returns false.</para>
            <para>Same as (ch.mirroredChar() != ch).</para>
            <para>See also mirroredChar().</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.HighSurrogate(System.UInt32)">
            <summary>
            <para>Returns the high surrogate value of a ucs4 code point. The returned result is undefined if ucs4 is smaller than 0x10000.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.IsDigit">
            <summary>
            <para>Returns true if the character is a decimal digit (Number_DecimalDigit); otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.IsHighSurrogate">
            <summary>
            <para>Returns true if the QChar is the high part of a utf16 surrogate (ie. if its code point is between 0xd800 and 0xdbff, inclusive).</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.IsHighSurrogate(System.UInt32)">
            <summary>
            <para>Returns true if the QChar is the high part of a utf16 surrogate (ie. if its code point is between 0xd800 and 0xdbff, inclusive).</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.IsLetter">
            <summary>
            <para>Returns true if the character is a letter (Letter_* categories); otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.IsLetterOrNumber">
            <summary>
            <para>Returns true if the character is a letter or number (Letter_* or Number_* categories); otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.IsLowSurrogate">
            <summary>
            <para>Returns true if the QChar is the low part of a utf16 surrogate (ie. if its code point is between 0xdc00 and 0xdfff, inclusive).</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.IsLowSurrogate(System.UInt32)">
            <summary>
            <para>Returns true if the QChar is the low part of a utf16 surrogate (ie. if its code point is between 0xdc00 and 0xdfff, inclusive).</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.IsLower">
            <summary>
            <para>Returns true if the character is a lowercase letter, i.e. category() is Letter_Lowercase.</para>
            <para>See also isUpper(), toLower(), and toUpper().</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.IsMark">
            <summary>
            <para>Returns true if the character is a mark (Mark_* categories); otherwise returns false.</para>
            <para>See QChar::Category for more information regarding marks.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.IsNull">
            <summary>
            <para>Returns true if the character is the Unicode character 0x0000 ('\0'); otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.IsNumber">
            <summary>
            <para>Returns true if the character is a number (Number_* categories, not just 0-9); otherwise returns false.</para>
            <para>See also isDigit().</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.IsPrint">
            <summary>
            <para>Returns true if the character is a printable character; otherwise returns false. This is any character not of category Cc or Cn.</para>
            <para>Note that this gives no indication of whether the character is available in a particular font.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.IsPunct">
            <summary>
            <para>Returns true if the character is a punctuation mark (Punctuation_* categories); otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.IsSpace">
            <summary>
            <para>Returns true if the character is a separator character (Separator_* categories); otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.IsSymbol">
            <summary>
            <para>Returns true if the character is a symbol (Symbol_* categories); otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.IsTitleCase">
            <summary>
            <para>Returns true if the character is a titlecase letter, i.e. category() is Letter_Titlecase.</para>
            <para>This function was introduced in Qt 4.3.</para>
            <para>See also isLower(), toUpper(), toLower(), and toTitleCase().</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.IsUpper">
            <summary>
            <para>Returns true if the character is an uppercase letter, i.e. category() is Letter_Uppercase.</para>
            <para>See also isLower(), toUpper(), and toLower().</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.joining">
            <summary>
            <para>Returns information about the joining properties of the character (needed for certain languages such as Arabic).</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.joining(System.UInt32)">
            <summary>
            <para>Returns information about the joining properties of the character (needed for certain languages such as Arabic).</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.joining(System.UInt16)">
            <summary>
            <para>Returns information about the joining properties of the character (needed for certain languages such as Arabic).</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.LowSurrogate(System.UInt32)">
            <summary>
            <para>Returns the low surrogate value of a ucs4 code point. The returned result is undefined if ucs4 is smaller than 0x10000.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.MirroredChar">
            <summary>
            <para>Returns the mirrored character if this character is a mirrored character; otherwise returns the character itself.</para>
            <para>See also hasMirrored().</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.MirroredChar(System.UInt32)">
            <summary>
            <para>Returns the mirrored character if this character is a mirrored character; otherwise returns the character itself.</para>
            <para>See also hasMirrored().</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.MirroredChar(System.UInt16)">
            <summary>
            <para>Returns the mirrored character if this character is a mirrored character; otherwise returns the character itself.</para>
            <para>See also hasMirrored().</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.RequiresSurrogates(System.UInt32)">
            <summary>
            <para>Returns true if the UCS-4-encoded character specified by ucs4 can be split into the high and low parts of a utf16 surrogate (ie. if its code point is greater than or equals to 0x10000).</para>
            <para>This function was introduced in Qt 4.7.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.SurrogateToUcs4(QtCore.QChar,QtCore.QChar)">
            <summary>
            <para>Converts a utf16 surrogate pair (high, low) to its ucs4 code point.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.SurrogateToUcs4(System.UInt16,System.UInt16)">
            <summary>
            <para>Converts a UTF16 surrogate pair with the given high and low values to its UCS-4 code point.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.ToAscii">
            <summary>
            <para>Returns the character value of the QChar obtained using the current codec used to read C strings, or 0 if the character is not representable using this codec. The default codec handles Latin-1 encoded text, but this can be changed to assist developers writing source code using other encodings.</para>
            <para>The main purpose of this function is to preserve ASCII characters used in C strings. This is mainly useful for developers of non-internationalized software.</para>
            <para>See also toLatin1(), unicode(), and QTextCodec::codecForCStrings().</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.ToCaseFolded">
            <summary>
            <para>Returns the case folded equivalent of the character. For most Unicode characters this is the same as toLowerCase().</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.ToCaseFolded(System.UInt32)">
            <summary>
            <para>Returns the case folded equivalent of the character. For most Unicode characters this is the same as toLowerCase().</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.ToCaseFolded(System.UInt16)">
            <summary>
            <para>Returns the case folded equivalent of the character. For most Unicode characters this is the same as toLowerCase().</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.ToLatin1">
            <summary>
            <para>Returns the Latin-1 character equivalent to the QChar, or 0. This is mainly useful for non-internationalized software.</para>
            <para>See also toAscii(), unicode(), and QTextCodec::codecForCStrings().</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.ToLower">
            <summary>
            <para>Returns the lowercase equivalent if the character is uppercase or titlecase; otherwise returns the character itself.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.ToLower(System.UInt32)">
            <summary>
            <para>Returns the lowercase equivalent if the character is uppercase or titlecase; otherwise returns the character itself.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.ToLower(System.UInt16)">
            <summary>
            <para>Returns the lowercase equivalent if the character is uppercase or titlecase; otherwise returns the character itself.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.ToTitleCase">
            <summary>
            <para>Returns the title case equivalent if the character is lowercase or uppercase; otherwise returns the character itself.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.ToTitleCase(System.UInt32)">
            <summary>
            <para>Returns the title case equivalent if the character is lowercase or uppercase; otherwise returns the character itself.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.ToTitleCase(System.UInt16)">
            <summary>
            <para>Returns the title case equivalent if the character is lowercase or uppercase; otherwise returns the character itself.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.ToUpper">
            <summary>
            <para>Returns the uppercase equivalent if the character is lowercase or titlecase; otherwise returns the character itself.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.ToUpper(System.UInt32)">
            <summary>
            <para>Returns the uppercase equivalent if the character is lowercase or titlecase; otherwise returns the character itself.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.ToUpper(System.UInt16)">
            <summary>
            <para>Returns the uppercase equivalent if the character is lowercase or titlecase; otherwise returns the character itself.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.Unicode">
            <summary>
            <para>Returns a reference to the numeric Unicode value of the QChar.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.unicodeVersion">
            <summary>
            <para>Returns the Unicode version that introduced this character.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.unicodeVersion(System.UInt32)">
            <summary>
            <para>Returns the Unicode version that introduced this character.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChar.unicodeVersion(System.UInt16)">
            <summary>
            <para>Returns the Unicode version that introduced this character.</para>
            </summary>
        </member>
        <member name="P:QtCore.QChar.Cell">
            <summary>
            <para>Returns the cell (least significant byte) of the Unicode character.</para>
            </summary>
        </member>
        <member name="P:QtCore.QChar.Row">
            <summary>
            <para>Returns the row (most significant byte) of the Unicode character.</para>
            </summary>
        </member>
        <member name="T:QtCore.QChar.Category">
            <summary>
            <para>This enum maps the Unicode character categories.</para>
            <para>The following characters are normative in Unicode:</para>
            <para>The following categories are informative in Unicode:</para>
            <para>See also category().</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Letter_Lowercase">
            <summary>
            <para>Unicode class name Ll</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Letter_Modifier">
            <summary>
            <para>Unicode class name Lm</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Letter_Other">
            <summary>
            <para>Unicode class name Lo</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Letter_Titlecase">
            <summary>
            <para>Unicode class name Lt</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Letter_Uppercase">
            <summary>
            <para>Unicode class name Lu</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Mark_Enclosing">
            <summary>
            <para>Unicode class name Me</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Mark_NonSpacing">
            <summary>
            <para>Unicode class name Mn</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Mark_SpacingCombining">
            <summary>
            <para>Unicode class name Mc</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.NoCategory">
            <summary>
            <para>Qt cannot find an appropriate category for the character.</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Number_DecimalDigit">
            <summary>
            <para>Unicode class name Nd</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Number_Letter">
            <summary>
            <para>Unicode class name Nl</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Number_Other">
            <summary>
            <para>Unicode class name No</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Other_Control">
            <summary>
            <para>Unicode class name Cc</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Other_Format">
            <summary>
            <para>Unicode class name Cf</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Other_NotAssigned">
            <summary>
            <para>Unicode class name Cn</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Other_PrivateUse">
            <summary>
            <para>Unicode class name Co</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Other_Surrogate">
            <summary>
            <para>Unicode class name Cs</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Punctuation_Close">
            <summary>
            <para>Unicode class name Pe</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Punctuation_Connector">
            <summary>
            <para>Unicode class name Pc</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Punctuation_Dash">
            <summary>
            <para>Unicode class name Pd</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Punctuation_FinalQuote">
            <summary>
            <para>Unicode class name Pf</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Punctuation_InitialQuote">
            <summary>
            <para>Unicode class name Pi</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Punctuation_Open">
            <summary>
            <para>Unicode class name Ps</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Punctuation_Other">
            <summary>
            <para>Unicode class name Po</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Separator_Line">
            <summary>
            <para>Unicode class name Zl</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Separator_Paragraph">
            <summary>
            <para>Unicode class name Zp</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Separator_Space">
            <summary>
            <para>Unicode class name Zs</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Symbol_Currency">
            <summary>
            <para>Unicode class name Sc</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Symbol_Math">
            <summary>
            <para>Unicode class name Sm</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Symbol_Modifier">
            <summary>
            <para>Unicode class name Sk</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.Category.Symbol_Other">
            <summary>
            <para>Unicode class name So</para>
            </summary>
        </member>
        <member name="T:QtCore.QChar.Decomposition">
            <summary>
            <para>This enum type defines the Unicode decomposition attributes. See the Unicode Standard for a description of the values.</para>
            <para>See also decomposition().</para>
            </summary>
        </member>
        <member name="T:QtCore.QChar.Direction">
            <summary>
            <para>This enum type defines the Unicode direction attributes. See the Unicode Standard for a description of the values.</para>
            <para>In order to conform to C/C++ naming conventions &quot;Dir&quot; is prepended to the codes used in the Unicode Standard.</para>
            <para>See also direction().</para>
            </summary>
        </member>
        <member name="T:QtCore.QChar.Joining">
            <summary>
            <para>This enum type defines the Unicode joining attributes. See the Unicode Standard for a description of the values.</para>
            <para>See also joining().</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.SpecialCharacter.Nbsp">
            <summary>
            <para>Non-breaking space.</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.SpecialCharacter.Null">
            <summary>
            <para>A QChar with this value isNull().</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.SpecialCharacter.ObjectReplacementCharacter">
            <summary>
            <para>Used to represent an object such as an image when such objects cannot be presented.</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.SpecialCharacter.ReplacementCharacter">
            <summary>
            <para>The character shown when a font has no glyph for a certain codepoint. A special question mark character is often used. Codecs use this codepoint when input data cannot be represented in Unicode.</para>
            </summary>
        </member>
        <member name="T:QtCore.QChar.UnicodeVersion">
            <summary>
            <para>Specifies which version of the Unicode standard introduced a certain character.</para>
            <para>See also unicodeVersion().</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.UnicodeVersion.Unicode_1_1">
            <summary>
            <para>Version 1.1</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.UnicodeVersion.Unicode_2_0">
            <summary>
            <para>Version 2.0</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.UnicodeVersion.Unicode_2_1_2">
            <summary>
            <para>Version 2.1.2</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.UnicodeVersion.Unicode_3_0">
            <summary>
            <para>Version 3.0</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.UnicodeVersion.Unicode_3_1">
            <summary>
            <para>Version 3.1</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.UnicodeVersion.Unicode_3_2">
            <summary>
            <para>Version 3.2</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.UnicodeVersion.Unicode_4_0">
            <summary>
            <para>Version 4.0</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.UnicodeVersion.Unicode_4_1">
            <summary>
            <para>Version 4.1</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.UnicodeVersion.Unicode_5_0">
            <summary>
            <para>Version 5.0</para>
            </summary>
        </member>
        <member name="F:QtCore.QChar.UnicodeVersion.Unicode_Unassigned">
            <summary>
            <para>The value is not assigned to any character in version 5.0 of Unicode.</para>
            </summary>
        </member>
        <member name="T:QtCore.QChildEvent">
            <summary>
            The QChildEvent class contains event parameters for child object events.
            </summary>
            <remarks>
            <para></para>
            <para>Child events are sent immediately to objects when children are added or removed.</para>
            <para>In both cases you can only rely on the child being a QObject (or, if QObject::isWidgetType() returns true, a QWidget). This is because in the QEvent::ChildAdded case the child is not yet fully constructed; in the QEvent::ChildRemoved case it might have already been destructed.</para>
            <para>The handler for these events is QObject::childEvent().</para>
            </remarks>
        </member>
        <member name="M:QtCore.QChildEvent.#ctor(QtCore.QChildEvent)">
            <summary>
            <para>Constructs a child event object of a particular type for the child.</para>
            <para>type can be QEvent::ChildAdded, QEvent::ChildRemoved, QEvent::ChildPolished, or QEvent::ChildRemoved.</para>
            <para>See also child().</para>
            </summary>
        </member>
        <member name="M:QtCore.QChildEvent.#ctor(QtCore.QEvent.Type,QtCore.QObject)">
            <summary>
            <para>Constructs a child event object of a particular type for the child.</para>
            <para>type can be QEvent::ChildAdded, QEvent::ChildRemoved, QEvent::ChildPolished, or QEvent::ChildRemoved.</para>
            <para>See also child().</para>
            </summary>
        </member>
        <member name="M:QtCore.QChildEvent.Added">
            <summary>
            <para>Returns true if type() is QEvent::ChildAdded; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChildEvent.Child">
            <summary>
            <para>Returns the child object that was added or removed.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChildEvent.Polished">
            <summary>
            <para>Returns true if type() is QEvent::ChildPolished; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QChildEvent.Removed">
            <summary>
            <para>Returns true if type() is QEvent::ChildRemoved; otherwise returns false.</para>
            </summary>
        </member>
        <member name="T:QtCore.QCryptographicHash">
            <summary>
            The QCryptographicHash class provides a way to generate cryptographic hashes.
            </summary>
            <remarks>
            <para></para>
            <para>QCryptographicHash can be used to generate cryptographic hashes of binary or text data.</para>
            <para>Currently MD4, MD5, and SHA-1 are supported.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QCryptographicHash.#ctor(QtCore.QCryptographicHash.Algorithm)">
            <summary>
            <para>Constructs an object that can be used to create a cryptographic hash from data using method.</para>
            </summary>
        </member>
        <member name="M:QtCore.QCryptographicHash.AddData(QtCore.QByteArray)">
            <summary>
            <para>This function overloads addData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCryptographicHash.AddData(System.String,System.Int32)">
            <summary>
            <para>Adds the first length chars of data to the cryptographic hash.</para>
            </summary>
        </member>
        <member name="M:QtCore.QCryptographicHash.Hash(QtCore.QByteArray,QtCore.QCryptographicHash.Algorithm)">
            <summary>
            <para>Returns the hash of data using method.</para>
            </summary>
        </member>
        <member name="M:QtCore.QCryptographicHash.Reset">
            <summary>
            <para>Resets the object.</para>
            </summary>
        </member>
        <member name="M:QtCore.QCryptographicHash.Result">
            <summary>
            <para>Returns the final hash value.</para>
            <para>See also QByteArray::toHex().</para>
            </summary>
        </member>
        <member name="M:QtCore.QCryptographicHash.Finalize">
            <summary>
            <para>Destroys the object.</para>
            </summary>
        </member>
        <member name="F:QtCore.QCryptographicHash.Algorithm.Md4">
            <summary>
            <para>Generate an MD4 hash sum</para>
            </summary>
        </member>
        <member name="F:QtCore.QCryptographicHash.Algorithm.Md5">
            <summary>
            <para>Generate an MD5 hash sum</para>
            </summary>
        </member>
        <member name="F:QtCore.QCryptographicHash.Algorithm.Sha1">
            <summary>
            <para>Generate an SHA1 hash sum</para>
            </summary>
        </member>
        <member name="T:QtCore.QDataStream">
            <summary>
            The QDataStream class provides serialization of binary data to a QIODevice.
            </summary>
            <remarks>
            <para></para>
            <para>A data stream is a binary stream of encoded information which is 100% independent of the host computer's operating system, CPU or byte order. For example, a data stream that is written by a PC under Windows can be read by a Sun SPARC running Solaris.</para>
            <para>You can also use a data stream to read/write raw unencoded binary data. If you want a &amp;quot;parsing&amp;quot; input stream, see QTextStream.</para>
            <para>The QDataStream class implements the serialization of C++'s basic data types, like char, short, int, char *, etc. Serialization of more complex data is accomplished by breaking up the data into primitive units.</para>
            <para>A data stream cooperates closely with a QIODevice. A QIODevice represents an input/output medium one can read data from and write data to. The QFile class is an example of an I/O device.</para>
            <para>Example (write binary data to a stream):</para>
            <para> QFile file(&amp;quot;file.dat&amp;quot;);</para>
            <para> file.open(QIODevice::WriteOnly);</para>
            <para> QDataStream out(&amp;amp;file);   // we will serialize the data into the file</para>
            <para> out &amp;lt;&amp;lt; QString(&amp;quot;the answer is&amp;quot;);   // serialize a string</para>
            <para> out &amp;lt;&amp;lt; (qint32)42;        // serialize an integer</para>
            <para>Example (read binary data from a stream):</para>
            <para> QFile file(&amp;quot;file.dat&amp;quot;);</para>
            <para> file.open(QIODevice::ReadOnly);</para>
            <para> QDataStream in(&amp;amp;file);    // read the data serialized from the file</para>
            <para> QString str;</para>
            <para> qint32 a;</para>
            <para> in &amp;gt;&amp;gt; str &amp;gt;&amp;gt; a;           // extract &amp;quot;the answer is&amp;quot; and 42</para>
            <para>Each item written to the stream is written in a predefined binary format that varies depending on the item's type. Supported Qt types include QBrush, QColor, QDateTime, QFont, QPixmap, QString, QVariant and many others. For the complete list of all Qt types supporting data streaming see Serializing Qt Data Types.</para>
            <para>For integers it is best to always cast to a Qt integer type for writing, and to read back into the same Qt integer type. This ensures that you get integers of the size you want and insulates you from compiler and platform differences.</para>
            <para>To take one example, a char * string is written as a 32-bit integer equal to the length of the string including the '\0' byte, followed by all the characters of the string including the '\0' byte. When reading a char * string, 4 bytes are read to create the 32-bit length value, then that many characters for the char * string including the '\0' terminator are read.</para>
            <para>The initial I/O device is usually set in the constructor, but can be changed with setDevice(). If you've reached the end of the data (or if there is no I/O device set) atEnd() will return true.</para>
            <para></para>
            <para>Versioning</para>
            <para>QDataStream's binary format has evolved since Qt 1.0, and is likely to continue evolving to reflect changes done in Qt. When inputting or outputting complex types, it's very important to make sure that the same version of the stream (version()) is used for reading and writing. If you need both forward and backward compatibility, you can hardcode the version number in the application:</para>
            <para> stream.setVersion(QDataStream::Qt_4_0);</para>
            <para>If you are producing a new binary data format, such as a file format for documents created by your application, you could use a QDataStream to write the data in a portable format. Typically, you would write a brief header containing a magic string and a version number to give yourself room for future expansion. For example:</para>
            <para> QFile file(&amp;quot;file.xxx&amp;quot;);</para>
            <para> file.open(QIODevice::WriteOnly);</para>
            <para> QDataStream out(&amp;amp;file);</para>
            <para></para>
            <para> // Write a header with a &amp;quot;magic number&amp;quot; and a version</para>
            <para> out &amp;lt;&amp;lt; (quint32)0xA0B0C0D0;</para>
            <para> out &amp;lt;&amp;lt; (qint32)123;</para>
            <para></para>
            <para> out.setVersion(QDataStream::Qt_4_0);</para>
            <para></para>
            <para> // Write the data</para>
            <para> out &amp;lt;&amp;lt; lots_of_interesting_data;</para>
            <para>Then read it in with:</para>
            <para> QFile file(&amp;quot;file.xxx&amp;quot;);</para>
            <para> file.open(QIODevice::ReadOnly);</para>
            <para> QDataStream in(&amp;amp;file);</para>
            <para></para>
            <para> // Read and check the header</para>
            <para> quint32 magic;</para>
            <para> in &amp;gt;&amp;gt; magic;</para>
            <para> if (magic != 0xA0B0C0D0)</para>
            <para>     return XXX_BAD_FILE_FORMAT;</para>
            <para></para>
            <para> // Read the version</para>
            <para> qint32 version;</para>
            <para> in &amp;gt;&amp;gt; version;</para>
            <para> if (version &amp;lt; 100)</para>
            <para>     return XXX_BAD_FILE_TOO_OLD;</para>
            <para> if (version &amp;gt; 123)</para>
            <para>     return XXX_BAD_FILE_TOO_NEW;</para>
            <para></para>
            <para> if (version &amp;lt;= 110)</para>
            <para>     in.setVersion(QDataStream::Qt_3_2);</para>
            <para> else</para>
            <para>     in.setVersion(QDataStream::Qt_4_0);</para>
            <para></para>
            <para> // Read the data</para>
            <para> in &amp;gt;&amp;gt; lots_of_interesting_data;</para>
            <para> if (version &amp;gt;= 120)</para>
            <para>     in &amp;gt;&amp;gt; data_new_in_XXX_version_1_2;</para>
            <para> in &amp;gt;&amp;gt; other_interesting_data;</para>
            <para>You can select which byte order to use when serializing data. The default setting is big endian (MSB first). Changing it to little endian breaks the portability (unless the reader also changes to little endian). We recommend keeping this setting unless you have special requirements.</para>
            <para></para>
            <para>Reading and writing raw binary data</para>
            <para>You may wish to read/write your own raw binary data to/from the data stream directly. Data may be read from the stream into a preallocated char * using readRawData(). Similarly data can be written to the stream using writeRawData(). Note that any encoding/decoding of the data must be done by you.</para>
            <para>A similar pair of functions is readBytes() and writeBytes(). These differ from their raw counterparts as follows: readBytes() reads a quint32 which is taken to be the length of the data to be read, then that number of bytes is read into the preallocated char *; writeBytes() writes a quint32 containing the length of the data, followed by the data. Note that any encoding/decoding of the data (apart from the length quint32) must be done by you.</para>
            <para></para>
            <para>Reading and writing Qt collection classes</para>
            <para>The Qt container classes can also be serialized to a QDataStream. These include QList, QLinkedList, QVector, QSet, QHash, and QMap. The stream operators are declared as non-members of the classes.</para>
            <para></para>
            <para>Reading and writing other Qt classes.</para>
            <para>In addition to the overloaded stream operators documented here, any Qt classes that you might want to serialize to a QDataStream will have appropriate stream operators declared as non-member of the class:</para>
            <para> QDataStream &amp;amp;operator&amp;lt;&amp;lt;(QDataStream &amp;amp;, const QXxx &amp;amp;);</para>
            <para> QDataStream &amp;amp;operator&amp;gt;&amp;gt;(QDataStream &amp;amp;, QXxx &amp;amp;);</para>
            <para>For example, here are the stream operators declared as non-members of the QImage class:</para>
            <para> QDataStream &amp;amp; operator&amp;lt;&amp;lt; (QDataStream&amp;amp; stream, const QImage&amp;amp; image);</para>
            <para> QDataStream &amp;amp; operator&amp;gt;&amp;gt; (QDataStream&amp;amp; stream, QImage&amp;amp; image);</para>
            <para>To see if your favorite Qt class has similar stream operators defined, check the Related Non-Members section of the class's documentation page.</para>
            <para></para>
            <para>See also QTextStream and QVariant.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QDataStream.#ctor">
            <summary>
            <para>Constructs a data stream that has no I/O device.</para>
            <para>See also setDevice().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.#ctor(QtCore.QIODevice)">
            <summary>
            <para>Constructs a data stream that uses the I/O device d.</para>
            <para>Warning: If you use QSocket or QSocketDevice as the I/O device d for reading data, you must make sure that enough data is available on the socket for the operation to successfully proceed; QDataStream does not have any means to handle or recover from short-reads.</para>
            <para>See also setDevice() and device().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.#ctor(QtCore.QByteArray)">
            <summary>
            <para>Constructs a read-only data stream that operates on byte array a. Use QDataStream(QByteArray*, int) if you want to write to a byte array.</para>
            <para>Since QByteArray is not a QIODevice subclass, internally a QBuffer is created to wrap the byte array.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.#ctor(QtCore.QByteArray,QtCore.QIODevice.OpenModeFlag)">
            <summary>
            <para>Constructs a data stream that has no I/O device.</para>
            <para>See also setDevice().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.AtEnd">
            <summary>
            <para>Returns true if the I/O device has reached the end position (end of the stream or file) or if there is no I/O device set; otherwise returns false.</para>
            <para>See also QIODevice::atEnd().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Write(System.SByte)">
            <summary>
            <para>Writes a signed byte, i, to the stream and returns a reference to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Write(System.Byte)">
            <summary>
            <para>Writes a signed byte, i, to the stream and returns a reference to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Write(System.Int16)">
            <summary>
            <para>Writes a signed byte, i, to the stream and returns a reference to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Write(System.UInt16)">
            <summary>
            <para>Writes a signed byte, i, to the stream and returns a reference to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Write(System.Int32)">
            <summary>
            <para>Writes a signed byte, i, to the stream and returns a reference to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Write(System.UInt32)">
            <summary>
            <para>Writes a signed byte, i, to the stream and returns a reference to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Write(System.Int64)">
            <summary>
            <para>Writes a signed byte, i, to the stream and returns a reference to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Write(System.UInt64)">
            <summary>
            <para>Writes a signed byte, i, to the stream and returns a reference to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Write(System.Boolean)">
            <summary>
            <para>Writes a boolean value, i, to the stream. Returns a reference to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Write(System.Single)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Writes a floating point number, f, to the stream using the standard IEEE 754 format. Returns a reference to the stream.</para>
            <para>See also setFloatingPointPrecision().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Write(System.Double)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Writes a floating point number, f, to the stream using the standard IEEE 754 format. Returns a reference to the stream.</para>
            <para>See also setFloatingPointPrecision().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Write(System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Writes the '\0'-terminated string s to the stream and returns a reference to the stream.</para>
            <para>The string is serialized using writeBytes().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Read(System.SByte@)">
            <summary>
            <para>Reads a signed byte from the stream into i, and returns a reference to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Read(System.Byte@)">
            <summary>
            <para>Reads a signed byte from the stream into i, and returns a reference to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Read(System.Int16@)">
            <summary>
            <para>Reads a signed byte from the stream into i, and returns a reference to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Read(System.UInt16@)">
            <summary>
            <para>Reads a signed byte from the stream into i, and returns a reference to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Read(System.Int32@)">
            <summary>
            <para>Reads a signed byte from the stream into i, and returns a reference to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Read(System.UInt32@)">
            <summary>
            <para>Reads a signed byte from the stream into i, and returns a reference to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Read(System.Int64@)">
            <summary>
            <para>Reads a signed byte from the stream into i, and returns a reference to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Read(System.UInt64@)">
            <summary>
            <para>Reads a signed byte from the stream into i, and returns a reference to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Read(System.Boolean@)">
            <summary>
            <para>Reads a boolean value from the stream into i. Returns a reference to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Read(System.Single@)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Reads a floating point number from the stream into f, using the standard IEEE 754 format. Returns a reference to the stream.</para>
            <para>See also setFloatingPointPrecision().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Read(System.Double@)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Reads a floating point number from the stream into f, using the standard IEEE 754 format. Returns a reference to the stream.</para>
            <para>See also setFloatingPointPrecision().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Read(QtCore.Pointer{System.SByte})">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Reads the '\0'-terminated string s from the stream and returns a reference to the stream.</para>
            <para>Space for the string is allocated using new -- the caller must destroy it with delete[].</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.ReadBytes(QtCore.Pointer{System.SByte},System.UInt32@)">
            <summary>
            <para>Reads the buffer s from the stream and returns a reference to the stream.</para>
            <para>The buffer s is allocated using new. Destroy it with the delete[] operator.</para>
            <para>The l parameter is set to the length of the buffer. If the string read is empty, l is set to 0 and s is set to a null pointer.</para>
            <para>The serialization format is a quint32 length specifier first, then l bytes of data.</para>
            <para>See also readRawData() and writeBytes().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.ReadRawData(QtCore.Pointer{System.SByte},System.Int32)">
            <summary>
            <para>Reads at most len bytes from the stream into s and returns the number of bytes read. If an error occurs, this function returns -1.</para>
            <para>The buffer s must be preallocated. The data is not encoded.</para>
            <para>See also readBytes(), QIODevice::read(), and writeRawData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.ResetStatus">
            <summary>
            <para>Resets the status of the data stream.</para>
            <para>See also Status, status(), and setStatus().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.SkipRawData(System.Int32)">
            <summary>
            <para>Skips len bytes from the device. Returns the number of bytes actually skipped, or -1 on error.</para>
            <para>This is equivalent to calling readRawData() on a buffer of length len and ignoring the buffer.</para>
            <para>This function was introduced in Qt 4.1.</para>
            <para>See also QIODevice::seek().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.UnsetDevice">
            <summary>
            <para>Unsets the I/O device. Use setDevice(0) instead.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.WriteBytes(System.String,System.UInt32)">
            <summary>
            <para>Writes the length specifier len and the buffer s to the stream and returns a reference to the stream.</para>
            <para>The len is serialized as a quint32, followed by len bytes from s. Note that the data is not encoded.</para>
            <para>See also writeRawData() and readBytes().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.WriteRawData(System.String,System.Int32)">
            <summary>
            <para>Writes len bytes from s to the stream. Returns the number of bytes actually written, or -1 on error. The data is not encoded.</para>
            <para>See also writeBytes(), QIODevice::write(), and readRawData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDataStream.Finalize">
            <summary>
            <para>Destroys the data stream.</para>
            <para>The destructor will not affect the current I/O device, unless it is an internal I/O device (e.g. a QBuffer) processing a QByteArray passed in the constructor, in which case the internal I/O device is destroyed.</para>
            </summary>
        </member>
        <member name="P:QtCore.QDataStream.byteOrder">
            <summary>
            <para>Returns the current byte order setting -- either BigEndian or LittleEndian.</para>
            <para>Sets the serialization byte order to bo.</para>
            <para>The bo parameter can be QDataStream::BigEndian or QDataStream::LittleEndian.</para>
            <para>The default setting is big endian. We recommend leaving this setting unless you have special requirements.</para>
            </summary>
        </member>
        <member name="P:QtCore.QDataStream.Device">
            <summary>
            <para>Returns the I/O device currently set, or 0 if no device is currently set.</para>
            <para>void QDataStream::setDevice(QIODevice *d)</para>
            <para>Sets the I/O device to d, which can be 0 to unset to current I/O device.</para>
            </summary>
        </member>
        <member name="P:QtCore.QDataStream.floatingPointPrecision">
            <summary>
            <para>Returns the floating point precision of the data stream.</para>
            <para>This function was introduced in Qt 4.6.</para>
            <para>Sets the floating point precision of the data stream to precision. If the floating point precision is DoublePrecision and the version of the data stream is Qt_4_6 or higher, all floating point numbers will be written and read with 64-bit precision. If the floating point precision is SinglePrecision and the version is Qt_4_6 or higher, all floating point numbers will be written and read with 32-bit precision.</para>
            <para>For versions prior to Qt_4_6, the precision of floating point numbers in the data stream depends on the stream operator called.</para>
            <para>The default is DoublePrecision.</para>
            <para>Warning: This property must be set to the same value on the object that writes and the object that reads the data stream.</para>
            <para>This function was introduced in Qt 4.6.</para>
            </summary>
        </member>
        <member name="P:QtCore.QDataStream.status">
            <summary>
            <para>Returns the status of the data stream.</para>
            <para>Sets the status of the data stream to the status given.</para>
            <para>Subsequent calls to setStatus() are ignored until resetStatus() is called.</para>
            </summary>
        </member>
        <member name="P:QtCore.QDataStream.version">
            <summary>
            <para>Returns the version number of the data serialization format.</para>
            <para>Sets the version number of the data serialization format to v.</para>
            <para>You don't have to set a version if you are using the current version of Qt, but for your own custom binary formats we recommend that you do; see Versioning in the Detailed Description.</para>
            <para>To accommodate new functionality, the datastream serialization format of some Qt classes has changed in some versions of Qt. If you want to read data that was created by an earlier version of Qt, or write data that can be read by a program that was compiled with an earlier version of Qt, use this function to modify the serialization format used by QDataStream.</para>
            <para></para>
            <para>Qt VersionQDataStream Version</para>
            <para>Qt 4.6	12</para>
            <para>Qt 4.5	11</para>
            <para>Qt 4.4	10</para>
            <para>Qt 4.3	9</para>
            <para>Qt 4.2	8</para>
            <para>Qt 4.0, 4.1	7</para>
            <para>Qt 3.3	6</para>
            <para>Qt 3.1, 3.2	5</para>
            <para>Qt 3.0	4</para>
            <para>Qt 2.1, 2.2, 2.3	3</para>
            <para>Qt 2.0	2</para>
            <para>Qt 1.x	1</para>
            <para></para>
            <para>The Version enum provides symbolic constants for the different versions of Qt. For example:</para>
            <para> QDataStream out(file);</para>
            <para> out.setVersion(QDataStream::Qt_4_0);</para>
            </summary>
        </member>
        <member name="T:QtCore.QDataStream.ByteOrder">
            <summary>
            <para>The byte order used for reading/writing the data.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDataStream.ByteOrder.BigEndian">
            <summary>
            <para>Most significant byte first (the default)</para>
            </summary>
        </member>
        <member name="F:QtCore.QDataStream.ByteOrder.LittleEndian">
            <summary>
            <para>Least significant byte first</para>
            </summary>
        </member>
        <member name="T:QtCore.QDataStream.FloatingPointPrecision">
            <summary>
            <para>The precision of floating point numbers used for reading/writing the data. This will only have an effect if the version of the data stream is Qt_4_6 or higher.</para>
            <para>Warning: The floating point precision must be set to the same value on the object that writes and the object that reads the data stream.</para>
            <para>See also setFloatingPointPrecision() and floatingPointPrecision().</para>
            </summary>
        </member>
        <member name="F:QtCore.QDataStream.FloatingPointPrecision.DoublePrecision">
            <summary>
            <para>All floating point numbers in the data stream have 64-bit precision.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDataStream.FloatingPointPrecision.SinglePrecision">
            <summary>
            <para>All floating point numbers in the data stream have 32-bit precision.</para>
            </summary>
        </member>
        <member name="T:QtCore.QDataStream.Status">
            <summary>
            <para>This enum describes the current status of the data stream.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDataStream.Status.Ok">
            <summary>
            <para>The data stream is operating normally.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDataStream.Status.ReadCorruptData">
            <summary>
            <para>The data stream has read corrupt data.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDataStream.Status.ReadPastEnd">
            <summary>
            <para>The data stream has read past the end of the data in the underlying device.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDataStream.Status.WriteFailed">
            <summary>
            <para>The data stream cannot write to the underlying device.</para>
            </summary>
        </member>
        <member name="T:QtCore.QDataStream.Version">
            <summary>
            <para>This enum provides symbolic synonyms for the data serialization format version numbers.</para>
            <para>See also setVersion() and version().</para>
            </summary>
        </member>
        <member name="F:QtCore.QDataStream.Version.Qt_1_0">
            <summary>
            <para>Version 1 (Qt 1.x)</para>
            </summary>
        </member>
        <member name="F:QtCore.QDataStream.Version.Qt_2_0">
            <summary>
            <para>Version 2 (Qt 2.0)</para>
            </summary>
        </member>
        <member name="F:QtCore.QDataStream.Version.Qt_2_1">
            <summary>
            <para>Version 3 (Qt 2.1, 2.2, 2.3)</para>
            </summary>
        </member>
        <member name="F:QtCore.QDataStream.Version.Qt_3_0">
            <summary>
            <para>Version 4 (Qt 3.0)</para>
            </summary>
        </member>
        <member name="F:QtCore.QDataStream.Version.Qt_3_1">
            <summary>
            <para>Version 5 (Qt 3.1, 3.2)</para>
            </summary>
        </member>
        <member name="F:QtCore.QDataStream.Version.Qt_3_3">
            <summary>
            <para>Version 6 (Qt 3.3)</para>
            </summary>
        </member>
        <member name="F:QtCore.QDataStream.Version.Qt_4_0">
            <summary>
            <para>Version 7 (Qt 4.0, Qt 4.1)</para>
            </summary>
        </member>
        <member name="F:QtCore.QDataStream.Version.Qt_4_1">
            <summary>
            <para>Version 7 (Qt 4.0, Qt 4.1)</para>
            </summary>
        </member>
        <member name="F:QtCore.QDataStream.Version.Qt_4_2">
            <summary>
            <para>Version 8 (Qt 4.2)</para>
            </summary>
        </member>
        <member name="F:QtCore.QDataStream.Version.Qt_4_3">
            <summary>
            <para>Version 9 (Qt 4.3)</para>
            </summary>
        </member>
        <member name="F:QtCore.QDataStream.Version.Qt_4_4">
            <summary>
            <para>Version 10 (Qt 4.4)</para>
            </summary>
        </member>
        <member name="F:QtCore.QDataStream.Version.Qt_4_5">
            <summary>
            <para>Version 11 (Qt 4.5)</para>
            </summary>
        </member>
        <member name="F:QtCore.QDataStream.Version.Qt_4_6">
            <summary>
            <para>Version 12 (Qt 4.6, Qt 4.7, Qt 4.8)</para>
            </summary>
        </member>
        <member name="F:QtCore.QDataStream.Version.Qt_4_7">
            <summary>
            <para>Same as Qt_4_6.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDataStream.Version.Qt_4_8">
            <summary>
            <para>Same as Qt_4_6.</para>
            </summary>
        </member>
        <member name="T:QtCore.QDate">
            <summary>
            The QDate class provides date functions.
            </summary>
            <remarks>
            <para></para>
            <para>A QDate object contains a calendar date, i.e. year, month, and day numbers, in the Gregorian calendar. (see Use of Gregorian and Julian Calendars for dates prior to 15 October 1582). It can read the current date from the system clock. It provides functions for comparing dates, and for manipulating dates. For example, it is possible to add and subtract days, months, and years to dates.</para>
            <para>A QDate object is typically created either by giving the year, month, and day numbers explicitly. Note that QDate interprets two digit years as is, i.e., years 0 - 99. A QDate can also be constructed with the static function currentDate(), which creates a QDate object containing the system clock's date. An explicit date can also be set using setDate(). The fromString() function returns a QDate given a string and a date format which is used to interpret the date within the string.</para>
            <para>The year(), month(), and day() functions provide access to the year, month, and day numbers. Also, dayOfWeek() and dayOfYear() functions are provided. The same information is provided in textual format by the toString(), shortDayName(), longDayName(), shortMonthName(), and longMonthName() functions.</para>
            <para>QDate provides a full set of operators to compare two QDate objects where smaller means earlier, and larger means later.</para>
            <para>You can increment (or decrement) a date by a given number of days using addDays(). Similarly you can use addMonths() and addYears(). The daysTo() function returns the number of days between two dates.</para>
            <para>The daysInMonth() and daysInYear() functions return how many days there are in this date's month and year, respectively. The isLeapYear() function indicates whether a date is in a leap year.</para>
            <para></para>
            <para></para>
            <para>Use of Gregorian and Julian Calendars</para>
            <para>QDate uses the Gregorian calendar in all locales, beginning on the date 15 October 1582. For dates up to and including 4 October 1582, the Julian calendar is used. This means there is a 10-day gap in the internal calendar between the 4th and the 15th of October 1582. When you use QDateTime for dates in that epoch, the day after 4 October 1582 is 15 October 1582, and the dates in the gap are invalid.</para>
            <para>The Julian to Gregorian changeover date used here is the date when the Gregorian calendar was first introduced, by Pope Gregory XIII. That change was not universally accepted and some localities only executed it at a later date (if at all). QDateTime doesn't take any of these historical facts into account. If an application must support a locale-specific dating system, it must do so on its own, remembering to convert the dates using the Julian day.</para>
            <para></para>
            <para>No Year 0</para>
            <para>There is no year 0. Dates in that year are considered invalid. The year -1 is the year &amp;quot;1 before Christ&amp;quot; or &amp;quot;1 before current era.&amp;quot; The day before 0001-01-01 is December 31st, 1 BCE.</para>
            <para></para>
            <para>Range of Valid Dates</para>
            <para>The range of valid dates is from January 2nd, 4713 BCE, to sometime in the year 11 million CE. The Julian Day returned by QDate::toJulianDay() is a number in the contiguous range from 1 to overflow, even across QDateTime's &amp;quot;date holes&amp;quot;. It is suitable for use in applications that must convert a QDateTime to a date in another calendar system, e.g., Hebrew, Islamic or Chinese.</para>
            <para></para>
            <para>See also QTime, QDateTime, QDateEdit, QDateTimeEdit, and QCalendarWidget.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QDate.#ctor">
            <summary>
            <para>Constructs a null date. Null dates are invalid.</para>
            <para>See also isNull() and isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.#ctor(QtCore.QDate)">
            <summary>
            <para>Constructs a null date. Null dates are invalid.</para>
            <para>See also isNull() and isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.#ctor(System.Int32,System.Int32,System.Int32)">
            <summary>
            <para>Constructs a date with year y, month m and day d.</para>
            <para>If the specified date is invalid, the date is not set and isValid() returns false. A date before 2 January 4713 B.C. is considered invalid.</para>
            <para>Warning: Years 0 to 99 are interpreted as is, i.e., years 0-99.</para>
            <para>See also isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.AddDays(System.Int32)">
            <summary>
            <para>Returns a QDate object containing a date ndays later than the date of this object (or earlier if ndays is negative).</para>
            <para>See also addMonths(), addYears(), and daysTo().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.AddMonths(System.Int32)">
            <summary>
            <para>Returns a QDate object containing a date nmonths later than the date of this object (or earlier if nmonths is negative).</para>
            <para>Note: If the ending day/month combination does not exist in the resulting month/year, this function will return a date that is the latest valid date.</para>
            <para>Warning: QDate has a date hole around the days introducing the Gregorian calendar (the days 5 to 14 October 1582, inclusive, do not exist). If the calculation ends in one of those days, QDate will return either October 4 or October 15.</para>
            <para>See also addDays() and addYears().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.AddYears(System.Int32)">
            <summary>
            <para>Returns a QDate object containing a date nyears later than the date of this object (or earlier if nyears is negative).</para>
            <para>Note: If the ending day/month combination does not exist in the resulting year (i.e., if the date was Feb 29 and the final year is not a leap year), this function will return a date that is the latest valid date (that is, Feb 28).</para>
            <para>See also addDays() and addMonths().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.CurrentDate">
            <summary>
            <para>Returns the current date, as reported by the system clock.</para>
            <para>See also QTime::currentTime() and QDateTime::currentDateTime().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.Day">
            <summary>
            <para>Returns the day of the month (1 to 31) of this date.</para>
            <para>See also year(), month(), and dayOfWeek().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.DayOfWeek">
            <summary>
            <para>Returns the weekday (1 = Monday to 7 = Sunday) for this date.</para>
            <para>See also day(), dayOfYear(), and Qt::DayOfWeek.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.DayOfYear">
            <summary>
            <para>Returns the day of the year (1 to 365 or 366 on leap years) for this date.</para>
            <para>See also day() and dayOfWeek().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.DaysInMonth">
            <summary>
            <para>Returns the number of days in the month (28 to 31) for this date.</para>
            <para>See also day() and daysInYear().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.DaysInYear">
            <summary>
            <para>Returns the number of days in the year (365 or 366) for this date.</para>
            <para>See also day() and daysInMonth().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.DaysTo(QtCore.QDate)">
            <summary>
            <para>Returns the number of days from this date to d (which is negative if d is earlier than this date).</para>
            <para>Example:</para>
            <para> QDate d1(1995, 5, 17);  // May 17, 1995</para>
            <para> QDate d2(1995, 5, 20);  // May 20, 1995</para>
            <para> d1.daysTo(d2);          // returns 3</para>
            <para> d2.daysTo(d1);          // returns -3</para>
            <para>See also addDays().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.FromJulianDay(System.Int32)">
            <summary>
            <para>Converts the Julian day jd to a QDate.</para>
            <para>See also toJulianDay().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.FromString(System.String,QtCore.Qt.DateFormat)">
            <summary>
            <para>Returns the QDate represented by the string, using the format given, or an invalid date if the string cannot be parsed.</para>
            <para>Note for Qt::TextDate: It is recommended that you use the English short month names (e.g. &quot;Jan&quot;). Although localized month names can also be used, they depend on the user's locale settings.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.FromString(System.String,System.String)">
            <summary>
            <para>Returns the QDate represented by the string, using the format given, or an invalid date if the string cannot be parsed.</para>
            <para>These expressions may be used for the format:</para>
            <para></para>
            <para>ExpressionOutput</para>
            <para>d	The day as a number without a leading zero (1 to 31)</para>
            <para>dd	The day as a number with a leading zero (01 to 31)</para>
            <para>ddd	The abbreviated localized day name (e.g. 'Mon' to 'Sun'). Uses QDate::shortDayName().</para>
            <para>dddd	The long localized day name (e.g. 'Monday' to 'Sunday'). Uses QDate::longDayName().</para>
            <para>M	The month as a number without a leading zero (1 to 12)</para>
            <para>MM	The month as a number with a leading zero (01 to 12)</para>
            <para>MMM	The abbreviated localized month name (e.g. 'Jan' to 'Dec'). Uses QDate::shortMonthName().</para>
            <para>MMMM	The long localized month name (e.g. 'January' to 'December'). Uses QDate::longMonthName().</para>
            <para>yy	The year as two digit number (00 to 99)</para>
            <para>yyyy	The year as four digit number. If the year is negative, a minus sign is prepended in addition.</para>
            <para></para>
            <para>All other input characters will be treated as text. Any sequence of characters that are enclosed in single quotes will also be treated as text and will not be used as an expression. For example:</para>
            <para> QDate date = QDate::fromString(&quot;1MM12car2003&quot;, &quot;d'MM'MMcaryyyy&quot;);</para>
            <para> // date is 1 December 2003</para>
            <para>If the format is not satisfied, an invalid QDate is returned. The expressions that don't expect leading zeroes (d, M) will be greedy. This means that they will use two digits even if this will put them outside the accepted range of values and leaves too few digits for other sections. For example, the following format string could have meant January 30 but the M will grab two digits, resulting in an invalid date:</para>
            <para> QDate date = QDate::fromString(&quot;130&quot;, &quot;Md&quot;); // invalid</para>
            <para>For any field that is not represented in the format the following defaults are used:</para>
            <para></para>
            <para>FieldDefault value</para>
            <para>Year	1900</para>
            <para>Month	1</para>
            <para>Day	1</para>
            <para></para>
            <para>The following examples demonstrate the default values:</para>
            <para> QDate::fromString(&quot;1.30&quot;, &quot;M.d&quot;);           // January 30 1900</para>
            <para> QDate::fromString(&quot;20000110&quot;, &quot;yyyyMMdd&quot;);  // January 10, 2000</para>
            <para> QDate::fromString(&quot;20000110&quot;, &quot;yyyyMd&quot;);    // January 10, 2000</para>
            <para>See also QDateTime::fromString(), QTime::fromString(), QDate::toString(), QDateTime::toString(), and QTime::toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.GetDate(System.Int32@,System.Int32@,System.Int32@)">
            <summary>
            <para>Extracts the date's year, month, and day, and assigns them to *year, *month, and *day. The pointers may be null.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also year(), month(), day(), and isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.IsLeapYear(System.Int32)">
            <summary>
            <para>Returns true if the specified year is a leap year; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.IsNull">
            <summary>
            <para>Returns true if the date is null; otherwise returns false. A null date is invalid.</para>
            <para>Note: The behavior of this function is equivalent to isValid().</para>
            <para>See also isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.IsValid">
            <summary>
            <para>Returns true if this date is valid; otherwise returns false.</para>
            <para>See also isNull().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.IsValid(System.Int32,System.Int32,System.Int32)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns true if the specified date (year, month, and day) is valid; otherwise returns false.</para>
            <para>Example:</para>
            <para> QDate::isValid(2002, 5, 17);  // true</para>
            <para> QDate::isValid(2002, 2, 30);  // false (Feb 30 does not exist)</para>
            <para> QDate::isValid(2004, 2, 29);  // true (2004 is a leap year)</para>
            <para> QDate::isValid(2000, 2, 29);  // true (2000 is a leap year)</para>
            <para> QDate::isValid(2006, 2, 29);  // false (2006 is not a leap year)</para>
            <para> QDate::isValid(2100, 2, 29);  // false (2100 is not a leap year)</para>
            <para> QDate::isValid(1202, 6, 6);   // true (even though 1202 is pre-Gregorian)</para>
            <para>See also isNull() and setDate().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.LongDayName(System.Int32)">
            <summary>
            <para>Returns the long version of the name of the weekday. The returned name is in normal type which can be used for date formatting.</para>
            <para>See also toString(), shortDayName(), shortMonthName(), and longMonthName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.LongDayName(System.Int32,QtCore.QDate.MonthNameType)">
            <summary>
            <para>Returns the long name of the weekday for the representation specified by type.</para>
            <para>The days are enumerated using the following convention:</para>
            <para></para>
            <para>1 = &quot;Monday&quot;</para>
            <para>2 = &quot;Tuesday&quot;</para>
            <para>3 = &quot;Wednesday&quot;</para>
            <para>4 = &quot;Thursday&quot;</para>
            <para>5 = &quot;Friday&quot;</para>
            <para>6 = &quot;Saturday&quot;</para>
            <para>7 = &quot;Sunday&quot;</para>
            <para></para>
            <para>The day names will be localized according to the system's locale settings.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also toString(), shortDayName(), shortMonthName(), and longMonthName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.LongMonthName(System.Int32)">
            <summary>
            <para>Returns the long version of the name of the month. The returned name is in normal type which can be used for date formatting.</para>
            <para>See also toString(), shortMonthName(), shortDayName(), and longDayName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.LongMonthName(System.Int32,QtCore.QDate.MonthNameType)">
            <summary>
            <para>Returns the long name of the month for the representation specified by type.</para>
            <para>The months are enumerated using the following convention:</para>
            <para></para>
            <para>1 = &quot;January&quot;</para>
            <para>2 = &quot;February&quot;</para>
            <para>3 = &quot;March&quot;</para>
            <para>4 = &quot;April&quot;</para>
            <para>5 = &quot;May&quot;</para>
            <para>6 = &quot;June&quot;</para>
            <para>7 = &quot;July&quot;</para>
            <para>8 = &quot;August&quot;</para>
            <para>9 = &quot;September&quot;</para>
            <para>10 = &quot;October&quot;</para>
            <para>11 = &quot;November&quot;</para>
            <para>12 = &quot;December&quot;</para>
            <para></para>
            <para>The month names will be localized according to the system's locale settings.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also toString(), shortMonthName(), shortDayName(), and longDayName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.Month">
            <summary>
            <para>Returns the number corresponding to the month of this date, using the following convention:</para>
            <para></para>
            <para>1 = &quot;January&quot;</para>
            <para>2 = &quot;February&quot;</para>
            <para>3 = &quot;March&quot;</para>
            <para>4 = &quot;April&quot;</para>
            <para>5 = &quot;May&quot;</para>
            <para>6 = &quot;June&quot;</para>
            <para>7 = &quot;July&quot;</para>
            <para>8 = &quot;August&quot;</para>
            <para>9 = &quot;September&quot;</para>
            <para>10 = &quot;October&quot;</para>
            <para>11 = &quot;November&quot;</para>
            <para>12 = &quot;December&quot;</para>
            <para></para>
            <para>See also year() and day().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.op_Inequality(QtCore.QDate,QtCore.QDate)">
            <summary>
            <para>Returns true if this date is different from d; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.op_LessThan(QtCore.QDate,QtCore.QDate)">
            <summary>
            <para>Returns true if this date is earlier than d; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.op_LessThanOrEqual(QtCore.QDate,QtCore.QDate)">
            <summary>
            <para>Returns true if this date is earlier than or equal to d; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.op_Equality(QtCore.QDate,QtCore.QDate)">
            <summary>
            <para>Returns true if this date is equal to d; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.op_GreaterThan(QtCore.QDate,QtCore.QDate)">
            <summary>
            <para>Returns true if this date is later than d; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.op_GreaterThanOrEqual(QtCore.QDate,QtCore.QDate)">
            <summary>
            <para>Returns true if this date is later than or equal to d; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.SetDate(System.Int32,System.Int32,System.Int32)">
            <summary>
            <para>Sets the date's year, month, and day. Returns true if the date is valid; otherwise returns false.</para>
            <para>If the specified date is invalid, the QDate object is set to be invalid. Any date before 2 January 4713 B.C. is considered invalid.</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.SetYMD(System.Int32,System.Int32,System.Int32)">
            <summary>
            <para>Sets the date's year y, month m, and day d.</para>
            <para>If y is in the range 0 to 99, it is interpreted as 1900 to 1999.</para>
            <para>Use setDate() instead.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.ShortDayName(System.Int32)">
            <summary>
            <para>Returns the short version of the name of the weekday. The returned name is in normal type which can be used for date formatting.</para>
            <para>See also toString(), longDayName(), shortMonthName(), and longMonthName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.ShortDayName(System.Int32,QtCore.QDate.MonthNameType)">
            <summary>
            <para>Returns the short name of the weekday for the representation specified by type.</para>
            <para>The days are enumerated using the following convention:</para>
            <para></para>
            <para>1 = &quot;Mon&quot;</para>
            <para>2 = &quot;Tue&quot;</para>
            <para>3 = &quot;Wed&quot;</para>
            <para>4 = &quot;Thu&quot;</para>
            <para>5 = &quot;Fri&quot;</para>
            <para>6 = &quot;Sat&quot;</para>
            <para>7 = &quot;Sun&quot;</para>
            <para></para>
            <para>The day names will be localized according to the system's locale settings.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also toString(), shortMonthName(), longMonthName(), and longDayName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.ShortMonthName(System.Int32)">
            <summary>
            <para>Returns the short version of the name of the month. The returned name is in normal type which can be used for date formatting.</para>
            <para>See also toString(), longMonthName(), shortDayName(), and longDayName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.ShortMonthName(System.Int32,QtCore.QDate.MonthNameType)">
            <summary>
            <para>Returns the short name of the month for the representation specified by type.</para>
            <para>The months are enumerated using the following convention:</para>
            <para></para>
            <para>1 = &quot;Jan&quot;</para>
            <para>2 = &quot;Feb&quot;</para>
            <para>3 = &quot;Mar&quot;</para>
            <para>4 = &quot;Apr&quot;</para>
            <para>5 = &quot;May&quot;</para>
            <para>6 = &quot;Jun&quot;</para>
            <para>7 = &quot;Jul&quot;</para>
            <para>8 = &quot;Aug&quot;</para>
            <para>9 = &quot;Sep&quot;</para>
            <para>10 = &quot;Oct&quot;</para>
            <para>11 = &quot;Nov&quot;</para>
            <para>12 = &quot;Dec&quot;</para>
            <para></para>
            <para>The month names will be localized according to the system's locale settings.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also toString(), longMonthName(), shortDayName(), and longDayName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.ToJulianDay">
            <summary>
            <para>Converts the date to a Julian day.</para>
            <para>See also fromJulianDay().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.ToString">
            <summary>
            <para>Returns the date as a string. The format parameter determines the format of the result string.</para>
            <para>These expressions may be used:</para>
            <para></para>
            <para>ExpressionOutput</para>
            <para>d	the day as number without a leading zero (1 to 31)</para>
            <para>dd	the day as number with a leading zero (01 to 31)</para>
            <para>ddd	the abbreviated localized day name (e.g. 'Mon' to 'Sun'). Uses QDate::shortDayName().</para>
            <para>dddd	the long localized day name (e.g. 'Monday' to 'Sunday'). Uses QDate::longDayName().</para>
            <para>M	the month as number without a leading zero (1 to 12)</para>
            <para>MM	the month as number with a leading zero (01 to 12)</para>
            <para>MMM	the abbreviated localized month name (e.g. 'Jan' to 'Dec'). Uses QDate::shortMonthName().</para>
            <para>MMMM	the long localized month name (e.g. 'January' to 'December'). Uses QDate::longMonthName().</para>
            <para>yy	the year as two digit number (00 to 99)</para>
            <para>yyyy	the year as four digit number. If the year is negative, a minus sign is prepended in addition.</para>
            <para></para>
            <para>All other input characters will be ignored. Any sequence of characters that are enclosed in singlequotes will be treated as text and not be used as an expression. Two consecutive singlequotes (&quot;''&quot;) are replaced by a singlequote in the output.</para>
            <para>Example format strings (assuming that the QDate is the 20 July 1969):</para>
            <para></para>
            <para>FormatResult</para>
            <para>dd.MM.yyyy	20.07.1969</para>
            <para>ddd MMMM d yy	Sun July 20 69</para>
            <para>'The day is' dddd	The day is Sunday</para>
            <para></para>
            <para>If the datetime is invalid, an empty string will be returned.</para>
            <para>Warning: The Qt::ISODate format is only valid for years in the range 0 to 9999. This restriction may apply to locale-aware formats as well, depending on the locale settings.</para>
            <para>See also QDateTime::toString() and QTime::toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.ToString(QtCore.Qt.DateFormat)">
            <summary>
            <para>Returns the date as a string. The format parameter determines the format of the result string.</para>
            <para>These expressions may be used:</para>
            <para></para>
            <para>ExpressionOutput</para>
            <para>d	the day as number without a leading zero (1 to 31)</para>
            <para>dd	the day as number with a leading zero (01 to 31)</para>
            <para>ddd	the abbreviated localized day name (e.g. 'Mon' to 'Sun'). Uses QDate::shortDayName().</para>
            <para>dddd	the long localized day name (e.g. 'Monday' to 'Sunday'). Uses QDate::longDayName().</para>
            <para>M	the month as number without a leading zero (1 to 12)</para>
            <para>MM	the month as number with a leading zero (01 to 12)</para>
            <para>MMM	the abbreviated localized month name (e.g. 'Jan' to 'Dec'). Uses QDate::shortMonthName().</para>
            <para>MMMM	the long localized month name (e.g. 'January' to 'December'). Uses QDate::longMonthName().</para>
            <para>yy	the year as two digit number (00 to 99)</para>
            <para>yyyy	the year as four digit number. If the year is negative, a minus sign is prepended in addition.</para>
            <para></para>
            <para>All other input characters will be ignored. Any sequence of characters that are enclosed in singlequotes will be treated as text and not be used as an expression. Two consecutive singlequotes (&quot;''&quot;) are replaced by a singlequote in the output.</para>
            <para>Example format strings (assuming that the QDate is the 20 July 1969):</para>
            <para></para>
            <para>FormatResult</para>
            <para>dd.MM.yyyy	20.07.1969</para>
            <para>ddd MMMM d yy	Sun July 20 69</para>
            <para>'The day is' dddd	The day is Sunday</para>
            <para></para>
            <para>If the datetime is invalid, an empty string will be returned.</para>
            <para>Warning: The Qt::ISODate format is only valid for years in the range 0 to 9999. This restriction may apply to locale-aware formats as well, depending on the locale settings.</para>
            <para>See also QDateTime::toString() and QTime::toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.ToString(System.String)">
            <summary>
            <para>Returns the date as a string. The format parameter determines the format of the result string.</para>
            <para>These expressions may be used:</para>
            <para></para>
            <para>ExpressionOutput</para>
            <para>d	the day as number without a leading zero (1 to 31)</para>
            <para>dd	the day as number with a leading zero (01 to 31)</para>
            <para>ddd	the abbreviated localized day name (e.g. 'Mon' to 'Sun'). Uses QDate::shortDayName().</para>
            <para>dddd	the long localized day name (e.g. 'Monday' to 'Sunday'). Uses QDate::longDayName().</para>
            <para>M	the month as number without a leading zero (1 to 12)</para>
            <para>MM	the month as number with a leading zero (01 to 12)</para>
            <para>MMM	the abbreviated localized month name (e.g. 'Jan' to 'Dec'). Uses QDate::shortMonthName().</para>
            <para>MMMM	the long localized month name (e.g. 'January' to 'December'). Uses QDate::longMonthName().</para>
            <para>yy	the year as two digit number (00 to 99)</para>
            <para>yyyy	the year as four digit number. If the year is negative, a minus sign is prepended in addition.</para>
            <para></para>
            <para>All other input characters will be ignored. Any sequence of characters that are enclosed in singlequotes will be treated as text and not be used as an expression. Two consecutive singlequotes (&quot;''&quot;) are replaced by a singlequote in the output.</para>
            <para>Example format strings (assuming that the QDate is the 20 July 1969):</para>
            <para></para>
            <para>FormatResult</para>
            <para>dd.MM.yyyy	20.07.1969</para>
            <para>ddd MMMM d yy	Sun July 20 69</para>
            <para>'The day is' dddd	The day is Sunday</para>
            <para></para>
            <para>If the datetime is invalid, an empty string will be returned.</para>
            <para>Warning: The Qt::ISODate format is only valid for years in the range 0 to 9999. This restriction may apply to locale-aware formats as well, depending on the locale settings.</para>
            <para>See also QDateTime::toString() and QTime::toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.WeekNumber">
            <summary>
            <para>Returns the week number (1 to 53), and stores the year in *yearNumber unless yearNumber is null (the default).</para>
            <para>Returns 0 if the date is invalid.</para>
            <para>In accordance with ISO 8601, weeks start on Monday and the first Thursday of a year is always in week 1 of that year. Most years have 52 weeks, but some have 53.</para>
            <para>*yearNumber is not always the same as year(). For example, 1 January 2000 has week number 52 in the year 1999, and 31 December 2002 has week number 1 in the year 2003.</para>
            <para>Copyright (c) 1989 The Regents of the University of California. All rights reserved.</para>
            <para>Redistribution and use in source and binary forms are permitted provided that the above copyright notice and this paragraph are duplicated in all such forms and that any documentation, advertising materials, and other materials related to such distribution and use acknowledge that the software was developed by the University of California, Berkeley. The name of the University may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED &quot;AS IS&quot; AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.</para>
            <para>See also isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.WeekNumber(System.Int32@)">
            <summary>
            <para>Returns the week number (1 to 53), and stores the year in *yearNumber unless yearNumber is null (the default).</para>
            <para>Returns 0 if the date is invalid.</para>
            <para>In accordance with ISO 8601, weeks start on Monday and the first Thursday of a year is always in week 1 of that year. Most years have 52 weeks, but some have 53.</para>
            <para>*yearNumber is not always the same as year(). For example, 1 January 2000 has week number 52 in the year 1999, and 31 December 2002 has week number 1 in the year 2003.</para>
            <para>Copyright (c) 1989 The Regents of the University of California. All rights reserved.</para>
            <para>Redistribution and use in source and binary forms are permitted provided that the above copyright notice and this paragraph are duplicated in all such forms and that any documentation, advertising materials, and other materials related to such distribution and use acknowledge that the software was developed by the University of California, Berkeley. The name of the University may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED &quot;AS IS&quot; AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.</para>
            <para>See also isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDate.Year">
            <summary>
            <para>Returns the year of this date. Negative numbers indicate years before 1 A.D. = 1 C.E., such that year -44 is 44 B.C.</para>
            <para>See also month() and day().</para>
            </summary>
        </member>
        <member name="T:QtCore.QDate.MonthNameType">
            <summary>
            <para>This enum describes the types of the string representation used for the month name.</para>
            <para>This enum was introduced or modified in Qt 4.5.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDate.MonthNameType.DateFormat">
            <summary>
            <para>This type of name can be used for date-to-string formatting.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDate.MonthNameType.StandaloneFormat">
            <summary>
            <para>This type is used when you need to enumerate months or weekdays. Usually standalone names are represented in singular forms with capitalized first letter.</para>
            </summary>
        </member>
        <member name="T:QtCore.QDateTime">
            <summary>
            The QDateTime class provides date and time functions.
            </summary>
            <remarks>
            <para></para>
            <para>A QDateTime object contains a calendar date and a clock time (a &amp;quot;datetime&amp;quot;). It is a combination of the QDate and QTime classes. It can read the current datetime from the system clock. It provides functions for comparing datetimes and for manipulating a datetime by adding a number of seconds, days, months, or years.</para>
            <para>A QDateTime object is typically created either by giving a date and time explicitly in the constructor, or by using the static function currentDateTime() that returns a QDateTime object set to the system clock's time. The date and time can be changed with setDate() and setTime(). A datetime can also be set using the setTime_t() function that takes a POSIX-standard &amp;quot;number of seconds since 00:00:00 on January 1, 1970&amp;quot; value. The fromString() function returns a QDateTime, given a string and a date format used to interpret the date within the string.</para>
            <para>The date() and time() functions provide access to the date and time parts of the datetime. The same information is provided in textual format by the toString() function.</para>
            <para>QDateTime provides a full set of operators to compare two QDateTime objects where smaller means earlier and larger means later.</para>
            <para>You can increment (or decrement) a datetime by a given number of milliseconds using addMSecs(), seconds using addSecs(), or days using addDays(). Similarly you can use addMonths() and addYears(). The daysTo() function returns the number of days between two datetimes, secsTo() returns the number of seconds between two datetimes, and msecsTo() returns the number of milliseconds between two datetimes.</para>
            <para>QDateTime can store datetimes as local time or as UTC. QDateTime::currentDateTime() returns a QDateTime expressed as local time; use toUTC() to convert it to UTC. You can also use timeSpec() to find out if a QDateTime object stores a UTC time or a local time. Operations such as addSecs() and secsTo() are aware of daylight saving time (DST).</para>
            <para>Note: QDateTime does not account for leap seconds.</para>
            <para></para>
            <para></para>
            <para>Use of Gregorian and Julian Calendars</para>
            <para>QDate uses the Gregorian calendar in all locales, beginning on the date 15 October 1582. For dates up to and including 4 October 1582, the Julian calendar is used. This means there is a 10-day gap in the internal calendar between the 4th and the 15th of October 1582. When you use QDateTime for dates in that epoch, the day after 4 October 1582 is 15 October 1582, and the dates in the gap are invalid.</para>
            <para>The Julian to Gregorian changeover date used here is the date when the Gregorian calendar was first introduced, by Pope Gregory XIII. That change was not universally accepted and some localities only executed it at a later date (if at all). QDateTime doesn't take any of these historical facts into account. If an application must support a locale-specific dating system, it must do so on its own, remembering to convert the dates using the Julian day.</para>
            <para></para>
            <para>No Year 0</para>
            <para>There is no year 0. Dates in that year are considered invalid. The year -1 is the year &amp;quot;1 before Christ&amp;quot; or &amp;quot;1 before current era.&amp;quot; The day before 0001-01-01 is December 31st, 1 BCE.</para>
            <para></para>
            <para>Range of Valid Dates</para>
            <para>The range of valid dates is from January 2nd, 4713 BCE, to sometime in the year 11 million CE. The Julian Day returned by QDate::toJulianDay() is a number in the contiguous range from 1 to overflow, even across QDateTime's &amp;quot;date holes&amp;quot;. It is suitable for use in applications that must convert a QDateTime to a date in another calendar system, e.g., Hebrew, Islamic or Chinese.</para>
            <para>The Gregorian calendar was introduced in different places around the world on different dates. QDateTime uses QDate to store the date, so it uses the Gregorian calendar for all locales, beginning on the date 15 October 1582. For dates up to and including 4 October 1582, QDateTime uses the Julian calendar. This means there is a 10-day gap in the QDateTime calendar between the 4th and the 15th of October 1582. When you use QDateTime for dates in that epoch, the day after 4 October 1582 is 15 October 1582, and the dates in the gap are invalid.</para>
            <para></para>
            <para>Use of System Timezone</para>
            <para>QDateTime uses the system's time zone information to determine the offset of local time from UTC. If the system is not configured correctly or not up-to-date, QDateTime will give wrong results as well.</para>
            <para></para>
            <para>Daylight Savings Time (DST)</para>
            <para>QDateTime takes into account the system's time zone information when dealing with DST. On modern Unix systems, this means it applies the correct historical DST data whenever possible. On Windows and Windows CE, where the system doesn't support historical DST data, historical accuracy is not maintained with respect to DST.</para>
            <para>The range of valid dates taking DST into account is 1970-01-01 to the present, and rules are in place for handling DST correctly until 2037-12-31, but these could change. For dates falling outside that range, QDateTime makes a best guess using the rules for year 1970 or 2037, but we can't guarantee accuracy. This means QDateTime doesn't take into account changes in a locale's time zone before 1970, even if the system's time zone database supports that information.</para>
            <para></para>
            <para>See also QDate, QTime, and QDateTimeEdit.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QDateTime.#ctor">
            <summary>
            <para>Constructs a null datetime (i.e. null date and null time). A null datetime is invalid, since the date is invalid.</para>
            <para>See also isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.#ctor(QtCore.QDate)">
            <summary>
            <para>Constructs a datetime with the given date, a valid time(00:00:00.000), and sets the timeSpec() to Qt::LocalTime.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.#ctor(QtCore.QDateTime)">
            <summary>
            <para>Constructs a copy of the other datetime.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.#ctor(QtCore.QDate,QtCore.QTime,QtCore.Qt.TimeSpec)">
            <summary>
            <para>Constructs a null datetime (i.e. null date and null time). A null datetime is invalid, since the date is invalid.</para>
            <para>See also isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.AddDays(System.Int32)">
            <summary>
            <para>Returns a QDateTime object containing a datetime ndays days later than the datetime of this object (or earlier if ndays is negative).</para>
            <para>See also daysTo(), addMonths(), addYears(), and addSecs().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.AddMSecs(System.Int64)">
            <summary>
            <para>Returns a QDateTime object containing a datetime msecs miliseconds later than the datetime of this object (or earlier if msecs is negative).</para>
            <para>See also addSecs(), msecsTo(), addDays(), addMonths(), and addYears().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.AddMonths(System.Int32)">
            <summary>
            <para>Returns a QDateTime object containing a datetime nmonths months later than the datetime of this object (or earlier if nmonths is negative).</para>
            <para>See also daysTo(), addDays(), addYears(), and addSecs().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.AddSecs(System.Int32)">
            <summary>
            <para>Returns a QDateTime object containing a datetime s seconds later than the datetime of this object (or earlier if s is negative).</para>
            <para>See also addMSecs(), secsTo(), addDays(), addMonths(), and addYears().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.AddYears(System.Int32)">
            <summary>
            <para>Returns a QDateTime object containing a datetime nyears years later than the datetime of this object (or earlier if nyears is negative).</para>
            <para>See also daysTo(), addDays(), addMonths(), and addSecs().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.CurrentDateTime">
            <summary>
            <para>Returns the current datetime, as reported by the system clock, in the local time zone.</para>
            <para>See also currentDateTimeUtc(), QDate::currentDate(), QTime::currentTime(), and toTimeSpec().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.CurrentDateTimeUtc">
            <summary>
            <para>Returns the current datetime, as reported by the system clock, in UTC.</para>
            <para>This function was introduced in Qt 4.7.</para>
            <para>See also currentDateTime(), QDate::currentDate(), QTime::currentTime(), and toTimeSpec().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.CurrentMSecsSinceEpoch">
            <summary>
            <para>Returns the number of milliseconds since 1970-01-01T00:00:00 Universal Coordinated Time. This number is like the POSIX time_t variable, but expressed in milliseconds instead.</para>
            <para>This function was introduced in Qt 4.7.</para>
            <para>See also currentDateTime(), currentDateTimeUtc(), toTime_t(), and toTimeSpec().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.DaysTo(QtCore.QDateTime)">
            <summary>
            <para>Returns the number of days from this datetime to the other datetime. If the other datetime is earlier than this datetime, the value returned is negative.</para>
            <para>See also addDays(), secsTo(), and msecsTo().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.FromMSecsSinceEpoch(System.Int64)">
            <summary>
            <para>Returns a datetime whose date and time are the number of milliseconds, msecs, that have passed since 1970-01-01T00:00:00.000, Coordinated Universal Time (Qt::UTC). On systems that do not support time zones, the time will be set as if local time were Qt::UTC.</para>
            <para>Note that there are possible values for msecs that lie outside the valid range of QDateTime, both negative and positive. The behavior of this function is undefined for those values.</para>
            <para>This function was introduced in Qt 4.7.</para>
            <para>See also toTime_t() and setTime_t().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.FromString(System.String,QtCore.Qt.DateFormat)">
            <summary>
            <para>Returns the QDateTime represented by the string, using the format given, or an invalid datetime if this is not possible.</para>
            <para>Note for Qt::TextDate: It is recommended that you use the English short month names (e.g. &quot;Jan&quot;). Although localized month names can also be used, they depend on the user's locale settings.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.FromString(System.String,System.String)">
            <summary>
            <para>Returns the QDateTime represented by the string, using the format given, or an invalid datetime if the string cannot be parsed.</para>
            <para>These expressions may be used for the date part of the format string:</para>
            <para></para>
            <para>ExpressionOutput</para>
            <para>d	the day as number without a leading zero (1 to 31)</para>
            <para>dd	the day as number with a leading zero (01 to 31)</para>
            <para>ddd	the abbreviated localized day name (e.g. 'Mon' to 'Sun'). Uses QDate::shortDayName().</para>
            <para>dddd	the long localized day name (e.g. 'Monday' to 'Sunday'). Uses QDate::longDayName().</para>
            <para>M	the month as number without a leading zero (1-12)</para>
            <para>MM	the month as number with a leading zero (01-12)</para>
            <para>MMM	the abbreviated localized month name (e.g. 'Jan' to 'Dec'). Uses QDate::shortMonthName().</para>
            <para>MMMM	the long localized month name (e.g. 'January' to 'December'). Uses QDate::longMonthName().</para>
            <para>yy	the year as two digit number (00-99)</para>
            <para>yyyy	the year as four digit number</para>
            <para></para>
            <para>Note: Unlike the other version of this function, day and month names must be given in the user's local language. It is only possible to use the English names if the user's language is English.</para>
            <para>These expressions may be used for the time part of the format string:</para>
            <para></para>
            <para>ExpressionOutput</para>
            <para>h	the hour without a leading zero (0 to 23 or 1 to 12 if AM/PM display)</para>
            <para>hh	the hour with a leading zero (00 to 23 or 01 to 12 if AM/PM display)</para>
            <para>H	the hour without a leading zero (0 to 23, even with AM/PM display)</para>
            <para>HH	the hour with a leading zero (00 to 23, even with AM/PM display)</para>
            <para>m	the minute without a leading zero (0 to 59)</para>
            <para>mm	the minute with a leading zero (00 to 59)</para>
            <para>s	the second without a leading zero (0 to 59)</para>
            <para>ss	the second with a leading zero (00 to 59)</para>
            <para>z	the milliseconds without leading zeroes (0 to 999)</para>
            <para>zzz	the milliseconds with leading zeroes (000 to 999)</para>
            <para>AP or A	interpret as an AM/PM time. AP must be either &quot;AM&quot; or &quot;PM&quot;.</para>
            <para>ap or a	Interpret as an AM/PM time. ap must be either &quot;am&quot; or &quot;pm&quot;.</para>
            <para></para>
            <para>All other input characters will be treated as text. Any sequence of characters that are enclosed in singlequotes will also be treated as text and not be used as an expression.</para>
            <para> QTime time1 = QTime::fromString(&quot;131&quot;, &quot;HHh&quot;);</para>
            <para> // time1 is 13:00:00</para>
            <para> QTime time1 = QTime::fromString(&quot;1apA&quot;, &quot;1amAM&quot;);</para>
            <para> // time1 is 01:00:00</para>
            <para></para>
            <para> QDateTime dateTime2 = QDateTime::fromString(&quot;M1d1y9800:01:02&quot;,</para>
            <para>                                             &quot;'M'M'd'd'y'yyhh:mm:ss&quot;);</para>
            <para> // dateTime is 1 January 1998 00:01:02</para>
            <para>If the format is not satisfied an invalid QDateTime is returned. The expressions that don't have leading zeroes (d, M, h, m, s, z) will be greedy. This means that they will use two digits even if this will put them outside the range and/or leave too few digits for other sections.</para>
            <para> QDateTime dateTime = QDateTime::fromString(&quot;130&quot;, &quot;Mm&quot;); // invalid</para>
            <para>This could have meant 1 January 00:30.00 but the M will grab two digits.</para>
            <para>For any field that is not represented in the format the following defaults are used:</para>
            <para></para>
            <para>FieldDefault value</para>
            <para>Year	1900</para>
            <para>Month	1 (January)</para>
            <para>Day	1</para>
            <para>Hour	0</para>
            <para>Minute	0</para>
            <para>Second	0</para>
            <para></para>
            <para>For example:</para>
            <para> QDateTime dateTime = QDateTime::fromString(&quot;1.30.1&quot;, &quot;M.d.s&quot;);</para>
            <para> // dateTime is January 30 in 1900 at 00:00:01.</para>
            <para>QDateTime::toString() QTime::toString()</para>
            <para>See also QDate::fromString(), QTime::fromString(), and QDate::toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.FromTime_t(System.UInt32)">
            <summary>
            <para>Returns a datetime whose date and time are the number of seconds that have passed since 1970-01-01T00:00:00, Coordinated Universal Time (Qt::UTC). On systems that do not support time zones, the time will be set as if local time were Qt::UTC.</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also toTime_t() and setTime_t().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.IsNull">
            <summary>
            <para>Returns true if both the date and the time are null; otherwise returns false. A null datetime is invalid.</para>
            <para>See also QDate::isNull(), QTime::isNull(), and isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.IsValid">
            <summary>
            <para>Returns true if both the date and the time are valid; otherwise returns false.</para>
            <para>See also QDate::isValid() and QTime::isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.MsecsTo(QtCore.QDateTime)">
            <summary>
            <para>Returns the number of milliseconds from this datetime to the other datetime. If the other datetime is earlier than this datetime, the value returned is negative.</para>
            <para>Before performing the comparison, the two datetimes are converted to Qt::UTC to ensure that the result is correct if one of the two datetimes has daylight saving time (DST) and the other doesn't.</para>
            <para>This function was introduced in Qt 4.7.</para>
            <para>See also addMSecs(), daysTo(), and QTime::msecsTo().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.op_Inequality(QtCore.QDateTime,QtCore.QDateTime)">
            <summary>
            <para>Returns true if this datetime is different from the other datetime; otherwise returns false.</para>
            <para>Two datetimes are different if either the date, the time, or the time zone components are different.</para>
            <para>See also operator==().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.op_LessThan(QtCore.QDateTime,QtCore.QDateTime)">
            <summary>
            <para>Returns true if this datetime is earlier than the other datetime; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.op_LessThanOrEqual(QtCore.QDateTime,QtCore.QDateTime)">
            <summary>
            <para>Returns true if this datetime is earlier than or equal to the other datetime; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.op_Equality(QtCore.QDateTime,QtCore.QDateTime)">
            <summary>
            <para>Returns true if this datetime is equal to the other datetime; otherwise returns false.</para>
            <para>See also operator!=().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.op_GreaterThan(QtCore.QDateTime,QtCore.QDateTime)">
            <summary>
            <para>Returns true if this datetime is later than the other datetime; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.op_GreaterThanOrEqual(QtCore.QDateTime,QtCore.QDateTime)">
            <summary>
            <para>Returns true if this datetime is later than or equal to the other datetime; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.SecsTo(QtCore.QDateTime)">
            <summary>
            <para>Returns the number of seconds from this datetime to the other datetime. If the other datetime is earlier than this datetime, the value returned is negative.</para>
            <para>Before performing the comparison, the two datetimes are converted to Qt::UTC to ensure that the result is correct if one of the two datetimes has daylight saving time (DST) and the other doesn't.</para>
            <para>Example:</para>
            <para> QDateTime now = QDateTime::currentDateTime();</para>
            <para> QDateTime xmas(QDate(now.date().year(), 12, 25), QTime(0, 0));</para>
            <para> qDebug(&quot;There are %d seconds to Christmas&quot;, now.secsTo(xmas));</para>
            <para>See also addSecs(), daysTo(), and QTime::secsTo().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.SetMSecsSinceEpoch(System.Int64)">
            <summary>
            <para>Sets the date and time given the number of milliseconds,msecs, that have passed since 1970-01-01T00:00:00.000, Coordinated Universal Time (Qt::UTC). On systems that do not support time zones this function will behave as if local time were Qt::UTC.</para>
            <para>Note that there are possible values for msecs that lie outside the valid range of QDateTime, both negative and positive. The behavior of this function is undefined for those values.</para>
            <para>This function was introduced in Qt 4.7.</para>
            <para>See also toMSecsSinceEpoch() and setTime_t().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.SetTime_t(System.UInt32)">
            <summary>
            <para>Sets the date and time given the number of seconds that have passed since 1970-01-01T00:00:00, Coordinated Universal Time (Qt::UTC). On systems that do not support time zones this function will behave as if local time were Qt::UTC.</para>
            <para>See also toTime_t().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.ToLocalTime">
            <summary>
            <para>Returns a datetime containing the date and time information in this datetime, but specified using the Qt::LocalTime definition.</para>
            <para>See also toTimeSpec().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.ToMSecsSinceEpoch">
            <summary>
            <para>Returns the datetime as the number of milliseconds that have passed since 1970-01-01T00:00:00.000, Coordinated Universal Time (Qt::UTC).</para>
            <para>On systems that do not support time zones, this function will behave as if local time were Qt::UTC.</para>
            <para>The behavior for this function is undefined if the datetime stored in this object is not valid. However, for all valid dates, this function returns a unique value.</para>
            <para>This function was introduced in Qt 4.7.</para>
            <para>See also toTime_t() and setMSecsSinceEpoch().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.ToString">
            <summary>
            <para>See also QDate::fromString(), QTime::fromString(), and QDate::toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.ToString(QtCore.Qt.DateFormat)">
            <summary>
            <para>See also QDate::fromString(), QTime::fromString(), and QDate::toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.ToString(System.String)">
            <summary>
            <para>Returns the datetime as a string. The format parameter determines the format of the result string.</para>
            <para>These expressions may be used for the date:</para>
            <para></para>
            <para>ExpressionOutput</para>
            <para>d	the day as number without a leading zero (1 to 31)</para>
            <para>dd	the day as number with a leading zero (01 to 31)</para>
            <para>ddd	the abbreviated localized day name (e.g. 'Mon' to 'Sun'). Uses QDate::shortDayName().</para>
            <para>dddd	the long localized day name (e.g. 'Monday' to 'Qt::Sunday'). Uses QDate::longDayName().</para>
            <para>M	the month as number without a leading zero (1-12)</para>
            <para>MM	the month as number with a leading zero (01-12)</para>
            <para>MMM	the abbreviated localized month name (e.g. 'Jan' to 'Dec'). Uses QDate::shortMonthName().</para>
            <para>MMMM	the long localized month name (e.g. 'January' to 'December'). Uses QDate::longMonthName().</para>
            <para>yy	the year as two digit number (00-99)</para>
            <para>yyyy	the year as four digit number</para>
            <para></para>
            <para>These expressions may be used for the time:</para>
            <para></para>
            <para>ExpressionOutput</para>
            <para>h	the hour without a leading zero (0 to 23 or 1 to 12 if AM/PM display)</para>
            <para>hh	the hour with a leading zero (00 to 23 or 01 to 12 if AM/PM display)</para>
            <para>m	the minute without a leading zero (0 to 59)</para>
            <para>mm	the minute with a leading zero (00 to 59)</para>
            <para>s	the second without a leading zero (0 to 59)</para>
            <para>ss	the second with a leading zero (00 to 59)</para>
            <para>z	the milliseconds without leading zeroes (0 to 999)</para>
            <para>zzz	the milliseconds with leading zeroes (000 to 999)</para>
            <para>AP	use AM/PM display. AP will be replaced by either &quot;AM&quot; or &quot;PM&quot;.</para>
            <para>ap	use am/pm display. ap will be replaced by either &quot;am&quot; or &quot;pm&quot;.</para>
            <para></para>
            <para>All other input characters will be ignored. Any sequence of characters that are enclosed in singlequotes will be treated as text and not be used as an expression. Two consecutive singlequotes (&quot;''&quot;) are replaced by a singlequote in the output.</para>
            <para>Example format strings (assumed that the QDateTime is 21 May 2001 14:13:09):</para>
            <para></para>
            <para>FormatResult</para>
            <para>dd.MM.yyyy	21.05.2001</para>
            <para>ddd MMMM d yy	Tue May 21 01</para>
            <para>hh:mm:ss.zzz	14:13:09.042</para>
            <para>h:m:s ap	2:13:9 pm</para>
            <para></para>
            <para>If the datetime is invalid, an empty string will be returned.</para>
            <para>See also QDate::toString() and QTime::toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.ToTimeSpec(QtCore.Qt.TimeSpec)">
            <summary>
            <para>Returns a copy of this datetime configured to use the given time specification.</para>
            <para>See also timeSpec(), toUTC(), and toLocalTime().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.ToTime_t">
            <summary>
            <para>Returns the datetime as the number of seconds that have passed since 1970-01-01T00:00:00, Coordinated Universal Time (Qt::UTC).</para>
            <para>On systems that do not support time zones, this function will behave as if local time were Qt::UTC.</para>
            <para>Note: This function returns a 32-bit unsigned integer, so it does not support dates before 1970, but it does support dates after 2038-01-19T03:14:06, which may not be valid time_t values. Be careful when passing those time_t values to system functions, which could interpret them as negative dates.</para>
            <para>If the date is outside the range 1970-01-01T00:00:00 to 2106-02-07T06:28:14, this function returns -1 cast to an unsigned integer (i.e., 0xFFFFFFFF).</para>
            <para>To get an extended range, use toMSecsSinceEpoch().</para>
            <para>See also toMSecsSinceEpoch() and setTime_t().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.ToUTC">
            <summary>
            <para>Returns a datetime containing the date and time information in this datetime, but specified using the Qt::UTC definition.</para>
            <para>See also toTimeSpec().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDateTime.Finalize">
            <summary>
            <para>Destroys the datetime.</para>
            </summary>
        </member>
        <member name="P:QtCore.QDateTime.Date">
            <summary>
            <para>Returns the date part of the datetime.</para>
            <para>Sets the date part of this datetime to date. If no time is set, it is set to midnight.</para>
            </summary>
        </member>
        <member name="P:QtCore.QDateTime.Time">
            <summary>
            <para>Returns the time part of the datetime.</para>
            <para>Sets the time part of this datetime to time.</para>
            </summary>
        </member>
        <member name="P:QtCore.QDateTime.TimeSpec">
            <summary>
            <para>Returns the time specification of the datetime.</para>
            <para>Sets the time specification used in this datetime to spec.</para>
            </summary>
        </member>
        <member name="T:QtCore.QDebug">
            <summary>
            The QDebug class provides an output stream for debugging information.
            </summary>
            <remarks>
            <para></para>
            <para>QDebug is used whenever the developer needs to write out debugging or tracing information to a device, file, string or console.</para>
            <para></para>
            <para>Basic Use</para>
            <para>In the common case, it is useful to call the qDebug() function to obtain a default QDebug object to use for writing debugging information.</para>
            <para>     qDebug() &amp;lt;&amp;lt; &amp;quot;Date:&amp;quot; &amp;lt;&amp;lt; QDate::currentDate();</para>
            <para>     qDebug() &amp;lt;&amp;lt; &amp;quot;Types:&amp;quot; &amp;lt;&amp;lt; QString(&amp;quot;String&amp;quot;) &amp;lt;&amp;lt; QChar('x') &amp;lt;&amp;lt; QRect(0, 10, 50, 40);</para>
            <para>     qDebug() &amp;lt;&amp;lt; &amp;quot;Custom coordinate type:&amp;quot; &amp;lt;&amp;lt; coordinate;</para>
            <para>This constructs a QDebug object using the constructor that accepts a QtMsgType value of QtDebugMsg. Similarly, the qWarning(), qCritical() and qFatal() functions also return QDebug objects for the corresponding message types.</para>
            <para>The class also provides several constructors for other situations, including a constructor that accepts a QFile or any other QIODevice subclass that is used to write debugging information to files and other devices. The constructor that accepts a QString is used to write to a string for display or serialization.</para>
            <para></para>
            <para>Writing Custom Types to a Stream</para>
            <para>Many standard types can be written to QDebug objects, and Qt provides support for most Qt value types. To add support for custom types, you need to implement a streaming operator, as in the following example:</para>
            <para> QDebug operator&amp;lt;&amp;lt;(QDebug dbg, const Coordinate &amp;amp;c)</para>
            <para> {</para>
            <para>     dbg.nospace() &amp;lt;&amp;lt; &amp;quot;(&amp;quot; &amp;lt;&amp;lt; c.x() &amp;lt;&amp;lt; &amp;quot;, &amp;quot; &amp;lt;&amp;lt; c.y() &amp;lt;&amp;lt; &amp;quot;)&amp;quot;;</para>
            <para></para>
            <para>     return dbg.space();</para>
            <para> }</para>
            <para>This is described in the Debugging Techniques and Creating Custom Qt Types documents.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QDebug.Finalize">
            <summary>
            <para>Flushes any pending data to be written and destroys the debug stream.</para>
            </summary>
        </member>
        <member name="T:QtCore.QDir">
            <summary>
            The QDir class provides access to directory structures and their contents.
            </summary>
            <remarks>
            <para></para>
            <para>A QDir is used to manipulate path names, access information regarding paths and files, and manipulate the underlying file system. It can also be used to access Qt's resource system.</para>
            <para>Qt uses &amp;quot;/&amp;quot; as a universal directory separator in the same way that &amp;quot;/&amp;quot; is used as a path separator in URLs. If you always use &amp;quot;/&amp;quot; as a directory separator, Qt will translate your paths to conform to the underlying operating system.</para>
            <para>A QDir can point to a file using either a relative or an absolute path. Absolute paths begin with the directory separator (optionally preceded by a drive specification under Windows). Relative file names begin with a directory name or a file name and specify a path relative to the current directory.</para>
            <para>Examples of absolute paths:</para>
            <para> QDir(&amp;quot;/home/user/Documents&amp;quot;)</para>
            <para> QDir(&amp;quot;C:/Documents and Settings&amp;quot;)</para>
            <para>On Windows, the second example above will be translated to C:\Documents and Settings when used to access files.</para>
            <para>Examples of relative paths:</para>
            <para> QDir(&amp;quot;images/landscape.png&amp;quot;)</para>
            <para>You can use the isRelative() or isAbsolute() functions to check if a QDir is using a relative or an absolute file path. Call makeAbsolute() to convert a relative QDir to an absolute one.</para>
            <para></para>
            <para>Navigation and Directory Operations</para>
            <para>A directory's path can be obtained with the path() function, and a new path set with the setPath() function. The absolute path to a directory is found by calling absolutePath().</para>
            <para>The name of a directory is found using the dirName() function. This typically returns the last element in the absolute path that specifies the location of the directory. However, it can also return &amp;quot;.&amp;quot; if the QDir represents the current directory.</para>
            <para> QDir(&amp;quot;Documents/Letters/Applications&amp;quot;).dirName() // &amp;quot;Applications&amp;quot;</para>
            <para> QDir().dirName()                                 // &amp;quot;.&amp;quot;</para>
            <para>The path for a directory can also be changed with the cd() and cdUp() functions, both of which operate like familiar shell commands. When cd() is called with the name of an existing directory, the QDir object changes directory so that it represents that directory instead. The cdUp() function changes the directory of the QDir object so that it refers to its parent directory; i.e. cd(&amp;quot;..&amp;quot;) is equivalent to cdUp().</para>
            <para>Directories can be created with mkdir(), renamed with rename(), and removed with rmdir().</para>
            <para>You can test for the presence of a directory with a given name by using exists(), and the properties of a directory can be tested with isReadable(), isAbsolute(), isRelative(), and isRoot().</para>
            <para>The refresh() function re-reads the directory's data from disk.</para>
            <para></para>
            <para>Files and Directory Contents</para>
            <para>Directories contain a number of entries, representing files, directories, and symbolic links. The number of entries in a directory is returned by count(). A string list of the names of all the entries in a directory can be obtained with entryList(). If you need information about each entry, use entryInfoList() to obtain a list of QFileInfo objects.</para>
            <para>Paths to files and directories within a directory can be constructed using filePath() and absoluteFilePath(). The filePath() function returns a path to the specified file or directory relative to the path of the QDir object; absoluteFilePath() returns an absolute path to the specified file or directory. Neither of these functions checks for the existence of files or directory; they only construct paths.</para>
            <para> QDir directory(&amp;quot;Documents/Letters&amp;quot;);</para>
            <para> QString path = directory.filePath(&amp;quot;contents.txt&amp;quot;);</para>
            <para> QString absolutePath = directory.absoluteFilePath(&amp;quot;contents.txt&amp;quot;);</para>
            <para>Files can be removed by using the remove() function. Directories cannot be removed in the same way as files; use rmdir() to remove them instead.</para>
            <para>It is possible to reduce the number of entries returned by entryList() and entryInfoList() by applying filters to a QDir object. You can apply a name filter to specify a pattern with wildcards that file names need to match, an attribute filter that selects properties of entries and can distinguish between files and directories, and a sort order.</para>
            <para>Name filters are lists of strings that are passed to setNameFilters(). Attribute filters consist of a bitwise OR combination of Filters, and these are specified when calling setFilter(). The sort order is specified using setSorting() with a bitwise OR combination of SortFlags.</para>
            <para>You can test to see if a filename matches a filter using the match() function.</para>
            <para>Filter and sort order flags may also be specified when calling entryList() and entryInfoList() in order to override previously defined behavior.</para>
            <para></para>
            <para>The Current Directory and Other Special Paths</para>
            <para>Access to some common directories is provided with a number of static functions that return QDir objects. There are also corresponding functions for these that return strings:</para>
            <para></para>
            <para>QDirQStringReturn Value</para>
            <para>current()	currentPath()	The application's working directory</para>
            <para>home()	homePath()	The user's home directory</para>
            <para>root()	rootPath()	The root directory</para>
            <para>temp()	tempPath()	The system's temporary directory</para>
            <para></para>
            <para>The setCurrent() static function can also be used to set the application's working directory.</para>
            <para>If you want to find the directory containing the application's executable, see QCoreApplication::applicationDirPath().</para>
            <para>The drives() static function provides a list of root directories for each device that contains a filing system. On Unix systems this returns a list containing a single root directory &amp;quot;/&amp;quot;; on Windows the list will usually contain C:/, and possibly other drive letters such as D:/, depending on the configuration of the user's system.</para>
            <para></para>
            <para>Path Manipulation and Strings</para>
            <para>Paths containing &amp;quot;.&amp;quot; elements that reference the current directory at that point in the path, &amp;quot;..&amp;quot; elements that reference the parent directory, and symbolic links can be reduced to a canonical form using the canonicalPath() function.</para>
            <para>Paths can also be simplified by using cleanPath() to remove redundant &amp;quot;/&amp;quot; and &amp;quot;..&amp;quot; elements.</para>
            <para>It is sometimes necessary to be able to show a path in the native representation for the user's platform. The static toNativeSeparators() function returns a copy of the specified path in which each directory separator is replaced by the appropriate separator for the underlying operating system.</para>
            <para></para>
            <para>Examples</para>
            <para>Check if a directory exists:</para>
            <para> QDir dir(&amp;quot;example&amp;quot;);</para>
            <para> if (!dir.exists())</para>
            <para>     qWarning(&amp;quot;Cannot find the example directory&amp;quot;);</para>
            <para>(We could also use the static convenience function QFile::exists().)</para>
            <para>Traversing directories and reading a file:</para>
            <para> QDir dir = QDir::root();                 // &amp;quot;/&amp;quot;</para>
            <para> if (!dir.cd(&amp;quot;tmp&amp;quot;)) {                    // &amp;quot;/tmp&amp;quot;</para>
            <para>     qWarning(&amp;quot;Cannot find the \&amp;quot;/tmp\&amp;quot; directory&amp;quot;);</para>
            <para> } else {</para>
            <para>     QFile file(dir.filePath(&amp;quot;ex1.txt&amp;quot;)); // &amp;quot;/tmp/ex1.txt&amp;quot;</para>
            <para>     if (!file.open(QIODevice::ReadWrite))</para>
            <para>         qWarning(&amp;quot;Cannot create the file %s&amp;quot;, file.name());</para>
            <para> }</para>
            <para>A program that lists all the files in the current directory (excluding symbolic links), sorted by size, smallest first:</para>
            <para> #include &amp;lt;QDir&amp;gt;</para>
            <para> #include &amp;lt;iostream&amp;gt;</para>
            <para></para>
            <para> int main(int argc, char *argv[])</para>
            <para> {</para>
            <para>     QCoreApplication app(argc, argv);</para>
            <para>     QDir dir;</para>
            <para>     dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);</para>
            <para>     dir.setSorting(QDir::Size | QDir::Reversed);</para>
            <para></para>
            <para>     QFileInfoList list = dir.entryInfoList();</para>
            <para>     std::cout &amp;lt;&amp;lt; &amp;quot;     Bytes Filename&amp;quot; &amp;lt;&amp;lt; std::endl;</para>
            <para>     for (int i = 0; i &amp;lt; list.size(); ++i) {</para>
            <para>         QFileInfo fileInfo = list.at(i);</para>
            <para>         std::cout &amp;lt;&amp;lt; qPrintable(QString(&amp;quot;%1 %2&amp;quot;).arg(fileInfo.size(), 10)</para>
            <para>                                                 .arg(fileInfo.fileName()));</para>
            <para>         std::cout &amp;lt;&amp;lt; std::endl;</para>
            <para>     }</para>
            <para>     return 0;</para>
            <para> }</para>
            <para></para>
            <para>See also QFileInfo, QFile, QFileDialog, QApplication::applicationDirPath(), and Find Files Example.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QDir.#ctor(QtCore.QDir)">
            <summary>
            <para>Constructs a QDir object that is a copy of the QDir object for directory dir.</para>
            <para>See also operator=().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.#ctor(System.String)">
            <summary>
            <para>Constructs a QDir object that is a copy of the QDir object for directory dir.</para>
            <para>See also operator=().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.#ctor(System.String,System.String,QtCore.QDir.SortFlag,QtCore.QDir.Filter)">
            <summary>
            <para>Constructs a QDir object that is a copy of the QDir object for directory dir.</para>
            <para>See also operator=().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.AbsoluteFilePath(System.String)">
            <summary>
            <para>Returns the absolute path name of a file in the directory. Does not check if the file actually exists in the directory; but see exists(). Redundant multiple separators or &quot;.&quot; and &quot;..&quot; directories in fileName are not removed (see cleanPath()).</para>
            <para>See also relativeFilePath(), filePath(), and canonicalPath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.AbsolutePath">
            <summary>
            <para>Returns the absolute path (a path that starts with &quot;/&quot; or with a drive specification), which may contain symbolic links, but never contains redundant &quot;.&quot;, &quot;..&quot; or multiple separators.</para>
            <para>See also setPath(), canonicalPath(), exists(), cleanPath(), dirName(), and absoluteFilePath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.AddResourceSearchPath(System.String)">
            <summary>
            <para>Use QDir::addSearchPath() with a prefix instead.</para>
            <para>Adds path to the search paths searched in to find resources that are not specified with an absolute path. The default search path is to search only in the root (:/).</para>
            <para>See also The Qt Resource System.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.AddSearchPath(System.String,System.String)">
            <summary>
            <para>Adds path to the search path for prefix.</para>
            <para>This function was introduced in Qt 4.3.</para>
            <para>See also setSearchPaths().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.CanonicalPath">
            <summary>
            <para>Returns the canonical path, i.e. a path without symbolic links or redundant &quot;.&quot; or &quot;..&quot; elements.</para>
            <para>On systems that do not have symbolic links this function will always return the same string that absolutePath() returns. If the canonical path does not exist (normally due to dangling symbolic links) canonicalPath() returns an empty string.</para>
            <para>Example:</para>
            <para> QString bin = &quot;/local/bin&quot;;         // where /local/bin is a symlink to /usr/bin</para>
            <para> QDir binDir(bin);</para>
            <para> QString canonicalBin = binDir.canonicalPath();</para>
            <para> // canonicalBin now equals &quot;/usr/bin&quot;</para>
            <para></para>
            <para> QString ls = &quot;/local/bin/ls&quot;;       // where ls is the executable &quot;ls&quot;</para>
            <para> QDir lsDir(ls);</para>
            <para> QString canonicalLs = lsDir.canonicalPath();</para>
            <para> // canonicalLS now equals &quot;/usr/bin/ls&quot;.</para>
            <para>See also path(), absolutePath(), exists(), cleanPath(), dirName(), and absoluteFilePath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.Cd(System.String)">
            <summary>
            <para>Changes the QDir's directory to dirName.</para>
            <para>Returns true if the new directory exists and is readable; otherwise returns false. Note that the logical cd() operation is not performed if the new directory does not exist.</para>
            <para>Calling cd(&quot;..&quot;) is equivalent to calling cdUp().</para>
            <para>See also cdUp(), isReadable(), exists(), and path().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.CdUp">
            <summary>
            <para>Changes directory by moving one directory up from the QDir's current directory.</para>
            <para>Returns true if the new directory exists and is readable; otherwise returns false. Note that the logical cdUp() operation is not performed if the new directory does not exist.</para>
            <para>See also cd(), isReadable(), exists(), and path().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.CleanPath(System.String)">
            <summary>
            <para>Removes all multiple directory separators &quot;/&quot; and resolves any &quot;.&quot;s or &quot;..&quot;s found in the path, path.</para>
            <para>Symbolic links are kept. This function does not return the canonical path, but rather the simplest version of the input. For example, &quot;./local&quot; becomes &quot;local&quot;, &quot;local/../bin&quot; becomes &quot;bin&quot; and &quot;/local/usr/../bin&quot; becomes &quot;/local/bin&quot;.</para>
            <para>See also absolutePath() and canonicalPath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.Count">
            <summary>
            <para>Returns the total number of directories and files in the directory.</para>
            <para>Equivalent to entryList().count().</para>
            <para>See also operator[]() and entryList().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.Current">
            <summary>
            <para>Returns the application's current directory.</para>
            <para>The directory is constructed using the absolute path of the current directory, ensuring that its path() will be the same as its absolutePath().</para>
            <para>See also currentPath(), setCurrent(), home(), root(), and temp().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.CurrentPath">
            <summary>
            <para>Returns the absolute path of the application's current directory.</para>
            <para>See also current(), setCurrent(), homePath(), rootPath(), and tempPath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.DirName">
            <summary>
            <para>Returns the name of the directory; this is not the same as the path, e.g. a directory with the name &quot;mail&quot;, might have the path &quot;/var/spool/mail&quot;. If the directory has no name (e.g. it is the root directory) an empty string is returned.</para>
            <para>No check is made to ensure that a directory with this name actually exists; but see exists().</para>
            <para>See also path(), filePath(), absolutePath(), and absoluteFilePath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.Drives">
            <summary>
            <para>Returns a list of the root directories on this system.</para>
            <para>On Windows this returns a list of QFileInfo objects containing &quot;C:/&quot;, &quot;D:/&quot;, etc. On other operating systems, it returns a list containing just one root directory (i.e. &quot;/&quot;).</para>
            <para>See also root() and rootPath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.EntryInfoList(QtCore.QDir.Filter,QtCore.QDir.SortFlag)">
            <summary>
            <para>Returns a list of QFileInfo objects for all the files and directories in the directory, ordered according to the name and attribute filters previously set with setNameFilters() and setFilter(), and sorted according to the flags set with setSorting().</para>
            <para>The name filter, file attribute filter, and sorting specification can be overridden using the nameFilters, filters, and sort arguments.</para>
            <para>Returns an empty list if the directory is unreadable, does not exist, or if nothing matches the specification.</para>
            <para>See also entryList(), setNameFilters(), setSorting(), setFilter(), isReadable(), and exists().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.EntryInfoList(System.Collections.Generic.List{System.String},QtCore.QDir.Filter,QtCore.QDir.SortFlag)">
            <summary>
            <para>Returns a list of QFileInfo objects for all the files and directories in the directory, ordered according to the name and attribute filters previously set with setNameFilters() and setFilter(), and sorted according to the flags set with setSorting().</para>
            <para>The name filter, file attribute filter, and sorting specification can be overridden using the nameFilters, filters, and sort arguments.</para>
            <para>Returns an empty list if the directory is unreadable, does not exist, or if nothing matches the specification.</para>
            <para>See also entryList(), setNameFilters(), setSorting(), setFilter(), isReadable(), and exists().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.EntryList(QtCore.QDir.Filter,QtCore.QDir.SortFlag)">
            <summary>
            <para>Returns a list of the names of all the files and directories in the directory, ordered according to the name and attribute filters previously set with setNameFilters() and setFilter(), and sorted according to the flags set with setSorting().</para>
            <para>The name filter, file attribute filter, and sorting specification can be overridden using the nameFilters, filters, and sort arguments.</para>
            <para>Returns an empty list if the directory is unreadable, does not exist, or if nothing matches the specification.</para>
            <para>See also entryInfoList(), setNameFilters(), setSorting(), and setFilter().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.EntryList(System.Collections.Generic.List{System.String},QtCore.QDir.Filter,QtCore.QDir.SortFlag)">
            <summary>
            <para>Returns a list of the names of all the files and directories in the directory, ordered according to the name and attribute filters previously set with setNameFilters() and setFilter(), and sorted according to the flags set with setSorting().</para>
            <para>The name filter, file attribute filter, and sorting specification can be overridden using the nameFilters, filters, and sort arguments.</para>
            <para>Returns an empty list if the directory is unreadable, does not exist, or if nothing matches the specification.</para>
            <para>See also entryInfoList(), setNameFilters(), setSorting(), and setFilter().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.Exists">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns true if the directory exists; otherwise returns false. (If a file with the same name is found this function will return false).</para>
            <para>The overload of this function that accepts an argument is used to test for the presence of files and directories within a directory.</para>
            <para>See also QFileInfo::exists() and QFile::exists().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.Exists(System.String)">
            <summary>
            <para>Returns true if the file called name exists; otherwise returns false.</para>
            <para>Unless name contains an absolute file path, the file name is assumed to be relative to the directory itself, so this function is typically used to check for the presence of files within a directory.</para>
            <para>See also QFileInfo::exists() and QFile::exists().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.FilePath(System.String)">
            <summary>
            <para>Returns the path name of a file in the directory. Does not check if the file actually exists in the directory; but see exists(). If the QDir is relative the returned path name will also be relative. Redundant multiple separators or &quot;.&quot; and &quot;..&quot; directories in fileName are not removed (see cleanPath()).</para>
            <para>See also dirName(), absoluteFilePath(), isRelative(), and canonicalPath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.FromNativeSeparators(System.String)">
            <summary>
            <para>Returns pathName using '/' as file separator. On Windows, for instance, fromNativeSeparators(&quot;c:\\winnt\\system32&quot;) returns &quot;c:/winnt/system32&quot;.</para>
            <para>The returned string may be the same as the argument on some operating systems, for example on Unix.</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also toNativeSeparators() and separator().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.Home">
            <summary>
            <para>Returns the user's home directory.</para>
            <para>The directory is constructed using the absolute path of the home directory, ensuring that its path() will be the same as its absolutePath().</para>
            <para>See homePath() for details.</para>
            <para>See also drives(), current(), root(), and temp().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.HomePath">
            <summary>
            <para>Returns the absolute path of the user's home directory.</para>
            <para>Under Windows this function will return the directory of the current user's profile. Typically, this is:</para>
            <para> C:/Documents and Settings/Username</para>
            <para>Use the toNativeSeparators() function to convert the separators to the ones that are appropriate for the underlying operating system.</para>
            <para>If the directory of the current user's profile does not exist or cannot be retrieved, the following alternatives will be checked (in the given order) until an existing and available path is found:</para>
            <para></para>
            <para>The path specified by the USERPROFILE environment variable.</para>
            <para>The path formed by concatenating the HOMEDRIVE and HOMEPATH environment variables.</para>
            <para>The path specified by the HOME environment variable.</para>
            <para>The path returned by the rootPath() function (which uses the SystemDrive environment variable)</para>
            <para>The C:/ directory.</para>
            <para></para>
            <para>Under non-Windows operating systems the HOME environment variable is used if it exists, otherwise the path returned by the rootPath().</para>
            <para>On Symbian this typically returns &quot;c:/data&quot;, i.e. the same as native PathInfo::PhoneMemoryRootPath().</para>
            <para>See also home(), currentPath(), rootPath(), and tempPath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.IsAbsolute">
            <summary>
            <para>Returns true if the directory's path is absolute; otherwise returns false. See isAbsolutePath().</para>
            <para>See also isRelative(), makeAbsolute(), and cleanPath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.IsAbsolutePath(System.String)">
            <summary>
            <para>Returns true if path is absolute; returns false if it is relative.</para>
            <para>See also isAbsolute(), isRelativePath(), makeAbsolute(), and cleanPath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.IsReadable">
            <summary>
            <para>Returns true if the directory is readable and we can open files by name; otherwise returns false.</para>
            <para>Warning: A false value from this function is not a guarantee that files in the directory are not accessible.</para>
            <para>See also QFileInfo::isReadable().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.IsRelative">
            <summary>
            <para>Returns true if the directory path is relative; otherwise returns false. (Under Unix a path is relative if it does not start with a &quot;/&quot;).</para>
            <para>See also makeAbsolute(), isAbsolute(), isAbsolutePath(), and cleanPath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.IsRelativePath(System.String)">
            <summary>
            <para>Returns true if path is relative; returns false if it is absolute.</para>
            <para>See also isRelative(), isAbsolutePath(), and makeAbsolute().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.IsRoot">
            <summary>
            <para>Returns true if the directory is the root directory; otherwise returns false.</para>
            <para>Note: If the directory is a symbolic link to the root directory this function returns false. If you want to test for this use canonicalPath(), e.g.</para>
            <para> QDir dir(&quot;/tmp/root_link&quot;);</para>
            <para> dir = dir.canonicalPath();</para>
            <para> if (dir.isRoot())</para>
            <para>     qWarning(&quot;It is a root link&quot;);</para>
            <para>See also root() and rootPath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.MakeAbsolute">
            <summary>
            <para>Converts the directory path to an absolute path. If it is already absolute nothing happens. Returns true if the conversion succeeded; otherwise returns false.</para>
            <para>See also isAbsolute(), isAbsolutePath(), isRelative(), and cleanPath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.Match(System.String,System.String)">
            <summary>
            <para>Returns true if the fileName matches the wildcard (glob) pattern filter; otherwise returns false. The filter may contain multiple patterns separated by spaces or semicolons. The matching is case insensitive.</para>
            <para>See also QRegExp wildcard matching, QRegExp::exactMatch(), entryList(), and entryInfoList().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.Match(System.Collections.Generic.List{System.String},System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns true if the fileName matches any of the wildcard (glob) patterns in the list of filters; otherwise returns false. The matching is case insensitive.</para>
            <para>See also QRegExp wildcard matching, QRegExp::exactMatch(), entryList(), and entryInfoList().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.Mkdir(System.String)">
            <summary>
            <para>Creates a sub-directory called dirName.</para>
            <para>Returns true on success; otherwise returns false.</para>
            <para>If the directory already exists when this function is called, it will return false.</para>
            <para>See also rmdir().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.Mkpath(System.String)">
            <summary>
            <para>Creates the directory path dirPath.</para>
            <para>The function will create all parent directories necessary to create the directory.</para>
            <para>Returns true if successful; otherwise returns false.</para>
            <para>If the path already exists when this function is called, it will return true.</para>
            <para>See also rmpath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.op_Inequality(QtCore.QDir,QtCore.QDir)">
            <summary>
            <para>Returns true if directory dir and this directory have different paths or different sort or filter settings; otherwise returns false.</para>
            <para>Example:</para>
            <para> // The current directory is &quot;/usr/local&quot;</para>
            <para> QDir d1(&quot;/usr/local/bin&quot;);</para>
            <para> d1.setFilter(QDir::Executable);</para>
            <para> QDir d2(&quot;bin&quot;);</para>
            <para> if (d1 != d2)</para>
            <para>     qDebug(&quot;They differ&quot;);</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.op_Equality(QtCore.QDir,QtCore.QDir)">
            <summary>
            <para>Returns true if directory dir and this directory have the same path and their sort and filter settings are the same; otherwise returns false.</para>
            <para>Example:</para>
            <para> // The current directory is &quot;/usr/local&quot;</para>
            <para> QDir d1(&quot;/usr/local/bin&quot;);</para>
            <para> QDir d2(&quot;bin&quot;);</para>
            <para> if (d1 == d2)</para>
            <para>     qDebug(&quot;They're the same&quot;);</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.Refresh">
            <summary>
            <para>Refreshes the directory information.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.RelativeFilePath(System.String)">
            <summary>
            <para>Returns the path to fileName relative to the directory.</para>
            <para> QDir dir(&quot;/home/bob&quot;);</para>
            <para> QString s;</para>
            <para></para>
            <para> s = dir.relativeFilePath(&quot;images/file.jpg&quot;);     // s is &quot;images/file.jpg&quot;</para>
            <para> s = dir.relativeFilePath(&quot;/home/mary/file.txt&quot;); // s is &quot;../mary/file.txt&quot;</para>
            <para>See also absoluteFilePath(), filePath(), and canonicalPath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.Remove(System.String)">
            <summary>
            <para>Removes the file, fileName.</para>
            <para>Returns true if the file is removed successfully; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.Rename(System.String,System.String)">
            <summary>
            <para>Renames a file or directory from oldName to newName, and returns true if successful; otherwise returns false.</para>
            <para>On most file systems, rename() fails only if oldName does not exist, if newName and oldName are not on the same partition or if a file with the new name already exists. However, there are also other reasons why rename() can fail. For example, on at least one file system rename() fails if newName points to an open file.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.Rmdir(System.String)">
            <summary>
            <para>Removes the directory specified by dirName.</para>
            <para>The directory must be empty for rmdir() to succeed.</para>
            <para>Returns true if successful; otherwise returns false.</para>
            <para>See also mkdir().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.Rmpath(System.String)">
            <summary>
            <para>Removes the directory path dirPath.</para>
            <para>The function will remove all parent directories in dirPath, provided that they are empty. This is the opposite of mkpath(dirPath).</para>
            <para>Returns true if successful; otherwise returns false.</para>
            <para>See also mkpath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.Root">
            <summary>
            <para>Returns the root directory.</para>
            <para>The directory is constructed using the absolute path of the root directory, ensuring that its path() will be the same as its absolutePath().</para>
            <para>See rootPath() for details.</para>
            <para>See also drives(), current(), home(), and temp().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.RootPath">
            <summary>
            <para>Returns the absolute path of the root directory.</para>
            <para>For Unix operating systems this returns &quot;/&quot;. For Windows and Symbian file systems this normally returns &quot;c:/&quot;. I.E. the root of the system drive.</para>
            <para>See also root(), drives(), currentPath(), homePath(), and tempPath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.SearchPaths(System.String)">
            <summary>
            <para>Returns the search paths for prefix.</para>
            <para>This function was introduced in Qt 4.3.</para>
            <para>See also setSearchPaths() and addSearchPath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.Separator">
            <summary>
            <para>Returns the native directory separator: &quot;/&quot; under Unix (including Mac OS X) and &quot;\&quot; under Windows.</para>
            <para>You do not need to use this function to build file paths. If you always use &quot;/&quot;, Qt will translate your paths to conform to the underlying operating system. If you want to display paths to the user using their operating system's separator use toNativeSeparators().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.SetCurrent(System.String)">
            <summary>
            <para>Sets the application's current working directory to path. Returns true if the directory was successfully changed; otherwise returns false.</para>
            <para>See also current(), currentPath(), home(), root(), and temp().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.SetSearchPaths(System.String,System.Collections.Generic.List{System.String})">
            <summary>
            <para>Sets or replaces Qt's search paths for file names with the prefix prefix to searchPaths.</para>
            <para>To specify a prefix for a file name, prepend the prefix followed by a single colon (e.g., &quot;images:undo.png&quot;, &quot;xmldocs:books.xml&quot;). prefix can only contain letters or numbers (e.g., it cannot contain a colon, nor a slash).</para>
            <para>Qt uses this search path to locate files with a known prefix. The search path entries are tested in order, starting with the first entry.</para>
            <para> QDir::setSearchPaths(&quot;icons&quot;, QStringList(QDir::homePath() + &quot;/images&quot;));</para>
            <para> QDir::setSearchPaths(&quot;docs&quot;, QStringList(&quot;:/embeddedDocuments&quot;));</para>
            <para> ...</para>
            <para> QPixmap pixmap(&quot;icons:undo.png&quot;); // will look for undo.png in QDir::homePath() + &quot;/images&quot;</para>
            <para> QFile file(&quot;docs:design.odf&quot;); // will look in the :/embeddedDocuments resource path</para>
            <para>File name prefix must be at least 2 characters long to avoid conflicts with Windows drive letters.</para>
            <para>Search paths may contain paths to The Qt Resource System.</para>
            <para>This function was introduced in Qt 4.3.</para>
            <para>See also searchPaths().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.Temp">
            <summary>
            <para>Returns the system's temporary directory.</para>
            <para>The directory is constructed using the absolute path of the temporary directory, ensuring that its path() will be the same as its absolutePath().</para>
            <para>See tempPath() for details.</para>
            <para>See also drives(), current(), home(), and root().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.TempPath">
            <summary>
            <para>Returns the absolute path of the system's temporary directory.</para>
            <para>On Unix/Linux systems this is the path in the TMPDIR environment variable or /tmp if TMPDIR is not defined. On Windows this is usually the path in the TEMP or TMP environment variable. Whether a directory separator is added to the end or not, depends on the operating system.</para>
            <para>See also temp(), currentPath(), homePath(), and rootPath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.ToNativeSeparators(System.String)">
            <summary>
            <para>Returns pathName with the '/' separators converted to separators that are appropriate for the underlying operating system.</para>
            <para>On Windows, toNativeSeparators(&quot;c:/winnt/system32&quot;) returns &quot;c:\winnt\system32&quot;.</para>
            <para>The returned string may be the same as the argument on some operating systems, for example on Unix.</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also fromNativeSeparators() and separator().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDir.Finalize">
            <summary>
            <para>Destroys the QDir object frees up its resources. This has no effect on the underlying directory in the file system.</para>
            </summary>
        </member>
        <member name="P:QtCore.QDir.filter">
            <summary>
            <para>Returns the value set by setFilter()</para>
            <para>Sets the filter used by entryList() and entryInfoList() to filters. The filter is used to specify the kind of files that should be returned by entryList() and entryInfoList(). See QDir::Filter.</para>
            </summary>
        </member>
        <member name="P:QtCore.QDir.NameFilters">
            <summary>
            <para>Returns the string list set by setNameFilters()</para>
            <para>Sets the name filters used by entryList() and entryInfoList() to the list of filters specified by nameFilters.</para>
            <para>Each name filter is a wildcard (globbing) filter that understands * and ? wildcards. (See QRegExp wildcard matching.)</para>
            <para>For example, the following code sets three name filters on a QDir to ensure that only files with extensions typically used for C++ source files are listed:</para>
            <para>     QStringList filters;</para>
            <para>     filters &lt;&lt; &quot;*.cpp&quot; &lt;&lt; &quot;*.cxx&quot; &lt;&lt; &quot;*.cc&quot;;</para>
            <para>     dir.setNameFilters(filters);</para>
            </summary>
        </member>
        <member name="P:QtCore.QDir.Path">
            <summary>
            <para>Returns the path. This may contain symbolic links, but never contains redundant &quot;.&quot;, &quot;..&quot; or multiple separators.</para>
            <para>The returned path can be either absolute or relative (see setPath()).</para>
            <para>Sets the path of the directory to path. The path is cleaned of redundant &quot;.&quot;, &quot;..&quot; and of multiple separators. No check is made to see whether a directory with this path actually exists; but you can check for yourself using exists().</para>
            <para>The path can be either absolute or relative. Absolute paths begin with the directory separator &quot;/&quot; (optionally preceded by a drive specification under Windows). Relative file names begin with a directory name or a file name and specify a path relative to the current directory. An example of an absolute path is the string &quot;/tmp/quartz&quot;, a relative path might look like &quot;src/fatlib&quot;.</para>
            </summary>
        </member>
        <member name="P:QtCore.QDir.Sorting">
            <summary>
            <para>Returns the value set by setSorting()</para>
            <para>Sets the sort order used by entryList() and entryInfoList().</para>
            <para>The sort is specified by OR-ing values from the enum QDir::SortFlag.</para>
            </summary>
        </member>
        <member name="T:QtCore.QDir.Filter">
            <summary>
            <para>This enum describes the filtering options available to QDir; e.g. for entryList() and entryInfoList(). The filter value is specified by combining values from the following list using the bitwise OR operator:</para>
            <para>Functions that use Filter enum values to filter lists of files and directories will include symbolic links to files and directories unless you set the NoSymLinks value.</para>
            <para>A default constructed QDir will not filter out files based on their permissions, so entryList() and entryInfoList() will return all files that are readable, writable, executable, or any combination of the three. This makes the default easy to write, and at the same time useful.</para>
            <para>For example, setting the Readable, Writable, and Files flags allows all files to be listed for which the application has read access, write access or both. If the Dirs and Drives flags are also included in this combination then all drives, directories, all files that the application can read, write, or execute, and symlinks to such files/directories can be listed.</para>
            <para>To retrieve the permissons for a directory, use the entryInfoList() function to get the associated QFileInfo objects and then use the QFileInfo::permissons() to obtain the permissions and ownership for each file.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.Filter.AllDirs">
            <summary>
            <para>List all directories; i.e. don't apply the filters to directory names.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.Filter.AllEntries">
            <summary>
            <para>List directories, files, drives and symlinks (this does not list broken symlinks unless you specify System).</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.Filter.CaseSensitive">
            <summary>
            <para>The filter should be case sensitive.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.Filter.Dirs">
            <summary>
            <para>List directories that match the filters.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.Filter.Drives">
            <summary>
            <para>List disk drives (ignored under Unix).</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.Filter.Executable">
            <summary>
            <para>List files for which the application has execute access. The Executable value needs to be combined with Dirs or Files.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.Filter.Files">
            <summary>
            <para>List files.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.Filter.Hidden">
            <summary>
            <para>List hidden files (on Unix, files starting with a &quot;.&quot;).</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.Filter.Modified">
            <summary>
            <para>Only list files that have been modified (ignored on Unix).</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.Filter.NoDot">
            <summary>
            <para>Do not list the special entry &quot;.&quot;.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.Filter.NoDotAndDotDot">
            <summary>
            <para>Do not list the special entries &quot;.&quot; and &quot;..&quot;.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.Filter.NoDotDot">
            <summary>
            <para>Do not list the special entry &quot;..&quot;.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.Filter.NoSymLinks">
            <summary>
            <para>Do not list symbolic links (ignored by operating systems that don't support symbolic links).</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.Filter.Readable">
            <summary>
            <para>List files for which the application has read access. The Readable value needs to be combined with Dirs or Files.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.Filter.System">
            <summary>
            <para>List system files (on Unix, FIFOs, sockets and device files are included; on Windows, .lnk files are included)</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.Filter.Writable">
            <summary>
            <para>List files for which the application has write access. The Writable value needs to be combined with Dirs or Files.</para>
            </summary>
        </member>
        <member name="T:QtCore.QDir.SortFlag">
            <summary>
            <para>This enum describes the sort options available to QDir, e.g. for entryList() and entryInfoList(). The sort value is specified by OR-ing together values from the following list:</para>
            <para>You can only specify one of the first four.</para>
            <para>If you specify both DirsFirst and Reversed, directories are still put first, but in reverse order; the files will be listed after the directories, again in reverse order.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.SortFlag.DirsFirst">
            <summary>
            <para>Put the directories first, then the files.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.SortFlag.DirsLast">
            <summary>
            <para>Put the files first, then the directories.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.SortFlag.IgnoreCase">
            <summary>
            <para>Sort case-insensitively.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.SortFlag.LocaleAware">
            <summary>
            <para>Sort items appropriately using the current locale settings.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.SortFlag.Name">
            <summary>
            <para>Sort by name.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.SortFlag.NoSort">
            <summary>
            <para>Not sorted by default.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.SortFlag.Reversed">
            <summary>
            <para>Reverse the sort order.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.SortFlag.Size">
            <summary>
            <para>Sort by file size.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.SortFlag.Time">
            <summary>
            <para>Sort by time (modification time).</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.SortFlag.Type">
            <summary>
            <para>Sort by file type (extension).</para>
            </summary>
        </member>
        <member name="F:QtCore.QDir.SortFlag.Unsorted">
            <summary>
            <para>Do not sort.</para>
            </summary>
        </member>
        <member name="T:QtCore.QDirIterator">
            <summary>
            The QDirIterator class provides an iterator for directory entrylists.
            </summary>
            <remarks>
            <para></para>
            <para>You can use QDirIterator to navigate entries of a directory one at a time. It is similar to QDir::entryList() and QDir::entryInfoList(), but because it lists entries one at a time instead of all at once, it scales better and is more suitable for large directories. It also supports listing directory contents recursively, and following symbolic links. Unlike QDir::entryList(), QDirIterator does not support sorting.</para>
            <para>The QDirIterator constructor takes a QDir or a directory as argument. After construction, the iterator is located before the first directory entry. Here's how to iterate over all the entries sequentially:</para>
            <para> QDirIterator it(&amp;quot;/etc&amp;quot;, QDirIterator::Subdirectories);</para>
            <para> while (it.hasNext()) {</para>
            <para>     qDebug() &amp;lt;&amp;lt; it.next();</para>
            <para></para>
            <para>     // /etc/.</para>
            <para>     // /etc/..</para>
            <para>     // /etc/X11</para>
            <para>     // /etc/X11/fs</para>
            <para>     // ...</para>
            <para> }</para>
            <para>The next() function returns the path to the next directory entry and advances the iterator. You can also call filePath() to get the current file path without advancing the iterator. The fileName() function returns only the name of the file, similar to how QDir::entryList() works. You can also call fileInfo() to get a QFileInfo for the current entry.</para>
            <para>Unlike Qt's container iterators, QDirIterator is uni-directional (i.e., you cannot iterate directories in reverse order) and does not allow random access.</para>
            <para>QDirIterator works with all supported file engines, and is implemented using QAbstractFileEngineIterator.</para>
            <para></para>
            <para>See also QDir, QDir::entryList(), and QAbstractFileEngineIterator.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QDirIterator.#ctor(QtCore.QDir,QtCore.QDirIterator.IteratorFlag)">
            <summary>
            <para>Constructs a QDirIterator that can iterate over dir's entrylist, using dir's name filters and regular filters. You can pass options via flags to decide how the directory should be iterated.</para>
            <para>By default, flags is NoIteratorFlags, which provides the same behavior as in QDir::entryList().</para>
            <para>The sorting in dir is ignored.</para>
            <para>Note: To list symlinks that point to non existing files, QDir::System must be passed to the flags.</para>
            <para>See also hasNext(), next(), and IteratorFlags.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDirIterator.#ctor(System.String,QtCore.QDirIterator.IteratorFlag)">
            <summary>
            <para>Constructs a QDirIterator that can iterate over dir's entrylist, using dir's name filters and regular filters. You can pass options via flags to decide how the directory should be iterated.</para>
            <para>By default, flags is NoIteratorFlags, which provides the same behavior as in QDir::entryList().</para>
            <para>The sorting in dir is ignored.</para>
            <para>Note: To list symlinks that point to non existing files, QDir::System must be passed to the flags.</para>
            <para>See also hasNext(), next(), and IteratorFlags.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDirIterator.#ctor(System.String,QtCore.QDir.Filter,QtCore.QDirIterator.IteratorFlag)">
            <summary>
            <para>Constructs a QDirIterator that can iterate over dir's entrylist, using dir's name filters and regular filters. You can pass options via flags to decide how the directory should be iterated.</para>
            <para>By default, flags is NoIteratorFlags, which provides the same behavior as in QDir::entryList().</para>
            <para>The sorting in dir is ignored.</para>
            <para>Note: To list symlinks that point to non existing files, QDir::System must be passed to the flags.</para>
            <para>See also hasNext(), next(), and IteratorFlags.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDirIterator.#ctor(System.String,System.Collections.Generic.List{System.String},QtCore.QDir.Filter,QtCore.QDirIterator.IteratorFlag)">
            <summary>
            <para>Constructs a QDirIterator that can iterate over dir's entrylist, using dir's name filters and regular filters. You can pass options via flags to decide how the directory should be iterated.</para>
            <para>By default, flags is NoIteratorFlags, which provides the same behavior as in QDir::entryList().</para>
            <para>The sorting in dir is ignored.</para>
            <para>Note: To list symlinks that point to non existing files, QDir::System must be passed to the flags.</para>
            <para>See also hasNext(), next(), and IteratorFlags.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDirIterator.FileInfo">
            <summary>
            <para>Returns a QFileInfo for the current directory entry.</para>
            <para>See also filePath() and fileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDirIterator.FileName">
            <summary>
            <para>Returns the file name for the current directory entry, without the path prepended.</para>
            <para>This function is convenient when iterating a single directory. When using the QDirIterator::Subdirectories flag, you can use filePath() to get the full path.</para>
            <para>See also filePath() and fileInfo().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDirIterator.FilePath">
            <summary>
            <para>Returns the full file path for the current directory entry.</para>
            <para>See also fileInfo() and fileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDirIterator.HasNext">
            <summary>
            <para>Returns true if there is at least one more entry in the directory; otherwise, false is returned.</para>
            <para>See also next(), fileName(), filePath(), and fileInfo().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDirIterator.Next">
            <summary>
            <para>Advances the iterator to the next entry, and returns the file path of this new entry. If hasNext() returns false, this function does nothing, and returns a null QString.</para>
            <para>You can call fileName() or filePath() to get the current entry file name or path, or fileInfo() to get a QFileInfo for the current entry.</para>
            <para>See also hasNext(), fileName(), filePath(), and fileInfo().</para>
            </summary>
        </member>
        <member name="M:QtCore.QDirIterator.Path">
            <summary>
            <para>Returns the base directory of the iterator.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDirIterator.Finalize">
            <summary>
            <para>Destroys the QDirIterator.</para>
            </summary>
        </member>
        <member name="T:QtCore.QDirIterator.IteratorFlag">
            <summary>
            <para>This enum describes flags that you can combine to configure the behavior of QDirIterator.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDirIterator.IteratorFlag.FollowSymlinks">
            <summary>
            <para>When combined with Subdirectories, this flag enables iterating through all subdirectories of the assigned path, following all symbolic links. Symbolic link loops (e.g., &quot;link&quot; =&gt; &quot;.&quot; or &quot;link&quot; =&gt; &quot;..&quot;) are automatically detected and ignored.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDirIterator.IteratorFlag.NoIteratorFlags">
            <summary>
            <para>The default value, representing no flags. The iterator will return entries for the assigned path.</para>
            </summary>
        </member>
        <member name="F:QtCore.QDirIterator.IteratorFlag.Subdirectories">
            <summary>
            <para>List entries inside all subdirectories as well.</para>
            </summary>
        </member>
        <member name="T:QtCore.QDynamicPropertyChangeEvent">
            <summary>
            The QDynamicPropertyChangeEvent class contains event parameters for dynamic property change events.
            </summary>
            <remarks>
            <para></para>
            <para>Dynamic property change events are sent to objects when properties are dynamically added, changed or removed using QObject::setProperty().</para>
            </remarks>
        </member>
        <member name="M:QtCore.QDynamicPropertyChangeEvent.#ctor(QtCore.QByteArray)">
            <summary>
            <para>Constructs a dynamic property change event object with the property name set to name.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDynamicPropertyChangeEvent.#ctor(QtCore.QDynamicPropertyChangeEvent)">
            <summary>
            <para>Constructs a dynamic property change event object with the property name set to name.</para>
            </summary>
        </member>
        <member name="M:QtCore.QDynamicPropertyChangeEvent.PropertyName">
            <summary>
            <para>Returns the name of the dynamic property that was added, changed or removed.</para>
            <para>See also QObject::setProperty() and QObject::dynamicPropertyNames().</para>
            </summary>
        </member>
        <member name="T:QtCore.QEasingCurve">
            <summary>
            The QEasingCurve class provides easing curves for controlling animation.
            </summary>
            <remarks>
            <para></para>
            <para>Easing curves describe a function that controls how the speed of the interpolation between 0 and 1 should be. Easing curves allow transitions from one value to another to appear more natural than a simple constant speed would allow. The QEasingCurve class is usually used in conjunction with the QVariantAnimation and QPropertyAnimation classes but can be used on its own. It is usually used to accelerate the interpolation from zero velocity (ease in) or decelerate to zero velocity (ease out). Ease in and ease out can also be combined in the same easing curve.</para>
            <para>To calculate the speed of the interpolation, the easing curve provides the function valueForProgress(), where the progress argument specifies the progress of the interpolation: 0 is the start value of the interpolation, 1 is the end value of the interpolation. The returned value is the effective progress of the interpolation. If the returned value is the same as the input value for all input values the easing curve is a linear curve. This is the default behaviour.</para>
            <para>For example,</para>
            <para> QEasingCurve easing(QEasingCurve::InOutQuad);</para>
            <para></para>
            <para> for(qreal t = 0.0; t &amp;lt; 1.0; t+=0.1)</para>
            <para>     qWarning() &amp;lt;&amp;lt; &amp;quot;Effective progress&amp;quot; &amp;lt;&amp;lt; t &amp;lt;&amp;lt; &amp;quot; is</para>
            <para>                &amp;lt;&amp;lt; easing.valueForProgress(t);</para>
            <para> </para>
            <para>will print the effective progress of the interpolation between 0 and 1.</para>
            <para>When using a QPropertyAnimation, the associated easing curve will be used to control the progress of the interpolation between startValue and endValue:</para>
            <para> QPropertyAnimation animation;</para>
            <para> animation.setStartValue(0);</para>
            <para> animation.setEndValue(1000);</para>
            <para> animation.setDuration(1000);</para>
            <para> animation.setEasingCurve(QEasingCurve::InOutQuad);</para>
            <para>The ability to set an amplitude, overshoot, or period depends on the QEasingCurve type. Amplitude access is available to curves that behave as springs such as elastic and bounce curves. Changing the amplitude changes the height of the curve. Period access is only available to elastic curves and setting a higher period slows the rate of bounce. Only curves that have &amp;quot;boomerang&amp;quot; behaviors such as the InBack, OutBack, InOutBack, and OutInBack have overshoot settings. These curves will interpolate beyond the end points and return to the end point, acting similar to a boomerang.</para>
            <para>The Easing Curves Example contains samples of QEasingCurve types and lets you change the curve settings.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QEasingCurve.#ctor(QtCore.QEasingCurve)">
            <summary>
            <para>Construct a copy of other.</para>
            </summary>
        </member>
        <member name="M:QtCore.QEasingCurve.#ctor(QtCore.QEasingCurve.Type)">
            <summary>
            <para>Constructs an easing curve of the given type.</para>
            </summary>
        </member>
        <member name="M:QtCore.QEasingCurve.op_Inequality(QtCore.QEasingCurve,QtCore.QEasingCurve)">
            <summary>
            <para>Compare this easing curve with other and returns true if they are not equal. It will also compare the properties of a curve.</para>
            <para>See also operator==().</para>
            </summary>
        </member>
        <member name="M:QtCore.QEasingCurve.op_Equality(QtCore.QEasingCurve,QtCore.QEasingCurve)">
            <summary>
            <para>Compare this easing curve with other and returns true if they are equal. It will also compare the properties of a curve.</para>
            </summary>
        </member>
        <member name="M:QtCore.QEasingCurve.ValueForProgress(System.Double)">
            <summary>
            <para>Return the effective progress for the easing curve at progress. While progress must be between 0 and 1, the returned effective progress can be outside those bounds. For instance, QEasingCurve::InBack will return negative values in the beginning of the function.</para>
            </summary>
        </member>
        <member name="M:QtCore.QEasingCurve.Finalize">
            <summary>
            <para>Destructor.</para>
            </summary>
        </member>
        <member name="P:QtCore.QEasingCurve.Amplitude">
            <summary>
            <para>Returns the amplitude. This is not applicable for all curve types. It is only applicable for bounce and elastic curves (curves of type() QEasingCurve::InBounce, QEasingCurve::OutBounce, QEasingCurve::InOutBounce, QEasingCurve::OutInBounce, QEasingCurve::InElastic, QEasingCurve::OutElastic, QEasingCurve::InOutElastic or QEasingCurve::OutInElastic).</para>
            <para>Sets the amplitude to amplitude.</para>
            <para>This will set the amplitude of the bounce or the amplitude of the elastic &quot;spring&quot; effect. The higher the number, the higher the amplitude.</para>
            </summary>
        </member>
        <member name="P:QtCore.QEasingCurve.CustomType">
            <summary>
            <para>Returns the function pointer to the custom easing curve. If type() does not return QEasingCurve::Custom, this function will return 0.</para>
            <para>Sets a custom easing curve that is defined by the user in the function func. The signature of the function is qreal myEasingFunction(qreal progress), where progress and the return value is considered to be normalized between 0 and 1. (In some cases the return value can be outside that range) After calling this function type() will return QEasingCurve::Custom. func cannot be zero.</para>
            </summary>
        </member>
        <member name="P:QtCore.QEasingCurve.Overshoot">
            <summary>
            <para>Returns the overshoot. This is not applicable for all curve types. It is only applicable if type() is QEasingCurve::InBack, QEasingCurve::OutBack, QEasingCurve::InOutBack or QEasingCurve::OutInBack.</para>
            <para>Sets the overshoot to overshoot.</para>
            <para>0 produces no overshoot, and the default value of 1.70158 produces an overshoot of 10 percent.</para>
            </summary>
        </member>
        <member name="P:QtCore.QEasingCurve.Period">
            <summary>
            <para>Returns the period. This is not applicable for all curve types. It is only applicable if type() is QEasingCurve::InElastic, QEasingCurve::OutElastic, QEasingCurve::InOutElastic or QEasingCurve::OutInElastic.</para>
            <para>Sets the period to period. Setting a small period value will give a high frequency of the curve. A large period will give it a small frequency.</para>
            </summary>
        </member>
        <member name="P:QtCore.QEasingCurve.type">
            <summary>
            <para>Returns the type of the easing curve.</para>
            <para>Sets the type of the easing curve to type.</para>
            </summary>
        </member>
        <member name="T:QtCore.QEasingCurve.Type">
            <summary>
            <para>The type of easing curve.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.Custom">
            <summary>
            <para>This is returned if the user specified a custom curve type with setCustomType(). Note that you cannot call setType() with this value, but type() can return it.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.InBack">
            <summary>
            <para>Easing curve for a back (overshooting cubic function: (s+1)*t^3 - s*t^2) easing in: accelerating from zero velocity.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.InBounce">
            <summary>
            <para>Easing curve for a bounce (exponentially decaying parabolic bounce) function: accelerating from zero velocity.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.InCirc">
            <summary>
            <para>Easing curve for a circular (sqrt(1-t^2)) function: accelerating from zero velocity.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.InCubic">
            <summary>
            <para>Easing curve for a cubic (t^3) function: accelerating from zero velocity.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.InElastic">
            <summary>
            <para>Easing curve for an elastic (exponentially decaying sine wave) function: accelerating from zero velocity. The peak amplitude can be set with the amplitude parameter, and the period of decay by the period parameter.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.InExpo">
            <summary>
            <para>Easing curve for an exponential (2^t) function: accelerating from zero velocity.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.InOutBack">
            <summary>
            <para>Easing curve for a back (overshooting cubic function: (s+1)*t^3 - s*t^2) easing in/out: acceleration until halfway, then deceleration.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.InOutBounce">
            <summary>
            <para>Easing curve for a bounce (exponentially decaying parabolic bounce) function easing in/out: acceleration until halfway, then deceleration.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.InOutCirc">
            <summary>
            <para>Easing curve for a circular (sqrt(1-t^2)) function: acceleration until halfway, then deceleration.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.InOutCubic">
            <summary>
            <para>Easing curve for a cubic (t^3) function: acceleration until halfway, then deceleration.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.InOutElastic">
            <summary>
            <para>Easing curve for an elastic (exponentially decaying sine wave) function: acceleration until halfway, then deceleration.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.InOutExpo">
            <summary>
            <para>Easing curve for an exponential (2^t) function: acceleration until halfway, then deceleration.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.InOutQuad">
            <summary>
            <para>Easing curve for a quadratic (t^2) function: acceleration until halfway, then deceleration.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.InOutQuart">
            <summary>
            <para>Easing curve for a quartic (t^4) function: acceleration until halfway, then deceleration.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.InOutQuint">
            <summary>
            <para>Easing curve for a quintic (t^5) function: acceleration until halfway, then deceleration.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.InOutSine">
            <summary>
            <para>Easing curve for a sinusoidal (sin(t)) function: acceleration until halfway, then deceleration.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.InQuad">
            <summary>
            <para>Easing curve for a quadratic (t^2) function: accelerating from zero velocity.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.InQuart">
            <summary>
            <para>Easing curve for a quartic (t^4) function: accelerating from zero velocity.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.InQuint">
            <summary>
            <para>Easing curve for a quintic (t^5) easing in: accelerating from zero velocity.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.InSine">
            <summary>
            <para>Easing curve for a sinusoidal (sin(t)) function: accelerating from zero velocity.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.Linear">
            <summary>
            <para>Easing curve for a linear (t) function: velocity is constant.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.OutBack">
            <summary>
            <para>Easing curve for a back (overshooting cubic function: (s+1)*t^3 - s*t^2) easing out: decelerating to zero velocity.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.OutBounce">
            <summary>
            <para>Easing curve for a bounce (exponentially decaying parabolic bounce) function: decelerating from zero velocity.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.OutCirc">
            <summary>
            <para>Easing curve for a circular (sqrt(1-t^2)) function: decelerating from zero velocity.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.OutCubic">
            <summary>
            <para>Easing curve for a cubic (t^3) function: decelerating to zero velocity.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.OutElastic">
            <summary>
            <para>Easing curve for an elastic (exponentially decaying sine wave) function: decelerating from zero velocity. The peak amplitude can be set with the amplitude parameter, and the period of decay by the period parameter.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.OutExpo">
            <summary>
            <para>Easing curve for an exponential (2^t) function: decelerating from zero velocity.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.OutInBack">
            <summary>
            <para>Easing curve for a back (overshooting cubic easing: (s+1)*t^3 - s*t^2) easing out/in: deceleration until halfway, then acceleration.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.OutInBounce">
            <summary>
            <para>Easing curve for a bounce (exponentially decaying parabolic bounce) function easing out/in: deceleration until halfway, then acceleration.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.OutInCirc">
            <summary>
            <para>Easing curve for a circular (sqrt(1-t^2)) function: deceleration until halfway, then acceleration.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.OutInCubic">
            <summary>
            <para>Easing curve for a cubic (t^3) function: deceleration until halfway, then acceleration.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.OutInElastic">
            <summary>
            <para>Easing curve for an elastic (exponentially decaying sine wave) function: deceleration until halfway, then acceleration.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.OutInExpo">
            <summary>
            <para>Easing curve for an exponential (2^t) function: deceleration until halfway, then acceleration.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.OutInQuad">
            <summary>
            <para>Easing curve for a quadratic (t^2) function: deceleration until halfway, then acceleration.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.OutInQuart">
            <summary>
            <para>Easing curve for a quartic (t^4) function: deceleration until halfway, then acceleration.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.OutInQuint">
            <summary>
            <para>Easing curve for a quintic (t^5) function: deceleration until halfway, then acceleration.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.OutInSine">
            <summary>
            <para>Easing curve for a sinusoidal (sin(t)) function: deceleration until halfway, then acceleration.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.OutQuad">
            <summary>
            <para>Easing curve for a quadratic (t^2) function: decelerating to zero velocity.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.OutQuart">
            <summary>
            <para>Easing curve for a quartic (t^4) function: decelerating to zero velocity.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.OutQuint">
            <summary>
            <para>Easing curve for a quintic (t^5) function: decelerating to zero velocity.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEasingCurve.Type.OutSine">
            <summary>
            <para>Easing curve for a sinusoidal (sin(t)) function: decelerating from zero velocity.</para>
            </summary>
        </member>
        <member name="T:QtCore.QElapsedTimer">
            <summary>
            The QElapsedTimer class provides a fast way to calculate elapsed times.
            </summary>
            <remarks>
            <para></para>
            <para>The QElapsedTimer class is usually used to quickly calculate how much time has elapsed between two events. Its API is similar to that of QTime, so code that was using that can be ported quickly to the new class.</para>
            <para>However, unlike QTime, QElapsedTimer tries to use monotonic clocks if possible. This means it's not possible to convert QElapsedTimer objects to a human-readable time.</para>
            <para>The typical use-case for the class is to determine how much time was spent in a slow operation. The simplest example of such a case is for debugging purposes, as in the following example:</para>
            <para>     QElapsedTimer timer;</para>
            <para>     timer.start();</para>
            <para></para>
            <para>     slowOperation1();</para>
            <para></para>
            <para>     qDebug() &amp;lt;&amp;lt; &amp;quot;The slow operation took&amp;quot; &amp;lt;&amp;lt; timer.elapsed() &amp;lt;&amp;lt; &amp;quot;milliseconds&amp;quot;;</para>
            <para>In this example, the timer is started by a call to start() and the elapsed timer is calculated by the elapsed() function.</para>
            <para>The time elapsed can also be used to recalculate the time available for another operation, after the first one is complete. This is useful when the execution must complete within a certain time period, but several steps are needed. The waitFor-type functions in QIODevice and its subclasses are good examples of such need. In that case, the code could be as follows:</para>
            <para> void executeSlowOperations(int timeout)</para>
            <para> {</para>
            <para>     QElapsedTimer timer;</para>
            <para>     timer.start();</para>
            <para>     slowOperation1();</para>
            <para></para>
            <para>     int remainingTime = timeout - timer.elapsed();</para>
            <para>     if (remainingTime &amp;gt; 0)</para>
            <para>         slowOperation2(remainingTime);</para>
            <para> }</para>
            <para>Another use-case is to execute a certain operation for a specific timeslice. For this, QElapsedTimer provides the hasExpired() convenience function, which can be used to determine if a certain number of milliseconds has already elapsed:</para>
            <para> void executeOperationsForTime(int ms)</para>
            <para> {</para>
            <para>     QElapsedTimer timer;</para>
            <para>     timer.start();</para>
            <para></para>
            <para>     while (!timer.hasExpired(ms))</para>
            <para>         slowOperation1();</para>
            <para> }</para>
            <para></para>
            <para>Reference clocks</para>
            <para>QElapsedTimer will use the platform's monotonic reference clock in all platforms that support it (see QElapsedTimer::isMonotonic()). This has the added benefit that QElapsedTimer is immune to time adjustments, such as the user correcting the time. Also unlike QTime, QElapsedTimer is immune to changes in the timezone settings, such as daylight savings periods.</para>
            <para>On the other hand, this means QElapsedTimer values can only be compared with other values that use the same reference. This is especially true if the time since the reference is extracted from the QElapsedTimer object (QElapsedTimer::msecsSinceReference()) and serialised. These values should never be exchanged across the network or saved to disk, since there's no telling whether the computer node receiving the data is the same as the one originating it or if it has rebooted since.</para>
            <para>It is, however, possible to exchange the value with other processes running on the same machine, provided that they also use the same reference clock. QElapsedTimer will always use the same clock, so it's safe to compare with the value coming from another process in the same machine. If comparing to values produced by other APIs, you should check that the clock used is the same as QElapsedTimer (see QElapsedTimer::clockType()).</para>
            <para></para>
            <para>32-bit overflows</para>
            <para>Some of the clocks that QElapsedTimer have a limited range and may overflow after hitting the upper limit (usually 32-bit). QElapsedTimer deals with this overflow issue and presents a consistent timing. However, when extracting the time since reference from QElapsedTimer, two different processes in the same machine may have different understanding of how much time has actually elapsed.</para>
            <para>The information on which clocks types may overflow and how to remedy that issue is documented along with the clock types.</para>
            <para></para>
            <para>See also QTime and QTimer.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QElapsedTimer.clockType">
            <summary>
            <para>Returns the clock type that this QElapsedTimer implementation uses.</para>
            <para>See also isMonotonic().</para>
            </summary>
        </member>
        <member name="M:QtCore.QElapsedTimer.Elapsed">
            <summary>
            <para>Returns the number of milliseconds since this QElapsedTimer was last started. Calling this function in a QElapsedTimer that was invalidated will result in undefined results.</para>
            <para>See also start(), restart(), hasExpired(), and invalidate().</para>
            </summary>
        </member>
        <member name="M:QtCore.QElapsedTimer.HasExpired(System.Int64)">
            <summary>
            <para>Returns true if this QElapsedTimer has already expired by timeout milliseconds (that is, more than timeout milliseconds have elapsed). The value of timeout can be -1 to indicate that this timer does not expire, in which case this function will always return false.</para>
            <para>See also elapsed().</para>
            </summary>
        </member>
        <member name="M:QtCore.QElapsedTimer.Invalidate">
            <summary>
            <para>Marks this QElapsedTimer object as invalid.</para>
            <para>An invalid object can be checked with isValid(). Calculations of timer elapsed since invalid data are undefined and will likely produce bizarre results.</para>
            <para>See also isValid(), start(), and restart().</para>
            </summary>
        </member>
        <member name="M:QtCore.QElapsedTimer.IsMonotonic">
            <summary>
            <para>Returns true if this is a monotonic clock, false otherwise. See the information on the different clock types to understand which ones are monotonic.</para>
            <para>See also clockType() and QElapsedTimer::ClockType.</para>
            </summary>
        </member>
        <member name="M:QtCore.QElapsedTimer.IsValid">
            <summary>
            <para>Returns false if this object was invalidated by a call to invalidate() and has not been restarted since.</para>
            <para>See also invalidate(), start(), and restart().</para>
            </summary>
        </member>
        <member name="M:QtCore.QElapsedTimer.MsecsSinceReference">
            <summary>
            <para>Returns the number of milliseconds between last time this QElapsedTimer object was started and its reference clock's start.</para>
            <para>This number is usually arbitrary for all clocks except the QElapsedTimer::SystemTime clock. For that clock type, this number is the number of milliseconds since January 1st, 1970 at 0:00 UTC (that is, it is the Unix time expressed in milliseconds).</para>
            <para>See also clockType() and elapsed().</para>
            </summary>
        </member>
        <member name="M:QtCore.QElapsedTimer.MsecsTo(QtCore.QElapsedTimer)">
            <summary>
            <para>Returns the number of milliseconds between this QElapsedTimer and other. If other was started before this object, the returned value will be positive. If it was started later, the returned value will be negative.</para>
            <para>The return value is undefined if this object or other were invalidated.</para>
            <para>See also secsTo() and elapsed().</para>
            </summary>
        </member>
        <member name="M:QtCore.QElapsedTimer.NsecsElapsed">
            <summary>
            <para>Returns the number of nanoseconds since this QElapsedTimer was last started. Calling this function in a QElapsedTimer that was invalidated will result in undefined results.</para>
            <para>On platforms that do not provide nanosecond resolution, the value returned will be the best estimate available.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also start(), restart(), hasExpired(), and invalidate().</para>
            </summary>
        </member>
        <member name="M:QtCore.QElapsedTimer.op_Inequality(QtCore.QElapsedTimer,QtCore.QElapsedTimer)">
            <summary>
            <para>Returns true if this object and other contain different times.</para>
            </summary>
        </member>
        <member name="M:QtCore.QElapsedTimer.op_Equality(QtCore.QElapsedTimer,QtCore.QElapsedTimer)">
            <summary>
            <para>Returns true if this object and other contain the same time.</para>
            </summary>
        </member>
        <member name="M:QtCore.QElapsedTimer.Restart">
            <summary>
            <para>Restarts the timer and returns the time elapsed since the previous start. This function is equivalent to obtaining the elapsed time with elapsed() and then starting the timer again with restart(), but it does so in one single operation, avoiding the need to obtain the clock value twice.</para>
            <para>The following example illustrates how to use this function to calibrate a parameter to a slow operation (for example, an iteration count) so that this operation takes at least 250 milliseconds:</para>
            <para>     QElapsedTimer timer;</para>
            <para></para>
            <para>     int count = 1;</para>
            <para>     timer.start();</para>
            <para>     do {</para>
            <para>         count *= 2;</para>
            <para>         slowOperation2(count);</para>
            <para>     } while (timer.restart() &lt; 250);</para>
            <para></para>
            <para>     return count;</para>
            <para>See also start(), invalidate(), and elapsed().</para>
            </summary>
        </member>
        <member name="M:QtCore.QElapsedTimer.SecsTo(QtCore.QElapsedTimer)">
            <summary>
            <para>Returns the number of seconds between this QElapsedTimer and other. If other was started before this object, the returned value will be positive. If it was started later, the returned value will be negative.</para>
            <para>The return value is undefined if this object or other were invalidated.</para>
            <para>See also msecsTo() and elapsed().</para>
            </summary>
        </member>
        <member name="M:QtCore.QElapsedTimer.Start">
            <summary>
            <para>Starts this timer. Once started, a timer value can be checked with elapsed() or msecsSinceReference().</para>
            <para>Normally, a timer is started just before a lengthy operation, such as:</para>
            <para>     QElapsedTimer timer;</para>
            <para>     timer.start();</para>
            <para></para>
            <para>     slowOperation1();</para>
            <para></para>
            <para>     qDebug() &lt;&lt; &quot;The slow operation took&quot; &lt;&lt; timer.elapsed() &lt;&lt; &quot;milliseconds&quot;;</para>
            <para>Also, starting a timer makes it valid again.</para>
            <para>See also restart(), invalidate(), and elapsed().</para>
            </summary>
        </member>
        <member name="T:QtCore.QElapsedTimer.ClockType">
            <summary>
            <para>This enum contains the different clock types that QElapsedTimer may use.</para>
            <para>QElapsedTimer will always use the same clock type in a particular machine, so this value will not change during the lifetime of a program. It is provided so that QElapsedTimer can be used with other non-Qt implementations, to guarantee that the same reference clock is being used.</para>
            </summary>
        </member>
        <member name="F:QtCore.QElapsedTimer.ClockType.MachAbsoluteTime">
            <summary>
            <para>The Mach kernel's absolute time (Mac OS X). This clock is monotonic and does not overflow.</para>
            </summary>
        </member>
        <member name="F:QtCore.QElapsedTimer.ClockType.MonotonicClock">
            <summary>
            <para>The system's monotonic clock, usually found in Unix systems. This clock is monotonic and does not overflow.</para>
            </summary>
        </member>
        <member name="F:QtCore.QElapsedTimer.ClockType.PerformanceCounter">
            <summary>
            <para>The high-resolution performance counter provided by Windows. This clock is monotonic and does not overflow.</para>
            </summary>
        </member>
        <member name="F:QtCore.QElapsedTimer.ClockType.SystemTime">
            <summary>
            <para>The human-readable system time. This clock is not monotonic.</para>
            </summary>
        </member>
        <member name="F:QtCore.QElapsedTimer.ClockType.TickCounter">
            <summary>
            <para>The system's tick counter, used on Windows and Symbian systems. This clock may overflow.</para>
            </summary>
        </member>
        <member name="T:QtCore.QEventLoop">
            <summary>
            The QEventLoop class provides a means of entering and leaving an event loop.
            </summary>
            <remarks>
            <para></para>
            <para>At any time, you can create a QEventLoop object and call exec() on it to start a local event loop. From within the event loop, calling exit() will force exec() to return.</para>
            <para></para>
            <para>See also QAbstractEventDispatcher.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QEventLoop.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs an event loop object with the given parent.</para>
            </summary>
        </member>
        <member name="M:QtCore.QEventLoop.Exec(QtCore.QEventLoop.ProcessEventsFlag)">
            <summary>
            <para>Enters the main event loop and waits until exit() is called. Returns the value that was passed to exit().</para>
            <para>If flags are specified, only events of the types allowed by the flags will be processed.</para>
            <para>It is necessary to call this function to start event handling. The main event loop receives events from the window system and dispatches these to the application widgets.</para>
            <para>Generally speaking, no user interaction can take place before calling exec(). As a special case, modal widgets like QMessageBox can be used before calling exec(), because modal widgets use their own local event loop.</para>
            <para>To make your application perform idle processing (i.e. executing a special function whenever there are no pending events), use a QTimer with 0 timeout. More sophisticated idle processing schemes can be achieved using processEvents().</para>
            <para>See also QApplication::quit(), exit(), and processEvents().</para>
            </summary>
        </member>
        <member name="M:QtCore.QEventLoop.Exit(System.Int32)">
            <summary>
            <para>Tells the event loop to exit with a return code.</para>
            <para>After this function has been called, the event loop returns from the call to exec(). The exec() function returns returnCode.</para>
            <para>By convention, a returnCode of 0 means success, and any non-zero value indicates an error.</para>
            <para>Note that unlike the C library function of the same name, this function does return to the caller -- it is event processing that stops.</para>
            <para>See also QCoreApplication::quit(), quit(), and exec().</para>
            </summary>
        </member>
        <member name="M:QtCore.QEventLoop.IsRunning">
            <summary>
            <para>Returns true if the event loop is running; otherwise returns false. The event loop is considered running from the time when exec() is called until exit() is called.</para>
            <para>See also exec() and exit().</para>
            </summary>
        </member>
        <member name="M:QtCore.QEventLoop.ProcessEvents(QtCore.QEventLoop.ProcessEventsFlag)">
            <summary>
            <para>Processes pending events that match flags until there are no more events to process. Returns true if pending events were handled; otherwise returns false.</para>
            <para>This function is especially useful if you have a long running operation and want to show its progress without allowing user input; i.e. by using the ExcludeUserInputEvents flag.</para>
            <para>This function is simply a wrapper for QAbstractEventDispatcher::processEvents(). See the documentation for that function for details.</para>
            </summary>
        </member>
        <member name="M:QtCore.QEventLoop.ProcessEvents(QtCore.QEventLoop.ProcessEventsFlag,System.Int32)">
            <summary>
            <para>Processes pending events that match flags until there are no more events to process. Returns true if pending events were handled; otherwise returns false.</para>
            <para>This function is especially useful if you have a long running operation and want to show its progress without allowing user input; i.e. by using the ExcludeUserInputEvents flag.</para>
            <para>This function is simply a wrapper for QAbstractEventDispatcher::processEvents(). See the documentation for that function for details.</para>
            </summary>
        </member>
        <member name="M:QtCore.QEventLoop.Quit">
            <summary>
            <para>Tells the event loop to exit normally.</para>
            <para>Same as exit(0).</para>
            <para>See also QCoreApplication::quit() and exit().</para>
            </summary>
        </member>
        <member name="M:QtCore.QEventLoop.WakeUp">
            <summary>
            <para>Wakes up the event loop.</para>
            <para>See also QAbstractEventDispatcher::wakeUp().</para>
            </summary>
        </member>
        <member name="M:QtCore.QEventLoop.Finalize">
            <summary>
            <para>Destroys the event loop object.</para>
            </summary>
        </member>
        <member name="T:QtCore.QEventLoop.ProcessEventsFlag">
            <summary>
            <para>This enum controls the types of events processed by the processEvents() functions.</para>
            <para></para>
            <para>See also processEvents().</para>
            </summary>
        </member>
        <member name="F:QtCore.QEventLoop.ProcessEventsFlag.AllEvents">
            <summary>
            <para>All events. Note that DeferredDelete events are processed specially. See QObject::deleteLater() for more details.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEventLoop.ProcessEventsFlag.DeferredDeletion">
            <summary>
            <para>Deprecated - do not use.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEventLoop.ProcessEventsFlag.ExcludeSocketNotifiers">
            <summary>
            <para>Do not process socket notifier events. Note that the events are not discarded; they will be delivered the next time processEvents() is called without the ExcludeSocketNotifiers flag.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEventLoop.ProcessEventsFlag.ExcludeUserInputEvents">
            <summary>
            <para>Do not process user input events, such as ButtonPress and KeyPress. Note that the events are not discarded; they will be delivered the next time processEvents() is called without the ExcludeUserInputEvents flag.</para>
            </summary>
        </member>
        <member name="F:QtCore.QEventLoop.ProcessEventsFlag.WaitForMoreEvents">
            <summary>
            <para>Wait for events if no pending events are available.</para>
            </summary>
        </member>
        <member name="T:QtCore.QEventTransition">
            <summary>
            The QEventTransition class provides a QObject-specific transition for Qt events.
            </summary>
            <remarks>
            <para></para>
            <para>A QEventTransition object binds an event to a particular QObject. QEventTransition is part of The State Machine Framework.</para>
            <para>Example:</para>
            <para> QPushButton *button = ...;</para>
            <para> QState *s1 = ...;</para>
            <para> QState *s2 = ...;</para>
            <para> // If in s1 and the button receives an Enter event, transition to s2</para>
            <para> QEventTransition *enterTransition = new QEventTransition(button, QEvent::Enter);</para>
            <para> enterTransition-&amp;gt;setTargetState(s2);</para>
            <para> s1-&amp;gt;addTransition(enterTransition);</para>
            <para> // If in s2 and the button receives an Exit event, transition back to s1</para>
            <para> QEventTransition *leaveTransition = new QEventTransition(button, QEvent::Leave);</para>
            <para> leaveTransition-&amp;gt;setTargetState(s1);</para>
            <para> s2-&amp;gt;addTransition(leaveTransition);</para>
            <para></para>
            <para>Subclassing</para>
            <para>When reimplementing the eventTest() function, you should first call the base implementation to verify that the event is a QStateMachine::WrappedEvent for the proper object and event type. You may then cast the event to a QStateMachine::WrappedEvent and get the original event by calling QStateMachine::WrappedEvent::event(), and perform additional checks on that object.</para>
            <para></para>
            <para>See also QState::addTransition().</para>
            </remarks>
        </member>
        <member name="M:QtCore.QEventTransition.#ctor(QtCore.QState)">
            <summary>
            <para>Constructs a new QEventTransition object with the given sourceState.</para>
            </summary>
        </member>
        <member name="M:QtCore.QEventTransition.#ctor(QtCore.QObject,QtCore.QEvent.Type,QtCore.QState)">
            <summary>
            <para>Constructs a new QEventTransition object associated with events of the given type for the given object, and with the given sourceState.</para>
            </summary>
        </member>
        <member name="M:QtCore.QEventTransition.OnEvent(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QObject::event().</para>
            </summary>
        </member>
        <member name="M:QtCore.QEventTransition.EventTest(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QAbstractTransition::eventTest().</para>
            </summary>
        </member>
        <member name="M:QtCore.QEventTransition.OnTransition(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QAbstractTransition::onTransition().</para>
            </summary>
        </member>
        <member name="M:QtCore.QEventTransition.Finalize">
            <summary>
            <para>Destroys this QObject event transition.</para>
            </summary>
        </member>
        <member name="P:QtCore.QEventTransition.EventType">
            <summary>
            <para>This property holds the type of event that this event transition is associated with.</para>
            </summary>
        </member>
        <member name="T:QtCore.QFSFileEngine">
            <summary>
            The QFSFileEngine class implements Qt's default file engine.
            </summary>
            <remarks>
            <para></para>
            <para>This class is part of the file engine framework in Qt. If you only want to access files or directories, use QFile, QFileInfo or QDir instead.</para>
            <para>QFSFileEngine is the default file engine for accessing regular files. It is provided for convenience; by subclassing this class, you can alter its behavior slightly, without having to write a complete QAbstractFileEngine subclass. To install your custom file engine, you must also subclass QAbstractFileEngineHandler and create an instance of your handler.</para>
            <para>It can also be useful to create a QFSFileEngine object directly if you need to use the local file system inside QAbstractFileEngine::create(), in order to avoid recursion (as higher-level classes tend to call QAbstractFileEngine::create()).</para>
            </remarks>
        </member>
        <member name="M:QtCore.QFSFileEngine.#ctor">
            <summary>
            <para>Constructs a QFSFileEngine.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.#ctor(System.String)">
            <summary>
            <para>Constructs a QFSFileEngine for the file name file.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.CaseSensitive">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::caseSensitive().</para>
            <para>Returns true for Windows, false for Unix.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.Close">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::close().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.Copy(System.String)">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::copy().</para>
            <para>For windows, copy the file to file copyName.</para>
            <para>Not implemented for Unix.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.CurrentPath(System.String)">
            <summary>
            <para>For Unix, returns the current working directory for the file engine.</para>
            <para>For Windows, returns the canonicalized form of the current path used by the file engine for the drive specified by fileName. On Windows, each drive has its own current directory, so a different path is returned for file names that include different drive names (e.g. A: or C:).</para>
            <para>See also setCurrentPath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.Drives">
            <summary>
            <para>For Windows, returns the list of drives in the file system as a list of QFileInfo objects. On unix, Mac OS X and Windows CE, only the root path is returned. On Windows, this function returns all drives (A:, C:, D:, etc.).</para>
            <para>For Unix, the list contains just the root path &quot;/&quot;.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.extension(QtCore.QAbstractFileEngine.Extension)">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::extension().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.extension(QtCore.QAbstractFileEngine.Extension,QtCore.QAbstractFileEngine.ExtensionOption)">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::extension().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.extension(QtCore.QAbstractFileEngine.Extension,QtCore.QAbstractFileEngine.ExtensionOption,QtCore.QAbstractFileEngine.ExtensionReturn)">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::extension().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.FileFlags(QtCore.QAbstractFileEngine.FileFlag)">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::fileFlags().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.fileName(QtCore.QAbstractFileEngine.FileName)">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::fileName().</para>
            <para>See also setFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.fileTime(QtCore.QAbstractFileEngine.FileTime)">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::fileTime().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.Flush">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::flush().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.Handle">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::handle().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.HomePath">
            <summary>
            <para>Returns the home path of the current user.</para>
            <para>See also rootPath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.IsRelativePath">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::isRelativePath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.IsSequential">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::isSequential().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.Link(System.String)">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::link().</para>
            <para>Creates a link from the file currently specified by fileName() to newName. What a link is depends on the underlying filesystem (be it a shortcut on Windows or a symbolic link on Unix). Returns true if successful; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.Mkdir(System.String,System.Boolean)">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::mkdir().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.Open(QtCore.QIODevice.OpenModeFlag)">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::open().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.Open(QtCore.QIODevice.OpenModeFlag,System.Int32)">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::open().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.Open(QtCore.QIODevice.OpenModeFlag,System.Int32,QtCore.QFile.FileHandleFlag)">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::open().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.Owner(QtCore.QAbstractFileEngine.FileOwner)">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::owner().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.OwnerId(QtCore.QAbstractFileEngine.FileOwner)">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::ownerId().</para>
            <para>In Unix, if stat() is successful, the uid is returned if own is the owner. Otherwise the gid is returned. If stat() is unsuccessful, -2 is reuturned.</para>
            <para>For Windows, -2 is always returned.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.Pos">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::pos().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.Read(QtCore.Pointer{System.SByte},System.Int64)">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::read().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.ReadLine(QtCore.Pointer{System.SByte},System.Int64)">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::readLine().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.Remove">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::remove().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.Rename(System.String)">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::rename().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.Rmdir(System.String,System.Boolean)">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::rmdir().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.RootPath">
            <summary>
            <para>Returns the root path.</para>
            <para>See also homePath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.Seek(System.Int64)">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::seek().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.SetCurrentPath(System.String)">
            <summary>
            <para>Sets the current path (e.g., for QDir), to path. Returns true if the new path exists; otherwise this function does nothing, and returns false.</para>
            <para>See also currentPath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.SetFileName(System.String)">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::setFileName().</para>
            <para>See also fileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.SetPermissions(System.UInt32)">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::setPermissions().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.SetSize(System.Int64)">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::setSize().</para>
            <para>See also size().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.Size">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::size().</para>
            <para>See also setSize().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.SupportsExtension(QtCore.QAbstractFileEngine.Extension)">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::supportsExtension().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.TempPath">
            <summary>
            <para>Returns the temporary path (i.e., a path in which it is safe to store temporary files).</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.Write(System.String,System.Int64)">
            <summary>
            <para>Reimplemented from QAbstractFileEngine::write().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFSFileEngine.Finalize">
            <summary>
            <para>Destructs the QFSFileEngine.</para>
            </summary>
        </member>
        <member name="T:QtCore.QFile">
            <summary>
            The QFile class provides an interface for reading from and writing to files.
            </summary>
            <remarks>
            <para></para>
            <para>QFile is an I/O device for reading and writing text and binary files and resources. A QFile may be used by itself or, more conveniently, with a QTextStream or QDataStream.</para>
            <para>The file name is usually passed in the constructor, but it can be set at any time using setFileName(). QFile expects the file separator to be '/' regardless of operating system. The use of other separators (e.g., '\') is not supported.</para>
            <para>You can check for a file's existence using exists(), and remove a file using remove(). (More advanced file system related operations are provided by QFileInfo and QDir.)</para>
            <para>The file is opened with open(), closed with close(), and flushed with flush(). Data is usually read and written using QDataStream or QTextStream, but you can also call the QIODevice-inherited functions read(), readLine(), readAll(), write(). QFile also inherits getChar(), putChar(), and ungetChar(), which work one character at a time.</para>
            <para>The size of the file is returned by size(). You can get the current file position using pos(), or move to a new file position using seek(). If you've reached the end of the file, atEnd() returns true.</para>
            <para></para>
            <para>Reading Files Directly</para>
            <para>The following example reads a text file line by line:</para>
            <para>     QFile file(&amp;quot;in.txt&amp;quot;);</para>
            <para>     if (!file.open(QIODevice::ReadOnly | QIODevice::Text))</para>
            <para>         return;</para>
            <para></para>
            <para>     while (!file.atEnd()) {</para>
            <para>         QByteArray line = file.readLine();</para>
            <para>         process_line(line);</para>
            <para>     }</para>
            <para>The QIODevice::Text flag passed to open() tells Qt to convert Windows-style line terminators (&amp;quot;\r\n&amp;quot;) into C++-style terminators (&amp;quot;\n&amp;quot;). By default, QFile assumes binary, i.e. it doesn't perform any conversion on the bytes stored in the file.</para>
            <para></para>
            <para>Using Streams to Read Files</para>
            <para>The next example uses QTextStream to read a text file line by line:</para>
            <para>     QFile file(&amp;quot;in.txt&amp;quot;);</para>
            <para>     if (!file.open(QIODevice::ReadOnly | QIODevice::Text))</para>
            <para>         return;</para>
            <para></para>
            <para>     QTextStream in(&amp;amp;file);</para>
            <para>     while (!in.atEnd()) {</para>
            <para>         QString line = in.readLine();</para>
            <para>         process_line(line);</para>
            <para>     }</para>
            <para>QTextStream takes care of converting the 8-bit data stored on disk into a 16-bit Unicode QString. By default, it assumes that the user system's local 8-bit encoding is used (e.g., ISO 8859-1 for most of Europe; see QTextCodec::codecForLocale() for details). This can be changed using setCodec().</para>
            <para>To write text, we can use operator&amp;lt;&amp;lt;(), which is overloaded to take a QTextStream on the left and various data types (including QString) on the right:</para>
            <para>     QFile file(&amp;quot;out.txt&amp;quot;);</para>
            <para>     if (!file.open(QIODevice::WriteOnly | QIODevice::Text))</para>
            <para>         return;</para>
            <para></para>
            <para>     QTextStream out(&amp;amp;file);</para>
            <para>     out &amp;lt;&amp;lt; &amp;quot;The magic number is: &amp;quot; &amp;lt;&amp;lt; 49 &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;</para>
            <para>QDataStream is similar, in that you can use operator&amp;lt;&amp;lt;() to write data and operator&amp;gt;&amp;gt;() to read it back. See the class documentation for details.</para>
            <para>When you use QFile, QFileInfo, and QDir to access the file system with Qt, you can use Unicode file names. On Unix, these file names are converted to an 8-bit encoding. If you want to use standard C++ APIs (&amp;lt;cstdio&amp;gt; or &amp;lt;iostream&amp;gt;) or platform-specific APIs to access files instead of QFile, you can use the encodeName() and decodeName() functions to convert between Unicode file names and 8-bit file names.</para>
            <para>On Unix, there are some special system files (e.g. in /proc) for which size() will always return 0, yet you may still be able to read more data from such a file; the data is generated in direct response to you calling read(). In this case, however, you cannot use atEnd() to determine if there is more data to read (since atEnd() will return true for a file that claims to have size 0). Instead, you should either call readAll(), or call read() or readLine() repeatedly until no more data can be read. The next example uses QTextStream to read /proc/modules line by line:</para>
            <para>     QFile file(&amp;quot;/proc/modules&amp;quot;);</para>
            <para>     if (!file.open(QIODevice::ReadOnly | QIODevice::Text))</para>
            <para>         return;</para>
            <para></para>
            <para>     QTextStream in(&amp;amp;file);</para>
            <para>     QString line = in.readLine();</para>
            <para>     while (!line.isNull()) {</para>
            <para>         process_line(line);</para>
            <para>         line = in.readLine();</para>
            <para>     }</para>
            <para></para>
            <para>Signals</para>
            <para>Unlike other QIODevice implementations, such as QTcpSocket, QFile does not emit the aboutToClose(), bytesWritten(), or readyRead() signals. This implementation detail means that QFile is not suitable for reading and writing certain types of files, such as device files on Unix platforms.</para>
            <para></para>
            <para>Platform Specific Issues</para>
            <para>File permissions are handled differently on Linux/Mac OS X and Windows. In a non writable directory on Linux, files cannot be created. This is not always the case on Windows, where, for instance, the 'My Documents' directory usually is not writable, but it is still possible to create files in it.</para>
            <para></para>
            <para>See also QTextStream, QDataStream, QFileInfo, QDir, and The Qt Resource System.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QFile.#ctor">
            <summary>
            <para>Constructs a new file object to represent the file with the given name.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs a new file object with the given parent.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.#ctor(System.String)">
            <summary>
            <para>Constructs a new file object to represent the file with the given name.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.#ctor(System.String,QtCore.QObject)">
            <summary>
            <para>Constructs a new file object with the given parent to represent the file with the specified name.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.AtEnd">
            <summary>
            <para>Reimplemented from QIODevice::atEnd().</para>
            <para>Returns true if the end of the file has been reached; otherwise returns false.</para>
            <para>For regular empty files on Unix (e.g. those in /proc), this function returns true, since the file system reports that the size of such a file is 0. Therefore, you should not depend on atEnd() when reading data from such a file, but rather call read() until no more data can be read.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Close">
            <summary>
            <para>Reimplemented from QIODevice::close().</para>
            <para>Calls QFile::flush() and closes the file. Errors from flush are ignored.</para>
            <para>See also QIODevice::close().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Copy(System.String)">
            <summary>
            <para>Copies the file currently specified by fileName() to a file called newName. Returns true if successful; otherwise returns false.</para>
            <para>Note that if a file with the name newName already exists, copy() returns false (i.e. QFile will not overwrite it).</para>
            <para>The source file is closed before it is copied.</para>
            <para>See also setFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Copy(System.String,System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Copies the file fileName to newName. Returns true if successful; otherwise returns false.</para>
            <para>If a file with the name newName already exists, copy() returns false (i.e., QFile will not overwrite it).</para>
            <para>See also rename().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.DecodeName(QtCore.QByteArray)">
            <summary>
            <para>This does the reverse of QFile::encodeName() using localFileName.</para>
            <para>See also setDecodingFunction() and encodeName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.DecodeName(System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns the Unicode version of the given localFileName. See encodeName() for details.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.EncodeName(System.String)">
            <summary>
            <para>By default, this function converts fileName to the local 8-bit encoding determined by the user's locale. This is sufficient for file names that the user chooses. File names hard-coded into the application should only use 7-bit ASCII filename characters.</para>
            <para>See also decodeName() and setEncodingFunction().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Error">
            <summary>
            <para>Returns the file error status.</para>
            <para>The I/O device status returns an error code. For example, if open() returns false, or a read/write operation returns -1, this function can be called to find out the reason why the operation failed.</para>
            <para>See also unsetError().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Exists">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns true if the file specified by fileName() exists; otherwise returns false.</para>
            <para>See also fileName() and setFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Exists(System.String)">
            <summary>
            <para>Returns true if the file specified by fileName exists; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Flush">
            <summary>
            <para>Flushes any buffered data to the file. Returns true if successful; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Handle">
            <summary>
            <para>Returns the file handle of the file.</para>
            <para>This is a small positive integer, suitable for use with C library functions such as fdopen() and fcntl(). On systems that use file descriptors for sockets (i.e. Unix systems, but not Windows) the handle can be used with QSocketNotifier as well.</para>
            <para>If the file is not open, or there is an error, handle() returns -1.</para>
            <para>This function is not supported on Windows CE.</para>
            <para>On Symbian, this function returns -1 if the file was opened normally, as Symbian OS native file handles do not fit in an int, and are incompatible with C library functions that the handle would be used for. If the file was opened using the overloads that take an open C library file handle / file descriptor, then this function returns that same handle.</para>
            <para>See also QSocketNotifier.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.IsSequential">
            <summary>
            <para>Reimplemented from QIODevice::isSequential().</para>
            <para>Returns true if the file can only be manipulated sequentially; otherwise returns false.</para>
            <para>Most files support random-access, but some special files may not.</para>
            <para>See also QIODevice::isSequential().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Link(System.String)">
            <summary>
            <para>Creates a link named linkName that points to the file currently specified by fileName(). What a link is depends on the underlying filesystem (be it a shortcut on Windows or a symbolic link on Unix). Returns true if successful; otherwise returns false.</para>
            <para>This function will not overwrite an already existing entity in the file system; in this case, link() will return false and set error() to return RenameError.</para>
            <para>Note: To create a valid link on Windows, linkName must have a .lnk file extension.</para>
            <para>Note: Symbian filesystem does not support links.</para>
            <para>See also setFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Link(System.String,System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Creates a link named linkName that points to the file fileName. What a link is depends on the underlying filesystem (be it a shortcut on Windows or a symbolic link on Unix). Returns true if successful; otherwise returns false.</para>
            <para>See also link().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Map(System.Int64,System.Int64,QtCore.QFile.MemoryMapFlags)">
            <summary>
            <para>Maps size bytes of the file into memory starting at offset. A file should be open for a map to succeed but the file does not need to stay open after the memory has been mapped. When the QFile is destroyed or a new file is opened with this object, any maps that have not been unmapped will automatically be unmapped.</para>
            <para>Any mapping options can be passed through flags.</para>
            <para>Returns a pointer to the memory or 0 if there is an error.</para>
            <para>Note: On Windows CE 5.0 the file will be closed before mapping occurs.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also unmap() and QAbstractFileEngine::supportsExtension().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Open(QtCore.QIODevice.OpenModeFlag)">
            <summary>
            <para>Reimplemented from QIODevice::open().</para>
            <para>Opens the file using OpenMode mode, returning true if successful; otherwise false.</para>
            <para>The mode must be QIODevice::ReadOnly, QIODevice::WriteOnly, or QIODevice::ReadWrite. It may also have additional flags, such as QIODevice::Text and QIODevice::Unbuffered.</para>
            <para>Note: In WriteOnly or ReadWrite mode, if the relevant file does not already exist, this function will try to create a new file before opening it.</para>
            <para>See also QIODevice::OpenMode and setFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Open(System.Int32,QtCore.QIODevice.OpenModeFlag)">
            <summary>
            <para>Reimplemented from QIODevice::open().</para>
            <para>Opens the file using OpenMode mode, returning true if successful; otherwise false.</para>
            <para>The mode must be QIODevice::ReadOnly, QIODevice::WriteOnly, or QIODevice::ReadWrite. It may also have additional flags, such as QIODevice::Text and QIODevice::Unbuffered.</para>
            <para>Note: In WriteOnly or ReadWrite mode, if the relevant file does not already exist, this function will try to create a new file before opening it.</para>
            <para>See also QIODevice::OpenMode and setFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Open(System.Int32,QtCore.QIODevice.OpenModeFlag,QtCore.QFile.FileHandleFlag)">
            <summary>
            <para>Reimplemented from QIODevice::open().</para>
            <para>Opens the file using OpenMode mode, returning true if successful; otherwise false.</para>
            <para>The mode must be QIODevice::ReadOnly, QIODevice::WriteOnly, or QIODevice::ReadWrite. It may also have additional flags, such as QIODevice::Text and QIODevice::Unbuffered.</para>
            <para>Note: In WriteOnly or ReadWrite mode, if the relevant file does not already exist, this function will try to create a new file before opening it.</para>
            <para>See also QIODevice::OpenMode and setFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Permissions">
            <summary>
            <para>Returns the complete OR-ed together combination of QFile::Permission for the file.</para>
            <para>See also setPermissions() and setFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Permissions(System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns the complete OR-ed together combination of QFile::Permission for fileName.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Pos">
            <summary>
            <para>Reimplemented from QIODevice::pos().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.ReadData(QtCore.Pointer{System.SByte},System.Int64)">
            <summary>
            <para>Reimplemented from QIODevice::readData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.ReadLineData(QtCore.Pointer{System.SByte},System.Int64)">
            <summary>
            <para>Reimplemented from QIODevice::readLineData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.ReadLink">
            <summary>
            <para>Use symLinkTarget() instead.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.ReadLink(System.String)">
            <summary>
            <para>Use symLinkTarget() instead.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Remove">
            <summary>
            <para>Removes the file specified by fileName(). Returns true if successful; otherwise returns false.</para>
            <para>The file is closed before it is removed.</para>
            <para>See also setFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Remove(System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Removes the file specified by the fileName given.</para>
            <para>Returns true if successful; otherwise returns false.</para>
            <para>See also remove().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Rename(System.String)">
            <summary>
            <para>Renames the file currently specified by fileName() to newName. Returns true if successful; otherwise returns false.</para>
            <para>If a file with the name newName already exists, rename() returns false (i.e., QFile will not overwrite it).</para>
            <para>The file is closed before it is renamed.</para>
            <para>See also setFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Rename(System.String,System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Renames the file oldName to newName. Returns true if successful; otherwise returns false.</para>
            <para>If a file with the name newName already exists, rename() returns false (i.e., QFile will not overwrite it).</para>
            <para>See also rename().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Resize(System.Int64)">
            <summary>
            <para>Sets the file size (in bytes) sz. Returns true if the file if the resize succeeds; false otherwise. If sz is larger than the file currently is the new bytes will be set to 0, if sz is smaller the file is simply truncated.</para>
            <para>See also size() and setFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Resize(System.String,System.Int64)">
            <summary>
            <para>Sets the file size (in bytes) sz. Returns true if the file if the resize succeeds; false otherwise. If sz is larger than the file currently is the new bytes will be set to 0, if sz is smaller the file is simply truncated.</para>
            <para>See also size() and setFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Seek(System.Int64)">
            <summary>
            <para>Reimplemented from QIODevice::seek().</para>
            <para>For random-access devices, this function sets the current position to pos, returning true on success, or false if an error occurred. For sequential devices, the default behavior is to do nothing and return false.</para>
            <para>Seeking beyond the end of a file: If the position is beyond the end of a file, then seek() shall not immediately extend the file. If a write is performed at this position, then the file shall be extended. The content of the file between the previous end of file and the newly written data is UNDEFINED and varies between platforms and file systems.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.SetDecodingFunction(QtCore.Qt.FuncStringQByteArray)">
            <summary>
            <para>Sets the function for decoding 8-bit file names. The default uses the locale-specific 8-bit encoding.</para>
            <para>Warning: This function is not reentrant.</para>
            <para>See also setEncodingFunction() and decodeName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.SetEncodingFunction(QtCore.Qt.FuncQByteArrayString)">
            <summary>
            <para>Sets the function for encoding Unicode file names. The default encodes in the locale-specific 8-bit encoding.</para>
            <para>Warning: This function is not reentrant.</para>
            <para>See also encodeName() and setDecodingFunction().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.SetPermissions(QtCore.QFile.Permission)">
            <summary>
            <para>Sets the permissions for the file to the permissions specified. Returns true if successful, or false if the permissions cannot be modified.</para>
            <para>See also permissions() and setFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.SetPermissions(System.String,QtCore.QFile.Permission)">
            <summary>
            <para>Sets the permissions for the file to the permissions specified. Returns true if successful, or false if the permissions cannot be modified.</para>
            <para>See also permissions() and setFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Size">
            <summary>
            <para>Reimplemented from QIODevice::size().</para>
            <para>Returns the size of the file.</para>
            <para>For regular empty files on Unix (e.g. those in /proc), this function returns 0; the contents of such a file are generated on demand in response to you calling read().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.SymLinkTarget">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns the absolute path of the file or directory a symlink (or shortcut on Windows) points to, or a an empty string if the object isn't a symbolic link.</para>
            <para>This name may not represent an existing file; it is only a string. QFile::exists() returns true if the symlink points to an existing file.</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also fileName() and setFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.SymLinkTarget(System.String)">
            <summary>
            <para>Returns the absolute path of the file or directory referred to by the symlink (or shortcut on Windows) specified by fileName, or returns an empty string if the fileName does not correspond to a symbolic link.</para>
            <para>This name may not represent an existing file; it is only a string. QFile::exists() returns true if the symlink points to an existing file.</para>
            <para>This function was introduced in Qt 4.2.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Unmap(QtCore.Pointer{System.Byte})">
            <summary>
            <para>Unmaps the memory address.</para>
            <para>Returns true if the unmap succeeds; false otherwise.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also map() and QAbstractFileEngine::supportsExtension().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.UnsetError">
            <summary>
            <para>Sets the file's error to QFile::NoError.</para>
            <para>See also error().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.WriteData(System.String,System.Int64)">
            <summary>
            <para>Reimplemented from QIODevice::writeData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFile.Finalize">
            <summary>
            <para>Destroys the file object, closing it if necessary.</para>
            </summary>
        </member>
        <member name="P:QtCore.QFile.FileName">
            <summary>
            <para>Returns the name set by setFileName() or to the QFile constructors.</para>
            <para>Sets the name of the file. The name can have no path, a relative path, or an absolute path.</para>
            <para>Do not call this function if the file has already been opened.</para>
            <para>If the file name has no path or a relative path, the path used will be the application's current directory path at the time of the open() call.</para>
            <para>Example:</para>
            <para> QFile file;</para>
            <para> QDir::setCurrent(&quot;/tmp&quot;);</para>
            <para> file.setFileName(&quot;readme.txt&quot;);</para>
            <para> QDir::setCurrent(&quot;/home&quot;);</para>
            <para> file.open(QIODevice::ReadOnly);      // opens &quot;/home/readme.txt&quot; under Unix</para>
            <para>Note that the directory separator &quot;/&quot; works for all operating systems supported by Qt.</para>
            </summary>
        </member>
        <member name="T:QtCore.QFile.FileError">
            <summary>
            <para>This enum describes the errors that may be returned by the error() function.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.FileError.AbortError">
            <summary>
            <para>The operation was aborted.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.FileError.CopyError">
            <summary>
            <para>The file could not be copied.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.FileError.FatalError">
            <summary>
            <para>A fatal error occurred.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.FileError.NoError">
            <summary>
            <para>No error occurred.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.FileError.OpenError">
            <summary>
            <para>The file could not be opened.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.FileError.PermissionsError">
            <summary>
            <para>The file could not be accessed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.FileError.PositionError">
            <summary>
            <para>The position in the file could not be changed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.FileError.ReadError">
            <summary>
            <para>An error occurred when reading from the file.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.FileError.RemoveError">
            <summary>
            <para>The file could not be removed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.FileError.RenameError">
            <summary>
            <para>The file could not be renamed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.FileError.ResizeError">
            <summary>
            <para>The file could not be resized.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.FileError.TimeOutError">
            <summary>
            <para>A timeout occurred.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.FileError.UnspecifiedError">
            <summary>
            <para>An unspecified error occurred.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.FileError.WriteError">
            <summary>
            <para>An error occurred when writing to the file.</para>
            </summary>
        </member>
        <member name="T:QtCore.QFile.FileHandleFlag">
            <summary>
            <para>This enum is used when opening a file to specify additional options which only apply to files and not to a generic QIODevice.</para>
            <para>This enum was introduced or modified in Qt 4.8.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.FileHandleFlag.AutoCloseHandle">
            <summary>
            <para>The file handle passed into open() should be closed by close(), the default behaviour is that close just flushes the file and the application is responsible for closing the file handle. When opening a file by name, this flag is ignored as Qt always &quot;owns&quot; the file handle and must close it.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.FileHandleFlag.DontCloseHandle">
            <summary>
            <para>The file handle passed into open() will not be closed by Qt. The application must ensure that close() is called.</para>
            </summary>
        </member>
        <member name="T:QtCore.QFile.MemoryMapFlags">
            <summary>
            <para>This enum describes special options that may be used by the map() function.</para>
            <para>This enum was introduced or modified in Qt 4.4.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.MemoryMapFlags.NoOptions">
            <summary>
            <para>No options.</para>
            </summary>
        </member>
        <member name="T:QtCore.QFile.Permission">
            <summary>
            <para>This enum is used by the permission() function to report the permissions and ownership of a file. The values may be OR-ed together to test multiple permissions and ownership values.</para>
            <para>Warning: Because of differences in the platforms supported by Qt, the semantics of ReadUser, WriteUser and ExeUser are platform-dependent: On Unix, the rights of the owner of the file are returned and on Windows the rights of the current user are returned. This behavior might change in a future Qt version.</para>
            <para>Note that Qt does not by default check for permissions on NTFS file systems, as this may decrease the performance of file handling considerably. It is possible to force permission checking on NTFS by including the following code in your source:</para>
            <para> extern Q_CORE_EXPORT int qt_ntfs_permission_lookup;</para>
            <para>Permission checking is then turned on and off by incrementing and decrementing qt_ntfs_permission_lookup by 1.</para>
            <para> qt_ntfs_permission_lookup++; // turn checking on</para>
            <para> qt_ntfs_permission_lookup--; // turn it off again</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.Permission.ExeGroup">
            <summary>
            <para>The file is executable by the group.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.Permission.ExeOther">
            <summary>
            <para>The file is executable by anyone.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.Permission.ExeOwner">
            <summary>
            <para>The file is executable by the owner of the file.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.Permission.ExeUser">
            <summary>
            <para>The file is executable by the user.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.Permission.ReadGroup">
            <summary>
            <para>The file is readable by the group.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.Permission.ReadOther">
            <summary>
            <para>The file is readable by anyone.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.Permission.ReadOwner">
            <summary>
            <para>The file is readable by the owner of the file.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.Permission.ReadUser">
            <summary>
            <para>The file is readable by the user.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.Permission.WriteGroup">
            <summary>
            <para>The file is writable by the group.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.Permission.WriteOther">
            <summary>
            <para>The file is writable by anyone.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.Permission.WriteOwner">
            <summary>
            <para>The file is writable by the owner of the file.</para>
            </summary>
        </member>
        <member name="F:QtCore.QFile.Permission.WriteUser">
            <summary>
            <para>The file is writable by the user.</para>
            </summary>
        </member>
        <member name="T:QtCore.QFileInfo">
            <summary>
            The QFileInfo class provides system-independent file information.
            </summary>
            <remarks>
            <para></para>
            <para>QFileInfo provides information about a file's name and position (path) in the file system, its access rights and whether it is a directory or symbolic link, etc. The file's size and last modified/read times are also available. QFileInfo can also be used to obtain information about a Qt resource.</para>
            <para>A QFileInfo can point to a file with either a relative or an absolute file path. Absolute file paths begin with the directory separator &amp;quot;/&amp;quot; (or with a drive specification on Windows). Relative file names begin with a directory name or a file name and specify a path relative to the current working directory. An example of an absolute path is the string &amp;quot;/tmp/quartz&amp;quot;. A relative path might look like &amp;quot;src/fatlib&amp;quot;. You can use the function isRelative() to check whether a QFileInfo is using a relative or an absolute file path. You can call the function makeAbsolute() to convert a relative QFileInfo's path to an absolute path.</para>
            <para>The file that the QFileInfo works on is set in the constructor or later with setFile(). Use exists() to see if the file exists and size() to get its size.</para>
            <para>The file's type is obtained with isFile(), isDir() and isSymLink(). The symLinkTarget() function provides the name of the file the symlink points to.</para>
            <para>On Unix (including Mac OS X), the symlink has the same size() has the file it points to, because Unix handles symlinks transparently; similarly, opening a symlink using QFile effectively opens the link's target. For example:</para>
            <para> #ifdef Q_OS_UNIX</para>
            <para></para>
            <para> QFileInfo info1(&amp;quot;/home/bob/bin/untabify&amp;quot;);</para>
            <para> info1.isSymLink();          // returns true</para>
            <para> info1.absoluteFilePath();   // returns &amp;quot;/home/bob/bin/untabify&amp;quot;</para>
            <para> info1.size();               // returns 56201</para>
            <para> info1.symLinkTarget();      // returns &amp;quot;/opt/pretty++/bin/untabify&amp;quot;</para>
            <para></para>
            <para> QFileInfo info2(info1.symLinkTarget());</para>
            <para> info2.isSymLink();          // returns false</para>
            <para> info2.absoluteFilePath();   // returns &amp;quot;/opt/pretty++/bin/untabify&amp;quot;</para>
            <para> info2.size();               // returns 56201</para>
            <para></para>
            <para> #endif</para>
            <para>On Windows, symlinks (shortcuts) are .lnk files. The reported size() is that of the symlink (not the link's target), and opening a symlink using QFile opens the .lnk file. For example:</para>
            <para> #ifdef Q_OS_WIN</para>
            <para></para>
            <para> QFileInfo info1(&amp;quot;C:\\Documents and Settings\\Bob\\untabify.lnk&amp;quot;);</para>
            <para> info1.isSymLink();          // returns true</para>
            <para> info1.absoluteFilePath();   // returns &amp;quot;C:/Documents and Settings/Bob/untabify.lnk&amp;quot;</para>
            <para> info1.size();               // returns 743</para>
            <para> info1.symLinkTarget();      // returns &amp;quot;C:/Pretty++/untabify&amp;quot;</para>
            <para></para>
            <para> QFileInfo info2(info1.symLinkTarget());</para>
            <para> info2.isSymLink();          // returns false</para>
            <para> info2.absoluteFilePath();   // returns &amp;quot;C:/Pretty++/untabify&amp;quot;</para>
            <para> info2.size();               // returns 63942</para>
            <para></para>
            <para> #endif</para>
            <para>Elements of the file's name can be extracted with path() and fileName(). The fileName()'s parts can be extracted with baseName(), suffix() or completeSuffix(). QFileInfo objects to directories created by Qt classes will not have a trailing file separator. If you wish to use trailing separators in your own file info objects, just append one to the file name given to the constructors or setFile().</para>
            <para>The file's dates are returned by created(), lastModified() and lastRead(). Information about the file's access permissions is obtained with isReadable(), isWritable() and isExecutable(). The file's ownership is available from owner(), ownerId(), group() and groupId(). You can examine a file's permissions and ownership in a single statement using the permission() function.</para>
            <para></para>
            <para>Performance Issues</para>
            <para>Some of QFileInfo's functions query the file system, but for performance reasons, some functions only operate on the file name itself. For example: To return the absolute path of a relative file name, absolutePath() has to query the file system. The path() function, however, can work on the file name directly, and so it is faster.</para>
            <para>Note: To speed up performance, QFileInfo caches information about the file.</para>
            <para>To speed up performance, QFileInfo caches information about the file. Because files can be changed by other users or programs, or even by other parts of the same program, there is a function that refreshes the file information: refresh(). If you want to switch off a QFileInfo's caching and force it to access the file system every time you request information from it call setCaching(false).</para>
            <para></para>
            <para>See also QDir and QFile.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QFileInfo.#ctor">
            <summary>
            <para>Constructs an empty QFileInfo object.</para>
            <para>Note that an empty QFileInfo object contain no file reference.</para>
            <para>See also setFile().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.#ctor(QtCore.QFile)">
            <summary>
            <para>Constructs a new QFileInfo that gives information about file file.</para>
            <para>If the file has a relative path, the QFileInfo will also have a relative path.</para>
            <para>See also isRelative().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.#ctor(QtCore.QFileInfo)">
            <summary>
            <para>Constructs a new QFileInfo that is a copy of the given fileinfo.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.#ctor(QtCore.QDir,System.String)">
            <summary>
            <para>Constructs a new QFileInfo that gives information about the given file in the directory dir.</para>
            <para>If dir has a relative path, the QFileInfo will also have a relative path.</para>
            <para>If file is an absolute path, then the directory specified by dir will be disregarded.</para>
            <para>See also isRelative().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.#ctor(System.String)">
            <summary>
            <para>Constructs a new QFileInfo that gives information about the given file. The file can also include an absolute or relative path.</para>
            <para>See also setFile(), isRelative(), QDir::setCurrent(), and QDir::isRelativePath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.AbsoluteDir">
            <summary>
            <para>Returns the file's absolute path as a QDir object.</para>
            <para>See also dir(), filePath(), fileName(), and isRelative().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.AbsoluteFilePath">
            <summary>
            <para>Returns an absolute path including the file name.</para>
            <para>The absolute path name consists of the full path and the file name. On Unix this will always begin with the root, '/', directory. On Windows this will always begin 'D:/' where D is a drive letter, except for network shares that are not mapped to a drive letter, in which case the path will begin '//sharename/'. QFileInfo will uppercase drive letters. Note that QDir does not do this. The code snippet below shows this.</para>
            <para>     QFileInfo fi(&quot;c:/temp/foo&quot;); =&gt; fi.absoluteFilePath() =&gt; &quot;C:/temp/foo&quot;</para>
            <para>This function returns the same as filePath(), unless isRelative() is true. In contrast to canonicalFilePath(), symbolic links or redundant &quot;.&quot; or &quot;..&quot; elements are not necessarily removed.</para>
            <para>If the QFileInfo is empty it returns QDir::currentPath().</para>
            <para>See also filePath(), canonicalFilePath(), and isRelative().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.AbsolutePath">
            <summary>
            <para>Returns a file's path absolute path. This doesn't include the file name.</para>
            <para>On Unix the absolute path will always begin with the root, '/', directory. On Windows this will always begin 'D:/' where D is a drive letter, except for network shares that are not mapped to a drive letter, in which case the path will begin '//sharename/'.</para>
            <para>In contrast to canonicalPath() symbolic links or redundant &quot;.&quot; or &quot;..&quot; elements are not necessarily removed.</para>
            <para>Warning: If the QFileInfo object was created with an empty QString, the behavior of this function is undefined.</para>
            <para>See also absoluteFilePath(), path(), canonicalPath(), fileName(), and isRelative().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.BaseName">
            <summary>
            <para>Returns the base name of the file without the path.</para>
            <para>The base name consists of all characters in the file up to (but not including) the first '.' character.</para>
            <para>Example:</para>
            <para> QFileInfo fi(&quot;/tmp/archive.tar.gz&quot;);</para>
            <para> QString base = fi.baseName();  // base = &quot;archive&quot;</para>
            <para>The base name of a file is computed equally on all platforms, independent of file naming conventions (e.g., &quot;.bashrc&quot; on Unix has an empty base name, and the suffix is &quot;bashrc&quot;).</para>
            <para>See also fileName(), suffix(), completeSuffix(), and completeBaseName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.BundleName">
            <summary>
            <para>Returns the name of the bundle.</para>
            <para>On Mac OS X this returns the proper localized name for a bundle if the path isBundle(). On all other platforms an empty QString is returned.</para>
            <para>Example:</para>
            <para> QFileInfo fi(&quot;/Applications/Safari.app&quot;);</para>
            <para> QString bundle = fi.bundleName();                // name = &quot;Safari&quot;</para>
            <para>This function was introduced in Qt 4.3.</para>
            <para>See also isBundle(), filePath(), baseName(), and extension().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.CanonicalFilePath">
            <summary>
            <para>Returns the canonical path including the file name, i.e. an absolute path without symbolic links or redundant &quot;.&quot; or &quot;..&quot; elements.</para>
            <para>If the file does not exist, canonicalFilePath() returns an empty string.</para>
            <para>See also filePath(), absoluteFilePath(), and dir().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.CanonicalPath">
            <summary>
            <para>Returns the file's path canonical path (excluding the file name), i.e. an absolute path without symbolic links or redundant &quot;.&quot; or &quot;..&quot; elements.</para>
            <para>If the file does not exist, canonicalPath() returns an empty string.</para>
            <para>See also path() and absolutePath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.CompleteBaseName">
            <summary>
            <para>Returns the complete base name of the file without the path.</para>
            <para>The complete base name consists of all characters in the file up to (but not including) the last '.' character.</para>
            <para>Example:</para>
            <para> QFileInfo fi(&quot;/tmp/archive.tar.gz&quot;);</para>
            <para> QString base = fi.completeBaseName();  // base = &quot;archive.tar&quot;</para>
            <para>See also fileName(), suffix(), completeSuffix(), and baseName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.CompleteSuffix">
            <summary>
            <para>Returns the complete suffix of the file.</para>
            <para>The complete suffix consists of all characters in the file after (but not including) the first '.'.</para>
            <para>Example:</para>
            <para> QFileInfo fi(&quot;/tmp/archive.tar.gz&quot;);</para>
            <para> QString ext = fi.completeSuffix();  // ext = &quot;tar.gz&quot;</para>
            <para>See also fileName(), suffix(), baseName(), and completeBaseName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.Created">
            <summary>
            <para>Returns the date and time when the file was created.</para>
            <para>On most Unix systems, this function returns the time of the last status change. A status change occurs when the file is created, but it also occurs whenever the user writes or sets inode information (for example, changing the file permissions).</para>
            <para>If neither creation time nor &quot;last status change&quot; time are not available, returns the same as lastModified().</para>
            <para>See also lastModified() and lastRead().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.Dir">
            <summary>
            <para>Returns the path of the object's parent directory as a QDir object.</para>
            <para>Note: The QDir returned always corresponds to the object's parent directory, even if the QFileInfo represents a directory.</para>
            <para>For each of the following, dir() returns a QDir for &quot;~/examples/191697&quot;.</para>
            <para>     QFileInfo fileInfo1(&quot;~/examples/191697/.&quot;);</para>
            <para>     QFileInfo fileInfo2(&quot;~/examples/191697/..&quot;);</para>
            <para>     QFileInfo fileInfo3(&quot;~/examples/191697/main.cpp&quot;);</para>
            <para>For each of the following, dir() returns a QDir for &quot;.&quot;.</para>
            <para>     QFileInfo fileInfo4(&quot;.&quot;);</para>
            <para>     QFileInfo fileInfo5(&quot;..&quot;);</para>
            <para>     QFileInfo fileInfo6(&quot;main.cpp&quot;);</para>
            <para>See also absolutePath(), filePath(), fileName(), isRelative(), and absoluteDir().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.Exists">
            <summary>
            <para>Returns true if the file exists; otherwise returns false.</para>
            <para>Note: If the file is a symlink that points to a non existing file, false is returned.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.FileName">
            <summary>
            <para>Returns the name of the file, excluding the path.</para>
            <para>Example:</para>
            <para> QFileInfo fi(&quot;/tmp/archive.tar.gz&quot;);</para>
            <para> QString name = fi.fileName();                // name = &quot;archive.tar.gz&quot;</para>
            <para>Note that, if this QFileInfo object is given a path ending in a slash, the name of the file is considered empty.</para>
            <para>See also isRelative(), filePath(), baseName(), and extension().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.FilePath">
            <summary>
            <para>Returns the file name, including the path (which may be absolute or relative).</para>
            <para>See also absoluteFilePath(), canonicalFilePath(), and isRelative().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.Group">
            <summary>
            <para>Returns the group of the file. On Windows, on systems where files do not have groups, or if an error occurs, an empty string is returned.</para>
            <para>This function can be time consuming under Unix (in the order of milliseconds).</para>
            <para>See also groupId(), owner(), and ownerId().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.GroupId">
            <summary>
            <para>Returns the id of the group the file belongs to.</para>
            <para>On Windows and on systems where files do not have groups this function always returns (uint) -2.</para>
            <para>See also group(), owner(), and ownerId().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.IsAbsolute">
            <summary>
            <para>Returns true if the file path name is absolute, otherwise returns false if the path is relative.</para>
            <para>See also isRelative().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.IsBundle">
            <summary>
            <para>Returns true if this object points to a bundle or to a symbolic link to a bundle on Mac OS X; otherwise returns false.</para>
            <para>This function was introduced in Qt 4.3.</para>
            <para>See also isDir(), isSymLink(), and isFile().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.IsDir">
            <summary>
            <para>Returns true if this object points to a directory or to a symbolic link to a directory; otherwise returns false.</para>
            <para>See also isFile(), isSymLink(), and isBundle().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.IsExecutable">
            <summary>
            <para>Returns true if the file is executable; otherwise returns false.</para>
            <para>See also isReadable(), isWritable(), and permission().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.IsFile">
            <summary>
            <para>Returns true if this object points to a file or to a symbolic link to a file. Returns false if the object points to something which isn't a file, such as a directory.</para>
            <para>See also isDir(), isSymLink(), and isBundle().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.IsHidden">
            <summary>
            <para>Returns true if this is a `hidden' file; otherwise returns false.</para>
            <para>Note: This function returns true for the special entries &quot;.&quot; and &quot;..&quot; on Unix, even though QDir::entryList threats them as shown.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.IsReadable">
            <summary>
            <para>Returns true if the user can read the file; otherwise returns false.</para>
            <para>See also isWritable(), isExecutable(), and permission().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.IsRelative">
            <summary>
            <para>Returns true if the file path name is relative, otherwise returns false if the path is absolute (e.g. under Unix a path is absolute if it begins with a &quot;/&quot;).</para>
            <para>See also isAbsolute().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.IsRoot">
            <summary>
            <para>Returns true if the object points to a directory or to a symbolic link to a directory, and that directory is the root directory; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.IsSymLink">
            <summary>
            <para>Returns true if this object points to a symbolic link (or to a shortcut on Windows); otherwise returns false.</para>
            <para>On Unix (including Mac OS X), opening a symlink effectively opens the link's target. On Windows, it opens the .lnk file itself.</para>
            <para>Example:</para>
            <para> QFileInfo info(fileName);</para>
            <para> if (info.isSymLink())</para>
            <para>     fileName = info.symLinkTarget();</para>
            <para>Note: If the symlink points to a non existing file, exists() returns false.</para>
            <para>See also isFile(), isDir(), and symLinkTarget().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.IsWritable">
            <summary>
            <para>Returns true if the user can write to the file; otherwise returns false.</para>
            <para>See also isReadable(), isExecutable(), and permission().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.LastModified">
            <summary>
            <para>Returns the date and time when the file was last modified.</para>
            <para>See also created() and lastRead().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.LastRead">
            <summary>
            <para>Returns the date and time when the file was last read (accessed).</para>
            <para>On platforms where this information is not available, returns the same as lastModified().</para>
            <para>See also created() and lastModified().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.MakeAbsolute">
            <summary>
            <para>Converts the file's path to an absolute path if it is not already in that form. Returns true to indicate that the path was converted; otherwise returns false to indicate that the path was already absolute.</para>
            <para>See also filePath() and isRelative().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.op_Inequality(QtCore.QFileInfo,QtCore.QFileInfo)">
            <summary>
            <para>Returns true if this QFileInfo object refers to a different file than the one specified by fileinfo; otherwise returns false.</para>
            <para>See also operator==().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.op_Equality(QtCore.QFileInfo,QtCore.QFileInfo)">
            <summary>
            <para>Returns true if this QFileInfo object refers to a file in the same location as fileinfo; otherwise returns false.</para>
            <para>Note that the result of comparing two empty QFileInfo objects, containing no file references, is undefined.</para>
            <para>Warning: This will not compare two different symbolic links pointing to the same file.</para>
            <para>Warning: Long and short file names that refer to the same file on Windows are treated as if they referred to different files.</para>
            <para>See also operator!=().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.Owner">
            <summary>
            <para>Returns the owner of the file. On systems where files do not have owners, or if an error occurs, an empty string is returned.</para>
            <para>This function can be time consuming under Unix (in the order of milliseconds).</para>
            <para>See also ownerId(), group(), and groupId().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.OwnerId">
            <summary>
            <para>Returns the id of the owner of the file.</para>
            <para>On Windows and on systems where files do not have owners this function returns ((uint) -2).</para>
            <para>See also owner(), group(), and groupId().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.Path">
            <summary>
            <para>Returns the file's path. This doesn't include the file name.</para>
            <para>Note that, if this QFileInfo object is given a path ending in a slash, the name of the file is considered empty and this function will return the entire path.</para>
            <para>See also filePath(), absolutePath(), canonicalPath(), dir(), fileName(), and isRelative().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.Permission(QtCore.QFile.Permission)">
            <summary>
            <para>Tests for file permissions. The permissions argument can be several flags of type QFile::Permissions OR-ed together to check for permission combinations.</para>
            <para>On systems where files do not have permissions this function always returns true.</para>
            <para>Example:</para>
            <para> QFileInfo fi(&quot;/tmp/archive.tar.gz&quot;);</para>
            <para> if (fi.permission(QFile::WriteUser | QFile::ReadGroup))</para>
            <para>     qWarning(&quot;I can change the file; my group can read the file&quot;);</para>
            <para> if (fi.permission(QFile::WriteGroup | QFile::WriteOther))</para>
            <para>     qWarning(&quot;The group or others can change the file&quot;);</para>
            <para>See also isReadable(), isWritable(), and isExecutable().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.Permissions">
            <summary>
            <para>Returns the complete OR-ed together combination of QFile::Permissions for the file.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.ReadLink">
            <summary>
            <para>Use symLinkTarget() instead.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.Refresh">
            <summary>
            <para>Refreshes the information about the file, i.e. reads in information from the file system the next time a cached property is fetched.</para>
            <para>Note: On Windows CE, there might be a delay for the file system driver to detect changes on the file.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.SetFile(QtCore.QFile)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Sets the file that the QFileInfo provides information about to file.</para>
            <para>If file includes a relative path, the QFileInfo will also have a relative path.</para>
            <para>See also isRelative().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.SetFile(QtCore.QDir,System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Sets the file that the QFileInfo provides information about to file in directory dir.</para>
            <para>If file includes a relative path, the QFileInfo will also have a relative path.</para>
            <para>See also isRelative().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.SetFile(System.String)">
            <summary>
            <para>Sets the file that the QFileInfo provides information about to file.</para>
            <para>The file can also include an absolute or relative file path. Absolute paths begin with the directory separator (e.g. &quot;/&quot; under Unix) or a drive specification (under Windows). Relative file names begin with a directory name or a file name and specify a path relative to the current directory.</para>
            <para>Example:</para>
            <para> QString absolute = &quot;/local/bin&quot;;</para>
            <para> QString relative = &quot;local/bin&quot;;</para>
            <para> QFileInfo absFile(absolute);</para>
            <para> QFileInfo relFile(relative);</para>
            <para></para>
            <para> QDir::setCurrent(QDir::rootPath());</para>
            <para> // absFile and relFile now point to the same file</para>
            <para></para>
            <para> QDir::setCurrent(&quot;/tmp&quot;);</para>
            <para> // absFile now points to &quot;/local/bin&quot;,</para>
            <para> // while relFile points to &quot;/tmp/local/bin&quot;</para>
            <para>See also isFile(), isRelative(), QDir::setCurrent(), and QDir::isRelativePath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.Size">
            <summary>
            <para>Returns the file size in bytes. If the file does not exist or cannot be fetched, 0 is returned.</para>
            <para>See also exists().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.Suffix">
            <summary>
            <para>Returns the suffix of the file.</para>
            <para>The suffix consists of all characters in the file after (but not including) the last '.'.</para>
            <para>Example:</para>
            <para> QFileInfo fi(&quot;/tmp/archive.tar.gz&quot;);</para>
            <para> QString ext = fi.suffix();  // ext = &quot;gz&quot;</para>
            <para>The suffix of a file is computed equally on all platforms, independent of file naming conventions (e.g., &quot;.bashrc&quot; on Unix has an empty base name, and the suffix is &quot;bashrc&quot;).</para>
            <para>See also fileName(), completeSuffix(), baseName(), and completeBaseName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.SymLinkTarget">
            <summary>
            <para>Returns the absolute path to the file or directory a symlink (or shortcut on Windows) points to, or a an empty string if the object isn't a symbolic link.</para>
            <para>This name may not represent an existing file; it is only a string. QFileInfo::exists() returns true if the symlink points to an existing file.</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also exists(), isSymLink(), isDir(), and isFile().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileInfo.Finalize">
            <summary>
            <para>Destroys the QFileInfo and frees its resources.</para>
            </summary>
        </member>
        <member name="P:QtCore.QFileInfo.Caching">
            <summary>
            <para>Returns true if caching is enabled; otherwise returns false.</para>
            <para>If enable is true, enables caching of file information. If enable is false caching is disabled.</para>
            <para>When caching is enabled, QFileInfo reads the file information from the file system the first time it's needed, but generally not later.</para>
            <para>Caching is enabled by default.</para>
            </summary>
        </member>
        <member name="T:QtCore.QFileSystemWatcher">
            <summary>
            The QFileSystemWatcher class provides an interface for monitoring files and directories for modifications.
            </summary>
            <remarks>
            <para></para>
            <para>QFileSystemWatcher monitors the file system for changes to files and directories by watching a list of specified paths.</para>
            <para>Call addPath() to watch a particular file or directory. Multiple paths can be added using the addPaths() function. Existing paths can be removed by using the removePath() and removePaths() functions.</para>
            <para>QFileSystemWatcher examines each path added to it. Files that have been added to the QFileSystemWatcher can be accessed using the files() function, and directories using the directories() function.</para>
            <para>The fileChanged() signal is emitted when a file has been modified, renamed or removed from disk. Similarly, the directoryChanged() signal is emitted when a directory or its contents is modified or removed. Note that QFileSystemWatcher stops monitoring files once they have been renamed or removed from disk, and directories once they have been removed from disk.</para>
            <para>Note: On systems running a Linux kernel without inotify support, file systems that contain watched paths cannot be unmounted.</para>
            <para>Note: Windows CE does not support directory monitoring by default as this depends on the file system driver installed.</para>
            <para>Note: The act of monitoring files and directories for modifications consumes system resources. This implies there is a limit to the number of files and directories your process can monitor simultaneously. On Mac OS X 10.4 and all BSD variants, for example, an open file descriptor is required for each monitored file. Some system limits the number of open file descriptors to 256 by default. This means that addPath() and addPaths() will fail if your process tries to add more than 256 files or directories to the file system monitor. Also note that your process may have other file descriptors open in addition to the ones for files being monitored, and these other open descriptors also count in the total. Mac OS X 10.5 and up use a different backend and do not suffer from this issue.</para>
            <para></para>
            <para>See also QFile and QDir.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QFileSystemWatcher.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs a new file system watcher object with the given parent.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileSystemWatcher.#ctor(System.Collections.Generic.List{System.String},QtCore.QObject)">
            <summary>
            <para>Constructs a new file system watcher object with the given parent which monitors the specified paths list.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileSystemWatcher.AddPath(System.String)">
            <summary>
            <para>Adds path to the file system watcher if path exists. The path is not added if it does not exist, or if it is already being monitored by the file system watcher.</para>
            <para>If path specifies a directory, the directoryChanged() signal will be emitted when path is modified or removed from disk; otherwise the fileChanged() signal is emitted when path is modified, renamed or removed.</para>
            <para>Note: There is a system dependent limit to the number of files and directories that can be monitored simultaneously. If this limit has been reached, path will not be added to the file system watcher, and a warning message will be printed to stderr.</para>
            <para>See also addPaths() and removePath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileSystemWatcher.AddPaths(System.Collections.Generic.List{System.String})">
            <summary>
            <para>Adds each path in paths to the file system watcher. Paths are not added if they not exist, or if they are already being monitored by the file system watcher.</para>
            <para>If a path specifies a directory, the directoryChanged() signal will be emitted when the path is modified or removed from disk; otherwise the fileChanged() signal is emitted when the path is modified, renamed, or removed.</para>
            <para>Note: There is a system dependent limit to the number of files and directories that can be monitored simultaneously. If this limit has been reached, the excess paths will not be added to the file system watcher, and a warning message will be printed to stderr for each path that could not be added.</para>
            <para>See also addPath() and removePaths().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileSystemWatcher.Directories">
            <summary>
            <para>Returns a list of paths to directories that are being watched.</para>
            <para>See also files().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileSystemWatcher.OnDirectoryChanged(System.String)">
            <summary>
            <para>This signal is emitted when the directory at a specified path, is modified (e.g., when a file is added, modified or deleted) or removed from disk. Note that if there are several changes during a short period of time, some of the changes might not emit this signal. However, the last change in the sequence of changes will always generate this signal.</para>
            <para>See also fileChanged().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileSystemWatcher.OnFileChanged(System.String)">
            <summary>
            <para>This signal is emitted when the file at the specified path is modified, renamed or removed from disk.</para>
            <para>See also directoryChanged().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileSystemWatcher.Files">
            <summary>
            <para>Returns a list of paths to files that are being watched.</para>
            <para>See also directories().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileSystemWatcher.RemovePath(System.String)">
            <summary>
            <para>Removes the specified path from the file system watcher.</para>
            <para>See also removePaths() and addPath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileSystemWatcher.RemovePaths(System.Collections.Generic.List{System.String})">
            <summary>
            <para>Removes the specified paths from the file system watcher.</para>
            <para>See also removePath() and addPaths().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFileSystemWatcher.Finalize">
            <summary>
            <para>Destroys the file system watcher.</para>
            </summary>
        </member>
        <member name="E:QtCore.QFileSystemWatcher.FileChanged">
            <summary>
            <para>This signal is emitted when the file at the specified path is modified, renamed or removed from disk.</para>
            <para>See also directoryChanged().</para>
            </summary>
        </member>
        <member name="E:QtCore.QFileSystemWatcher.DirectoryChanged">
            <summary>
            <para>This signal is emitted when the directory at a specified path, is modified (e.g., when a file is added, modified or deleted) or removed from disk. Note that if there are several changes during a short period of time, some of the changes might not emit this signal. However, the last change in the sequence of changes will always generate this signal.</para>
            <para>See also fileChanged().</para>
            </summary>
        </member>
        <member name="T:QtCore.QFinalState">
            <summary>
            The QFinalState class provides a final state.
            </summary>
            <remarks>
            <para></para>
            <para>A final state is used to communicate that (part of) a QStateMachine has finished its work. When a final top-level state is entered, the state machine's finished() signal is emitted. In general, when a final substate (a child of a QState) is entered, the parent state's finished() signal is emitted. QFinalState is part of The State Machine Framework.</para>
            <para>To use a final state, you create a QFinalState object and add a transition to it from another state. Example:</para>
            <para> QPushButton button;</para>
            <para></para>
            <para> QStateMachine machine;</para>
            <para> QState *s1 = new QState();</para>
            <para> QFinalState *s2 = new QFinalState();</para>
            <para> s1-&amp;gt;addTransition(&amp;amp;button, SIGNAL(clicked()), s2);</para>
            <para> machine.addState(s1);</para>
            <para> machine.addState(s2);</para>
            <para></para>
            <para> QObject::connect(&amp;amp;machine, SIGNAL(finished()), QApplication::instance(), SLOT(quit()));</para>
            <para> machine.setInitialState(s1);</para>
            <para> machine.start();</para>
            <para></para>
            <para>See also QState::finished().</para>
            </remarks>
        </member>
        <member name="M:QtCore.QFinalState.#ctor(QtCore.QState)">
            <summary>
            <para>Constructs a new QFinalState object with the given parent state.</para>
            </summary>
        </member>
        <member name="M:QtCore.QFinalState.OnEvent(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QObject::event().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFinalState.OnEntry(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QAbstractState::onEntry().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFinalState.OnExit(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QAbstractState::onExit().</para>
            </summary>
        </member>
        <member name="M:QtCore.QFinalState.Finalize">
            <summary>
            <para>Destroys this final state.</para>
            </summary>
        </member>
        <member name="T:QtCore.QFlag">
            <summary>
            The QFlag class is a helper data type for QFlags.
            </summary>
            <remarks>
            <para></para>
            <para>It is equivalent to a plain int, except with respect to function overloading and type conversions. You should never need to use this class in your applications.</para>
            <para></para>
            <para>See also QFlags.</para>
            </remarks>
        </member>
        <member name="T:QtCore.QGenericArgument">
            <summary>
            The QGenericArgument class is an internal helper class for marshalling arguments.
            </summary>
            <remarks>
            <para></para>
            <para>This class should never be used directly. Please use the Q_ARG() macro instead.</para>
            <para></para>
            <para>See also Q_ARG(), QMetaObject::invokeMethod(), and QGenericReturnArgument.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QGenericArgument.#ctor(QtCore.QGenericArgument)">
            <summary>
            <para>Constructs a QGenericArgument object with the given name and data.</para>
            </summary>
        </member>
        <member name="M:QtCore.QGenericArgument.#ctor(System.String)">
            <summary>
            <para>Constructs a QGenericArgument object with the given name and data.</para>
            </summary>
        </member>
        <member name="M:QtCore.QGenericArgument.Name">
            <summary>
            <para>Returns the name set in the constructor.</para>
            </summary>
        </member>
        <member name="T:QtCore.QGenericReturnArgument">
            <summary>
            The QGenericReturnArgument class is an internal helper class for marshalling arguments.
            </summary>
            <remarks>
            <para></para>
            <para>This class should never be used directly. Please use the Q_RETURN_ARG() macro instead.</para>
            <para></para>
            <para>See also Q_RETURN_ARG(), QMetaObject::invokeMethod(), and QGenericArgument.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QGenericReturnArgument.#ctor(QtCore.QGenericReturnArgument)">
            <summary>
            <para>Constructs a QGenericReturnArgument object with the given name and data.</para>
            </summary>
        </member>
        <member name="M:QtCore.QGenericReturnArgument.#ctor(System.String)">
            <summary>
            <para>Constructs a QGenericReturnArgument object with the given name and data.</para>
            </summary>
        </member>
        <member name="T:QtCore.QHistoryState">
            <summary>
            The QHistoryState class provides a means of returning to a previously active substate.
            </summary>
            <remarks>
            <para></para>
            <para>A history state is a pseudo-state that represents the child state that the parent state was in the last time the parent state was exited. A transition with a history state as its target is in fact a transition to one of the other child states of the parent state. QHistoryState is part of The State Machine Framework.</para>
            <para>Use the setDefaultState() function to set the state that should be entered if the parent state has never been entered. Example:</para>
            <para> QStateMachine machine;</para>
            <para></para>
            <para> QState *s1 = new QState();</para>
            <para> QState *s11 = new QState(s1);</para>
            <para> QState *s12 = new QState(s1);</para>
            <para></para>
            <para> QHistoryState *s1h = new QHistoryState(s1);</para>
            <para> s1h-&amp;gt;setDefaultState(s11);</para>
            <para></para>
            <para> machine.addState(s1);</para>
            <para></para>
            <para> QState *s2 = new QState();</para>
            <para> machine.addState(s2);</para>
            <para></para>
            <para> QPushButton *button = new QPushButton();</para>
            <para> // Clicking the button will cause the state machine to enter the child state</para>
            <para> // that s1 was in the last time s1 was exited, or the history state's default</para>
            <para> // state if s1 has never been entered.</para>
            <para> s1-&amp;gt;addTransition(button, SIGNAL(clicked()), s1h);</para>
            <para>By default a history state is shallow, meaning that it won't remember nested states. This can be configured through the historyType property.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QHistoryState.#ctor(QtCore.QState)">
            <summary>
            <para>Constructs a new shallow history state with the given parent state.</para>
            </summary>
        </member>
        <member name="M:QtCore.QHistoryState.#ctor(QtCore.QHistoryState.HistoryType,QtCore.QState)">
            <summary>
            <para>Constructs a new history state of the given type, with the given parent state.</para>
            </summary>
        </member>
        <member name="M:QtCore.QHistoryState.OnEvent(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QObject::event().</para>
            </summary>
        </member>
        <member name="M:QtCore.QHistoryState.OnEntry(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QAbstractState::onEntry().</para>
            </summary>
        </member>
        <member name="M:QtCore.QHistoryState.OnExit(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QAbstractState::onExit().</para>
            </summary>
        </member>
        <member name="M:QtCore.QHistoryState.Finalize">
            <summary>
            <para>Destroys this history state.</para>
            </summary>
        </member>
        <member name="P:QtCore.QHistoryState.historyType">
            <summary>
            <para>This property holds the type of history that this history state records.</para>
            <para>The default value of this property is QHistoryState::ShallowHistory.</para>
            </summary>
        </member>
        <member name="T:QtCore.QHistoryState.HistoryType">
            <summary>
            <para>This enum specifies the type of history that a QHistoryState records.</para>
            </summary>
        </member>
        <member name="F:QtCore.QHistoryState.HistoryType.DeepHistory">
            <summary>
            <para>Nested states are recorded. In this case a transition with the history state as its target will end up in the most deeply nested descendant state the parent was in the last time it was exited.</para>
            </summary>
        </member>
        <member name="F:QtCore.QHistoryState.HistoryType.ShallowHistory">
            <summary>
            <para>Only the immediate child states of the parent state are recorded. In this case a transition with the history state as its target will end up in the immediate child state that the parent was in the last time it was exited. This is the default.</para>
            </summary>
        </member>
        <member name="T:QtCore.QLatin1Char">
            <summary>
            The QLatin1Char class provides an 8-bit ASCII/Latin-1 character.
            </summary>
            <remarks>
            <para></para>
            <para>This class is only useful to avoid the codec for C strings business in the QChar(ch) constructor. You can avoid it by writing QChar(ch, 0).</para>
            <para></para>
            <para>See also QChar, QLatin1String, and QString.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QLatin1Char.#ctor(QtCore.QLatin1Char)">
            <summary>
            <para>Constructs a Latin-1 character for c. This constructor should be used when the encoding of the input character is known to be Latin-1.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLatin1Char.#ctor(System.SByte)">
            <summary>
            <para>Constructs a Latin-1 character for c. This constructor should be used when the encoding of the input character is known to be Latin-1.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLatin1Char.ToLatin1">
            <summary>
            <para>Converts a Latin-1 character to an 8-bit ASCII representation of the character.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLatin1Char.Unicode">
            <summary>
            <para>Converts a Latin-1 character to an 16-bit-encoded Unicode representation of the character.</para>
            </summary>
        </member>
        <member name="T:QtCore.QLatin1String">
            <summary>
            The QLatin1String class provides a thin wrapper around an US-ASCII/Latin-1 encoded string literal.
            </summary>
            <remarks>
            <para></para>
            <para>Many of QString's member functions are overloaded to accept const char * instead of QString. This includes the copy constructor, the assignment operator, the comparison operators, and various other functions such as insert(), replace(), and indexOf(). These functions are usually optimized to avoid constructing a QString object for the const char * data. For example, assuming str is a QString,</para>
            <para> if (str == &amp;quot;auto&amp;quot; || str == &amp;quot;extern&amp;quot;</para>
            <para>         || str == &amp;quot;static&amp;quot; || str == &amp;quot;register&amp;quot;) {</para>
            <para>     ...</para>
            <para> }</para>
            <para>is much faster than</para>
            <para> if (str == QString(&amp;quot;auto&amp;quot;) || str == QString(&amp;quot;extern&amp;quot;)</para>
            <para>         || str == QString(&amp;quot;static&amp;quot;) || str == QString(&amp;quot;register&amp;quot;)) {</para>
            <para>     ...</para>
            <para> }</para>
            <para>because it doesn't construct four temporary QString objects and make a deep copy of the character data.</para>
            <para>Applications that define QT_NO_CAST_FROM_ASCII (as explained in the QString documentation) don't have access to QString's const char * API. To provide an efficient way of specifying constant Latin-1 strings, Qt provides the QLatin1String, which is just a very thin wrapper around a const char *. Using QLatin1String, the example code above becomes</para>
            <para> if (str == QLatin1String(&amp;quot;auto&amp;quot;)</para>
            <para>         || str == QLatin1String(&amp;quot;extern&amp;quot;)</para>
            <para>         || str == QLatin1String(&amp;quot;static&amp;quot;)</para>
            <para>         || str == QLatin1String(&amp;quot;register&amp;quot;) {</para>
            <para>     ...</para>
            <para> }</para>
            <para>This is a bit longer to type, but it provides exactly the same benefits as the first version of the code, and is faster than converting the Latin-1 strings using QString::fromLatin1().</para>
            <para>Thanks to the QString(const QLatin1String &amp;amp;) constructor, QLatin1String can be used everywhere a QString is expected. For example:</para>
            <para> QLabel *label = new QLabel(QLatin1String(&amp;quot;MOD&amp;quot;), this);</para>
            <para></para>
            <para>See also QString and QLatin1Char.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QLatin1String.#ctor(QtCore.QLatin1String)">
            <summary>
            <para>Constructs a QLatin1String object that stores str. Note that if str is 0, an empty string is created; this case is handled by QString.</para>
            <para>The string data is not copied. The caller must be able to guarantee that str will not be deleted or modified as long as the QLatin1String object exists.</para>
            <para>See also latin1().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLatin1String.#ctor(System.String)">
            <summary>
            <para>Constructs a QLatin1String object that stores str. Note that if str is 0, an empty string is created; this case is handled by QString.</para>
            <para>The string data is not copied. The caller must be able to guarantee that str will not be deleted or modified as long as the QLatin1String object exists.</para>
            <para>See also latin1().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLatin1String.op_Inequality(QtCore.QLatin1String,QtCore.QStringRef)">
            <summary>
            <para>Returns true if this string is not equal to string other; otherwise returns false.</para>
            <para>The comparison is based exclusively on the numeric Unicode values of the characters and is very fast, but is not what a human would expect. Consider sorting user-interface strings with QString::localeAwareCompare().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLatin1String.op_Equality(QtCore.QLatin1String,QtCore.QStringRef)">
            <summary>
            <para>Returns true if this string is equal to string other; otherwise returns false.</para>
            <para>The comparison is based exclusively on the numeric Unicode values of the characters and is very fast, but is not what a human would expect. Consider sorting user-interface strings with QString::localeAwareCompare().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLatin1String.Latin1">
            <summary>
            <para>Returns the Latin-1 string stored in this object.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLatin1String.op_Inequality(QtCore.QLatin1String,System.String)">
            <summary>
            <para>Returns true if this string is not equal to string other; otherwise returns false.</para>
            <para>The comparison is based exclusively on the numeric Unicode values of the characters and is very fast, but is not what a human would expect. Consider sorting user-interface strings with QString::localeAwareCompare().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLatin1String.op_LessThan(QtCore.QLatin1String,System.String)">
            <summary>
            <para>Returns true if this string is lexically less than the other string; otherwise returns false.</para>
            <para>The comparison is based exclusively on the numeric Unicode values of the characters and is very fast, but is not what a human would expect. Consider sorting user-interface strings using the QString::localeAwareCompare() function.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLatin1String.op_LessThanOrEqual(QtCore.QLatin1String,System.String)">
            <summary>
            <para>Returns true if this string is lexically less than or equal to string other; otherwise returns false.</para>
            <para>The comparison is based exclusively on the numeric Unicode values of the characters and is very fast, but is not what a human would expect. Consider sorting user-interface strings with QString::localeAwareCompare().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLatin1String.op_Equality(QtCore.QLatin1String,System.String)">
            <summary>
            <para>Returns true if this string is equal to string other; otherwise returns false.</para>
            <para>The comparison is based exclusively on the numeric Unicode values of the characters and is very fast, but is not what a human would expect. Consider sorting user-interface strings with QString::localeAwareCompare().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLatin1String.op_GreaterThan(QtCore.QLatin1String,System.String)">
            <summary>
            <para>Returns true if this string is lexically greater than string other; otherwise returns false.</para>
            <para>The comparison is based exclusively on the numeric Unicode values of the characters and is very fast, but is not what a human would expect. Consider sorting user-interface strings with QString::localeAwareCompare().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLatin1String.op_GreaterThanOrEqual(QtCore.QLatin1String,System.String)">
            <summary>
            <para>Returns true if this string is lexically greater than or equal to string other; otherwise returns false.</para>
            <para>The comparison is based exclusively on the numeric Unicode values of the characters and is very fast, but is not what a human would expect. Consider sorting user-interface strings with QString::localeAwareCompare().</para>
            </summary>
        </member>
        <member name="T:QtCore.QLibrary">
            <summary>
            The QLibrary class loads shared libraries at runtime.
            </summary>
            <remarks>
            <para></para>
            <para>An instance of a QLibrary object operates on a single shared object file (which we call a &amp;quot;library&amp;quot;, but is also known as a &amp;quot;DLL&amp;quot;). A QLibrary provides access to the functionality in the library in a platform independent way. You can either pass a file name in the constructor, or set it explicitly with setFileName(). When loading the library, QLibrary searches in all the system-specific library locations (e.g. LD_LIBRARY_PATH on Unix), unless the file name has an absolute path. If the file cannot be found, QLibrary tries the name with different platform-specific file suffixes, like &amp;quot;.so&amp;quot; on Unix, &amp;quot;.dylib&amp;quot; on the Mac, or &amp;quot;.dll&amp;quot; on Windows and Symbian. This makes it possible to specify shared libraries that are only identified by their basename (i.e. without their suffix), so the same code will work on different operating systems.</para>
            <para>The most important functions are load() to dynamically load the library file, isLoaded() to check whether loading was successful, and resolve() to resolve a symbol in the library. The resolve() function implicitly tries to load the library if it has not been loaded yet. Multiple instances of QLibrary can be used to access the same physical library. Once loaded, libraries remain in memory until the application terminates. You can attempt to unload a library using unload(), but if other instances of QLibrary are using the same library, the call will fail, and unloading will only happen when every instance has called unload().</para>
            <para>A typical use of QLibrary is to resolve an exported symbol in a library, and to call the C function that this symbol represents. This is called &amp;quot;explicit linking&amp;quot; in contrast to &amp;quot;implicit linking&amp;quot;, which is done by the link step in the build process when linking an executable against a library.</para>
            <para>Note: In Symbian resolving symbols using their names is supported only if the library is built as STDDLL. Otherwise ordinals must be used. Also, in Symbian the path of the library is ignored and system default library location is always used.</para>
            <para>The following code snippet loads a library, resolves the symbol &amp;quot;mysymbol&amp;quot;, and calls the function if everything succeeded. If something goes wrong, e.g. the library file does not exist or the symbol is not defined, the function pointer will be 0 and won't be called.</para>
            <para> QLibrary myLib(&amp;quot;mylib&amp;quot;);</para>
            <para> typedef void (*MyPrototype)();</para>
            <para> MyPrototype myFunction = (MyPrototype) myLib.resolve(&amp;quot;mysymbol&amp;quot;);</para>
            <para> if (myFunction)</para>
            <para>     myFunction();</para>
            <para>The symbol must be exported as a C function from the library for resolve() to work. This means that the function must be wrapped in an extern &amp;quot;C&amp;quot; block if the library is compiled with a C++ compiler. On Windows, this also requires the use of a dllexport macro; see resolve() for the details of how this is done. For convenience, there is a static resolve() function which you can use if you just want to call a function in a library without explicitly loading the library first:</para>
            <para> typedef void (*MyPrototype)();</para>
            <para> MyPrototype myFunction =</para>
            <para>         (MyPrototype) QLibrary::resolve(&amp;quot;mylib&amp;quot;, &amp;quot;mysymbol&amp;quot;);</para>
            <para> if (myFunction)</para>
            <para>     myFunction();</para>
            <para></para>
            <para>See also QPluginLoader.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QLibrary.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs a library with the given parent.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLibrary.#ctor(System.String,QtCore.QObject)">
            <summary>
            <para>Constructs a library object with the given parent that will load the library specified by fileName.</para>
            <para>We recommend omitting the file's suffix in fileName, since QLibrary will automatically look for the file with the appropriate suffix in accordance with the platform, e.g. &quot;.so&quot; on Unix, &quot;.dylib&quot; on Mac OS X, and &quot;.dll&quot; on Windows. (See fileName.)</para>
            <para>Note: In Symbian the path portion of the fileName is ignored.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLibrary.#ctor(System.String,System.Int32,QtCore.QObject)">
            <summary>
            <para>Constructs a library object with the given parent that will load the library specified by fileName and major version number verNum. Currently, the version number is ignored on Windows and Symbian.</para>
            <para>We recommend omitting the file's suffix in fileName, since QLibrary will automatically look for the file with the appropriate suffix in accordance with the platform, e.g. &quot;.so&quot; on Unix, &quot;.dylib&quot; on Mac OS X, and &quot;.dll&quot; on Windows. (See fileName.)</para>
            <para>Note: In Symbian the path portion of the fileName is ignored.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLibrary.#ctor(System.String,System.String,QtCore.QObject)">
            <summary>
            <para>Constructs a library object with the given parent that will load the library specified by fileName and full version number version. Currently, the version number is ignored on Windows and Symbian.</para>
            <para>We recommend omitting the file's suffix in fileName, since QLibrary will automatically look for the file with the appropriate suffix in accordance with the platform, e.g. &quot;.so&quot; on Unix, &quot;.dylib&quot; on Mac OS X, and &quot;.dll&quot; on Windows. (See fileName.)</para>
            <para>Note: In Symbian the path portion of the fileName is ignored.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLibrary.ErrorString">
            <summary>
            <para>Returns a text string with the description of the last error that occurred. Currently, errorString will only be set if load(), unload() or resolve() for some reason fails.</para>
            <para>This function was introduced in Qt 4.2.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLibrary.IsLibrary(System.String)">
            <summary>
            <para>Returns true if fileName has a valid suffix for a loadable library; otherwise returns false.</para>
            <para></para>
            <para>PlatformValid suffixes</para>
            <para>Windows	.dll, .DLL</para>
            <para>Unix/Linux	.so</para>
            <para>AIX	.a</para>
            <para>HP-UX	.sl, .so (HP-UXi)</para>
            <para>Mac OS X	.dylib, .bundle, .so</para>
            <para>Symbian	.dll</para>
            <para></para>
            <para>Trailing versioning numbers on Unix are ignored.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLibrary.IsLoaded">
            <summary>
            <para>Returns true if the library is loaded; otherwise returns false.</para>
            <para>See also load().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLibrary.Load">
            <summary>
            <para>Loads the library and returns true if the library was loaded successfully; otherwise returns false. Since resolve() always calls this function before resolving any symbols it is not necessary to call it explicitly. In some situations you might want the library loaded in advance, in which case you would use this function.</para>
            <para>See also unload().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLibrary.SetFileNameAndVersion(System.String,System.Int32)">
            <summary>
            <para>Sets the fileName property and major version number to fileName and versionNumber respectively. The versionNumber is ignored on Windows and Symbian.</para>
            <para>Note: In Symbian the path portion of the fileName is ignored.</para>
            <para>See also setFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLibrary.SetFileNameAndVersion(System.String,System.String)">
            <summary>
            <para>Sets the fileName property and full version number to fileName and version respectively. The version parameter is ignored on Windows and Symbian.</para>
            <para>Note: In Symbian the path portion of the fileName is ignored.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also setFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLibrary.Unload">
            <summary>
            <para>Unloads the library and returns true if the library could be unloaded; otherwise returns false.</para>
            <para>This happens automatically on application termination, so you shouldn't normally need to call this function.</para>
            <para>If other instances of QLibrary are using the same library, the call will fail, and unloading will only happen when every instance has called unload().</para>
            <para>Note that on Mac OS X 10.3 (Panther), dynamic libraries cannot be unloaded.</para>
            <para>See also resolve() and load().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLibrary.Finalize">
            <summary>
            <para>Destroys the QLibrary object.</para>
            <para>Unless unload() was called explicitly, the library stays in memory until the application terminates.</para>
            <para>See also isLoaded() and unload().</para>
            </summary>
        </member>
        <member name="P:QtCore.QLibrary.FileName">
            <summary>
            <para>This property holds the file name of the library.</para>
            <para>We recommend omitting the file's suffix in the file name, since QLibrary will automatically look for the file with the appropriate suffix (see isLibrary()).</para>
            <para>When loading the library, QLibrary searches in all system-specific library locations (e.g. LD_LIBRARY_PATH on Unix), unless the file name has an absolute path. After loading the library successfully, fileName() returns the fully-qualified file name of the library, including the full path to the library if one was given in the constructor or passed to setFileName().</para>
            <para>For example, after successfully loading the &quot;GL&quot; library on Unix platforms, fileName() will return &quot;libGL.so&quot;. If the file name was originally passed as &quot;/usr/lib/libGL&quot;, fileName() will return &quot;/usr/lib/libGL.so&quot;.</para>
            <para>Note: In Symbian the path portion of the fileName is ignored.</para>
            </summary>
        </member>
        <member name="P:QtCore.QLibrary.LoadHints">
            <summary>
            <para>This property holds give the load() function some hints on how it should behave.</para>
            <para>You can give some hints on how the symbols are resolved. Usually, the symbols are not resolved at load time, but resolved lazily, (that is, when resolve() is called). If you set the loadHint to ResolveAllSymbolsHint, then all symbols will be resolved at load time if the platform supports it.</para>
            <para>Setting ExportExternalSymbolsHint will make the external symbols in the library available for resolution in subsequent loaded libraries.</para>
            <para>If LoadArchiveMemberHint is set, the file name is composed of two components: A path which is a reference to an archive file followed by the second component which is the reference to the archive member. For instance, the fileName libGL.a(shr_64.o) will refer to the library shr_64.o in the archive file named libGL.a. This is only supported on the AIX platform.</para>
            <para>The interpretation of the load hints is platform dependent, and if you use it you are probably making some assumptions on which platform you are compiling for, so use them only if you understand the consequences of them.</para>
            <para>By default, none of these flags are set, so libraries will be loaded with lazy symbol resolution, and will not export external symbols for resolution in other dynamically-loaded libraries.</para>
            </summary>
        </member>
        <member name="T:QtCore.QLibrary.LoadHint">
            <summary>
            <para>This enum describes the possible hints that can be used to change the way libraries are handled when they are loaded. These values indicate how symbols are resolved when libraries are loaded, and are specified using the setLoadHints() function.</para>
            <para></para>
            <para>See also loadHints.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLibrary.LoadHint.ExportExternalSymbolsHint">
            <summary>
            <para>Exports unresolved and external symbols in the library so that they can be resolved in other dynamically-loaded libraries loaded later.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLibrary.LoadHint.LoadArchiveMemberHint">
            <summary>
            <para>Allows the file name of the library to specify a particular object file within an archive file. If this hint is given, the filename of the library consists of a path, which is a reference to an archive file, followed by a reference to the archive member.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLibrary.LoadHint.ResolveAllSymbolsHint">
            <summary>
            <para>Causes all symbols in a library to be resolved when it is loaded, not simply when resolve() is called.</para>
            </summary>
        </member>
        <member name="T:QtCore.QLibraryInfo">
            <summary>
            The QLibraryInfo class provides information about the Qt library.
            </summary>
            <remarks>
            <para></para>
            <para>Many pieces of information are established when Qt is configured. Installation paths, license information, and even a unique build key. This class provides an abstraction for accessing this information.</para>
            <para></para>
            <para>FunctionReturn value</para>
            <para>buildKey()	A string that identifies the Qt version and the configuration. This key is used to ensure that plugins link against the same version of Qt as the application.</para>
            <para>location()	The path to a certain Qt component (e.g., documentation, header files).</para>
            <para>licensee(), licensedProducts()	Licensing information.</para>
            <para></para>
            <para>You can also use a qt.conf file to override the hard-coded paths that are compiled into the Qt library. For more information, see the Using qt.conf documentation.</para>
            <para></para>
            <para>See also QSysInfo and Using qt.conf.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QLibraryInfo.BuildDate">
            <summary>
            <para>Returns the installation date for this build of Qt. The install date will usually be the last time that Qt sources were configured.</para>
            <para>This function was introduced in Qt 4.6.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLibraryInfo.BuildKey">
            <summary>
            <para>Returns a unique key identifying this build of Qt and its configurations. This key is not globally unique, rather only useful for establishing of two configurations are compatible. This can be used to compare with the QT_BUILD_KEY preprocessor symbol.</para>
            <para>See also location().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLibraryInfo.LicensedProducts">
            <summary>
            <para>Returns the products that the license for this build of Qt has access to.</para>
            <para>See also licensee().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLibraryInfo.Licensee">
            <summary>
            <para>Returns the person to whom this build of Qt is licensed.</para>
            <para>See also licensedProducts().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLibraryInfo.Location(QtCore.QLibraryInfo.LibraryLocation)">
            <summary>
            <para>Returns the location specified by loc.</para>
            </summary>
        </member>
        <member name="T:QtCore.QLibraryInfo.LibraryLocation">
            <summary>
            <para>This enum type is used to specify a specific location specifier:</para>
            <para>See also location().</para>
            </summary>
        </member>
        <member name="F:QtCore.QLibraryInfo.LibraryLocation.BinariesPath">
            <summary>
            <para>The location of installed Qt binaries (tools and applications).</para>
            </summary>
        </member>
        <member name="F:QtCore.QLibraryInfo.LibraryLocation.DataPath">
            <summary>
            <para>The location of general Qt data.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLibraryInfo.LibraryLocation.DemosPath">
            <summary>
            <para>The location for demos upon install.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLibraryInfo.LibraryLocation.DocumentationPath">
            <summary>
            <para>The location for documentation upon install.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLibraryInfo.LibraryLocation.ExamplesPath">
            <summary>
            <para>The location for examples upon install.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLibraryInfo.LibraryLocation.HeadersPath">
            <summary>
            <para>The location for all headers.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLibraryInfo.LibraryLocation.ImportsPath">
            <summary>
            <para>The location of installed QML extensions to import.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLibraryInfo.LibraryLocation.LibrariesPath">
            <summary>
            <para>The location of installed libraries.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLibraryInfo.LibraryLocation.PluginsPath">
            <summary>
            <para>The location of installed Qt plugins.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLibraryInfo.LibraryLocation.PrefixPath">
            <summary>
            <para>The default prefix for all paths.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLibraryInfo.LibraryLocation.SettingsPath">
            <summary>
            <para>The location for Qt settings.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLibraryInfo.LibraryLocation.TranslationsPath">
            <summary>
            <para>The location of translation information for Qt strings.</para>
            </summary>
        </member>
        <member name="T:QtCore.QLine">
            <summary>
            The QLine class provides a two-dimensional vector using integer precision.
            </summary>
            <remarks>
            <para></para>
            <para>A QLine describes a finite length line (or a line segment) on a two-dimensional surface. The start and end points of the line are specified using integer point accuracy for coordinates. Use the QLineF constructor to retrieve a floating point copy.</para>
            <para></para>
            <para>	</para>
            <para></para>
            <para>The positions of the line's start and end points can be retrieved using the p1(), x1(), y1(), p2(), x2(), and y2() functions. The dx() and dy() functions return the horizontal and vertical components of the line. Use isNull() to determine whether the QLine represents a valid line or a null line.</para>
            <para>Finally, the line can be translated a given offset using the translate() function.</para>
            <para></para>
            <para>See also QLineF, QPolygon, and QRect.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QLine.#ctor">
            <summary>
            <para>Constructs a null line.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLine.#ctor(QtCore.QLine)">
            <summary>
            <para>Constructs a null line.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLine.#ctor(QtCore.QPoint,QtCore.QPoint)">
            <summary>
            <para>Constructs a line object that represents the line between p1 and p2.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLine.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            <para>Constructs a line object that represents the line between (x1, y1) and (x2, y2).</para>
            </summary>
        </member>
        <member name="M:QtCore.QLine.Dx">
            <summary>
            <para>Returns the horizontal component of the line's vector.</para>
            <para>See also dy().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLine.Dy">
            <summary>
            <para>Returns the vertical component of the line's vector.</para>
            <para>See also dx().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLine.IsNull">
            <summary>
            <para>Returns true if the line is not set up with valid start and end point; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLine.op_Inequality(QtCore.QLine,QtCore.QLine)">
            <summary>
            <para>Returns true if the given line is not the same as this line.</para>
            <para>A line is different from another line if any of their start or end points differ, or the internal order of the points is different.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLine.op_Equality(QtCore.QLine,QtCore.QLine)">
            <summary>
            <para>Returns true if the given line is the same as this line.</para>
            <para>A line is identical to another line if the start and end points are identical, and the internal order of the points is the same.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLine.SetLine(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            <para>Sets this line to the start in x1, y1 and end in x2, y2.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also setP1(), setP2(), p1(), and p2().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLine.SetPoints(QtCore.QPoint,QtCore.QPoint)">
            <summary>
            <para>Sets the start point of this line to p1 and the end point of this line to p2.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also setP1(), setP2(), p1(), and p2().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLine.Translate(QtCore.QPoint)">
            <summary>
            <para>Translates this line by the given offset.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLine.Translate(System.Int32,System.Int32)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Translates this line the distance specified by dx and dy.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLine.Translated(QtCore.QPoint)">
            <summary>
            <para>Returns this line translated by the given offset.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLine.Translated(System.Int32,System.Int32)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns this line translated the distance specified by dx and dy.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLine.X1">
            <summary>
            <para>Returns the x-coordinate of the line's start point.</para>
            <para>See also p1().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLine.X2">
            <summary>
            <para>Returns the x-coordinate of the line's end point.</para>
            <para>See also p2().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLine.Y1">
            <summary>
            <para>Returns the y-coordinate of the line's start point.</para>
            <para>See also p1().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLine.Y2">
            <summary>
            <para>Returns the y-coordinate of the line's end point.</para>
            <para>See also p2().</para>
            </summary>
        </member>
        <member name="P:QtCore.QLine.P1">
            <summary>
            <para>Returns the line's start point.</para>
            <para>Sets the starting point of this line to p1.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="P:QtCore.QLine.P2">
            <summary>
            <para>Returns the line's end point.</para>
            <para>Sets the end point of this line to p2.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="T:QtCore.QLocale">
            <summary>
            The QLocale class converts between numbers and their string representations in various languages.
            </summary>
            <remarks>
            <para></para>
            <para>QLocale is initialized with a language/country pair in its constructor and offers number-to-string and string-to-number conversion functions similar to those in QString.</para>
            <para>Example:</para>
            <para> QLocale egyptian(QLocale::Arabic, QLocale::Egypt);</para>
            <para> QString s1 = egyptian.toString(1.571429E+07, 'e');</para>
            <para> QString s2 = egyptian.toString(10);</para>
            <para></para>
            <para> double d = egyptian.toDouble(s1);</para>
            <para> int i = egyptian.toInt(s2);</para>
            <para>QLocale supports the concept of a default locale, which is determined from the system's locale settings at application startup. The default locale can be changed by calling the static member setDefault(). Setting the default locale has the following effects:</para>
            <para></para>
            <para>If a QLocale object is constructed with the default constructor, it will use the default locale's settings.</para>
            <para>QString::toInt(), QString::toDouble(), etc., interpret the string according to the default locale. If this fails, it falls back on the &amp;quot;C&amp;quot; locale.</para>
            <para>QString::arg() uses the default locale to format a number when its position specifier in the format string contains an 'L', e.g. &amp;quot;%L1&amp;quot;.</para>
            <para></para>
            <para>The following example illustrates how to use QLocale directly:</para>
            <para> QLocale::setDefault(QLocale(QLocale::Hebrew, QLocale::Israel));</para>
            <para> QLocale hebrew; // Constructs a default QLocale</para>
            <para> QString s1 = hebrew.toString(15714.3, 'e');</para>
            <para></para>
            <para> bool ok;</para>
            <para> double d;</para>
            <para></para>
            <para> QLocale::setDefault(QLocale::C);</para>
            <para> d = QString(&amp;quot;1234,56&amp;quot;).toDouble(&amp;amp;ok);   // ok == false</para>
            <para> d = QString(&amp;quot;1234.56&amp;quot;).toDouble(&amp;amp;ok);   // ok == true, d == 1234.56</para>
            <para></para>
            <para> QLocale::setDefault(QLocale::German);</para>
            <para> d = QString(&amp;quot;1234,56&amp;quot;).toDouble(&amp;amp;ok);   // ok == true, d == 1234.56</para>
            <para> d = QString(&amp;quot;1234.56&amp;quot;).toDouble(&amp;amp;ok);   // ok == true, d == 1234.56</para>
            <para></para>
            <para> QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates));</para>
            <para> str = QString(&amp;quot;%1 %L2 %L3&amp;quot;)</para>
            <para>       .arg(12345).arg(12345).arg(12345, 0, 16);</para>
            <para> // str == &amp;quot;12345 12,345 3039&amp;quot;</para>
            <para>When a language/country pair is specified in the constructor, one of three things can happen:</para>
            <para></para>
            <para>If the language/country pair is found in the database, it is used.</para>
            <para>If the language is found but the country is not, or if the country is AnyCountry, the language is used with the most appropriate available country (for example, Germany for German),</para>
            <para>If neither the language nor the country are found, QLocale defaults to the default locale (see setDefault()).</para>
            <para></para>
            <para>Use language() and country() to determine the actual language and country values used.</para>
            <para>An alternative method for constructing a QLocale object is by specifying the locale name.</para>
            <para> QLocale korean(&amp;quot;ko&amp;quot;);</para>
            <para> QLocale swiss(&amp;quot;de_CH&amp;quot;);</para>
            <para>This constructor converts the locale name to a language/country pair; it does not use the system locale database.</para>
            <para>Note: For the current keyboard input locale take a look at QApplication::keyboardInputLocale().</para>
            <para>QLocale's data is based on Common Locale Data Repository v1.8.1.</para>
            <para>The double-to-string and string-to-double conversion functions are covered by the following licenses:</para>
            <para>Copyright (c) 1991 by AT&amp;amp;T.</para>
            <para>Permission to use, copy, modify, and distribute this software for any purpose without fee is hereby granted, provided that this entire notice is included in all copies of any software which is or includes a copy or modification of this software and in all copies of the supporting documentation for such software.</para>
            <para>THIS SOFTWARE IS BEING PROVIDED &amp;quot;AS IS&amp;quot;, WITHOUT ANY EXPRESS OR IMPLIED WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&amp;amp;T MAKES ANY REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.</para>
            <para>This product includes software developed by the University of California, Berkeley and its contributors.</para>
            <para></para>
            <para>See also QString::arg(), QString::toInt(), QString::toDouble(), and QApplication::keyboardInputLocale().</para>
            </remarks>
        </member>
        <member name="M:QtCore.QLocale.#ctor">
            <summary>
            <para>Constructs a QLocale object initialized with the default locale. If no default locale was set using setDefaultLocale(), this locale will be the same as the one returned by system().</para>
            <para>See also setDefault().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.#ctor(QtCore.QLocale)">
            <summary>
            <para>Constructs a QLocale object as a copy of other.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.#ctor(System.String)">
            <summary>
            <para>Constructs a QLocale object with the specified name, which has the format &quot;language[_script][_country][.codeset][@modifier]&quot; or &quot;C&quot;, where:</para>
            <para></para>
            <para>language is a lowercase, two-letter, ISO 639 language code,</para>
            <para>script is a titlecase, four-letter, ISO 15924 script code,</para>
            <para>country is an uppercase, two- or three-letter, ISO 3166 country code (also &quot;419&quot; as defined by United Nations),</para>
            <para>and codeset and modifier are ignored.</para>
            <para></para>
            <para>The separator can be either underscore or a minus sign.</para>
            <para>If the string violates the locale format, or language is not a valid ISO 369 code, the &quot;C&quot; locale is used instead. If country is not present, or is not a valid ISO 3166 code, the most appropriate country is chosen for the specified language.</para>
            <para>The language, script and country codes are converted to their respective Language, Script and Country enums. After this conversion is performed the constructor behaves exactly like QLocale(Country, Script, Language).</para>
            <para>This constructor is much slower than QLocale(Country, Script, Language).</para>
            <para>See also bcp47Name().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.#ctor(QtCore.QLocale.Language,QtCore.QLocale.Country)">
            <summary>
            <para>Constructs a QLocale object with the specified language and country.</para>
            <para></para>
            <para>If the language/country pair is found in the database, it is used.</para>
            <para>If the language is found but the country is not, or if the country is AnyCountry, the language is used with the most appropriate available country (for example, Germany for German),</para>
            <para>If neither the language nor the country are found, QLocale defaults to the default locale (see setDefault()).</para>
            <para></para>
            <para>The language and country that are actually used can be queried using language() and country().</para>
            <para>See also setDefault(), language(), and country().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.#ctor(QtCore.QLocale.Language,QtCore.QLocale.Script,QtCore.QLocale.Country)">
            <summary>
            <para>Constructs a QLocale object with the specified language, script and country.</para>
            <para></para>
            <para>If the language/script/country is found in the database, it is used.</para>
            <para>If both script is AnyScript and country is AnyCountry, the language is used with the most appropriate available script and country (for example, Germany for German),</para>
            <para>If either script is AnyScript or country is AnyCountry, the language is used with the first locale that matches the given script and country.</para>
            <para>If neither the language nor the country are found, QLocale defaults to the default locale (see setDefault()).</para>
            <para></para>
            <para>The language, script and country that are actually used can be queried using language(), script() and country().</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also setDefault(), language(), script(), and country().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.AmText">
            <summary>
            <para>Returns the localized name of the &quot;AM&quot; suffix for times specified using the conventions of the 12-hour clock.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also pmText().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.Bcp47Name">
            <summary>
            <para>Returns the dash-separated language, script and country (and possibly other BCP47 fields) of this locale as a string.</para>
            <para>Unlike the uiLanguages() the returned value of the bcp47Name() represents the locale name of the QLocale data but not the language the user-interface should be in.</para>
            <para>This function tries to conform the locale name to BCP47.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also language(), country(), script(), and uiLanguages().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.C">
            <summary>
            <para>Returns a QLocale object initialized to the &quot;C&quot; locale.</para>
            <para>See also system().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.CountriesForLanguage(QtCore.QLocale.Language)">
            <summary>
            <para>Returns the list of countries that have entires for language in Qt's locale database. If the result is an empty list, then language is not represented in Qt's locale database.</para>
            <para>This function was introduced in Qt 4.3.</para>
            <para>See also matchingLocales().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.country">
            <summary>
            <para>Returns the country of this locale.</para>
            <para>See also language(), script(), countryToString(), and bcp47Name().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.CountryToString(QtCore.QLocale.Country)">
            <summary>
            <para>Returns a QString containing the name of country.</para>
            <para>See also languageToString(), scriptToString(), country(), and bcp47Name().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.CreateSeparatedList(System.Collections.Generic.List{System.String})">
            <summary>
            <para>Returns a string that represents a join of a given list of strings with a separator defined by the locale.</para>
            <para>This function was introduced in Qt 4.8.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.CurrencySymbol(QtCore.QLocale.CurrencySymbolFormat)">
            <summary>
            <para>Returns a currency symbol according to the format.</para>
            <para>This function was introduced in Qt 4.8.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.DateFormat(QtCore.QLocale.FormatType)">
            <summary>
            <para>Returns the date format used for the current locale.</para>
            <para>If format is LongFormat the format will be a long version. Otherwise it uses a shorter version.</para>
            <para>This function was introduced in Qt 4.1.</para>
            <para>See also QDate::toString() and QDate::fromString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.DateTimeFormat(QtCore.QLocale.FormatType)">
            <summary>
            <para>Returns the date time format used for the current locale.</para>
            <para>If format is ShortFormat the format will be a short version. Otherwise it uses a longer version.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also QDateTime::toString() and QDateTime::fromString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.DayName(System.Int32,QtCore.QLocale.FormatType)">
            <summary>
            <para>Returns the localized name of the day (where 1 represents Monday, 2 represents Tuesday and so on), in the format specified by type.</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also monthName() and standaloneDayName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.DecimalPoint">
            <summary>
            <para>Returns the decimal point character of this locale.</para>
            <para>This function was introduced in Qt 4.1.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.Exponential">
            <summary>
            <para>Returns the exponential character of this locale.</para>
            <para>This function was introduced in Qt 4.1.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.FirstDayOfWeek">
            <summary>
            <para>Returns the first day of the week according to the current locale.</para>
            <para>This function was introduced in Qt 4.8.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.GroupSeparator">
            <summary>
            <para>Returns the group separator character of this locale.</para>
            <para>This function was introduced in Qt 4.1.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.language">
            <summary>
            <para>Returns the language of this locale.</para>
            <para>See also script(), country(), languageToString(), and bcp47Name().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.LanguageToString(QtCore.QLocale.Language)">
            <summary>
            <para>Returns a QString containing the name of language.</para>
            <para>See also countryToString(), scriptToString(), and bcp47Name().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.MatchingLocales(QtCore.QLocale.Language,QtCore.QLocale.Script,QtCore.QLocale.Country)">
            <summary>
            <para>Returns a list of valid locale objects that match the given language, script and country.</para>
            <para>Getting a list of all locales: QList&lt;QLocale&gt; allLocales = QLocale::matchingLocales(QLocale::AnyLanguage, QLocale::AnyScript, QLocale::AnyCountry);</para>
            <para>This function was introduced in Qt 4.8.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.measurementSystem">
            <summary>
            <para>Returns the measurement system for the locale.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.MonthName(System.Int32,QtCore.QLocale.FormatType)">
            <summary>
            <para>Returns the localized name of month, in the format specified by type.</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also dayName() and standaloneMonthName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.Name">
            <summary>
            <para>Returns the language and country of this locale as a string of the form &quot;language_country&quot;, where language is a lowercase, two-letter ISO 639 language code, and country is an uppercase, two- or three-letter ISO 3166 country code.</para>
            <para>Note that even if QLocale object was constructed with an explicit script, name() will not contain it for compatibility reasons. Use bcp47Name() instead if you need a full locale name.</para>
            <para>See also QLocale(), language(), script(), country(), and bcp47Name().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.NativeCountryName">
            <summary>
            <para>Returns a native name of the country for the locale. For example &quot;Espa&#241;a&quot; for Spanish/Spain locale.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also nativeLanguageName() and countryToString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.NativeLanguageName">
            <summary>
            <para>Returns a native name of the language for the locale. For example &quot;Schwiizert&#252;&#252;tsch&quot; for Swiss-German locale.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also nativeCountryName() and languageToString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.NegativeSign">
            <summary>
            <para>Returns the negative sign character of this locale.</para>
            <para>This function was introduced in Qt 4.1.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.op_Inequality(QtCore.QLocale,QtCore.QLocale)">
            <summary>
            <para>Returns true if the QLocale object is not the same as the other locale specified; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.op_Equality(QtCore.QLocale,QtCore.QLocale)">
            <summary>
            <para>Returns true if the QLocale object is the same as the other locale specified; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.Percent">
            <summary>
            <para>Returns the percent character of this locale.</para>
            <para>This function was introduced in Qt 4.1.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.PmText">
            <summary>
            <para>Returns the localized name of the &quot;PM&quot; suffix for times specified using the conventions of the 12-hour clock.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also amText().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.PositiveSign">
            <summary>
            <para>Returns the positive sign character of this locale.</para>
            <para>This function was introduced in Qt 4.5.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.QuoteString(QtCore.QStringRef,QtCore.QLocale.QuotationStyle)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>This function was introduced in Qt 4.8.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.QuoteString(System.String,QtCore.QLocale.QuotationStyle)">
            <summary>
            <para>Returns str quoted according to the current locale using the given quotation style.</para>
            <para>This function was introduced in Qt 4.8.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.script">
            <summary>
            <para>Returns the script of this locale.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also language(), country(), languageToString(), scriptToString(), and bcp47Name().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ScriptToString(QtCore.QLocale.Script)">
            <summary>
            <para>Returns a QString containing the name of script.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also languageToString(), countryToString(), script(), and bcp47Name().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.SetDefault(QtCore.QLocale)">
            <summary>
            <para>Sets the global default locale to locale. These values are used when a QLocale object is constructed with no arguments. If this function is not called, the system's locale is used.</para>
            <para>Warning: In a multithreaded application, the default locale should be set at application startup, before any non-GUI threads are created.</para>
            <para>Warning: This function is not reentrant.</para>
            <para>See also system() and c().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.StandaloneDayName(System.Int32,QtCore.QLocale.FormatType)">
            <summary>
            <para>Returns the localized name of the day (where 1 represents Monday, 2 represents Tuesday and so on) that is used as a standalone text, in the format specified by type.</para>
            <para>If the locale information does not specify the standalone day name then return value is the same as in dayName().</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also dayName() and standaloneMonthName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.StandaloneMonthName(System.Int32,QtCore.QLocale.FormatType)">
            <summary>
            <para>Returns the localized name of month that is used as a standalone text, in the format specified by type.</para>
            <para>If the locale information doesn't specify the standalone month name then return value is the same as in monthName().</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also monthName() and standaloneDayName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.System">
            <summary>
            <para>Returns a QLocale object initialized to the system locale.</para>
            <para>On Windows and Mac, this locale will use the decimal/grouping characters and date/time formats specified in the system configuration panel.</para>
            <para>See also c().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.TextDirection">
            <summary>
            <para>Returns the text direction of the language.</para>
            <para>This function was introduced in Qt 4.7.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.TimeFormat(QtCore.QLocale.FormatType)">
            <summary>
            <para>Returns the time format used for the current locale.</para>
            <para>If format is LongFormat the format will be a long version. Otherwise it uses a shorter version.</para>
            <para>This function was introduced in Qt 4.1.</para>
            <para>See also QTime::toString() and QTime::fromString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToCurrencyString(System.Int64,System.String)">
            <summary>
            <para>Returns a localized string representation of value as a currency. If the symbol is provided it is used instead of the default currency symbol.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also currencySymbol().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToCurrencyString(System.UInt64,System.String)">
            <summary>
            <para>Returns a localized string representation of value as a currency. If the symbol is provided it is used instead of the default currency symbol.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also currencySymbol().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToCurrencyString(System.Int16,System.String)">
            <summary>
            <para>Returns a localized string representation of value as a currency. If the symbol is provided it is used instead of the default currency symbol.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also currencySymbol().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToCurrencyString(System.UInt16,System.String)">
            <summary>
            <para>Returns a localized string representation of value as a currency. If the symbol is provided it is used instead of the default currency symbol.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also currencySymbol().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToCurrencyString(System.Int32,System.String)">
            <summary>
            <para>Returns a localized string representation of value as a currency. If the symbol is provided it is used instead of the default currency symbol.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also currencySymbol().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToCurrencyString(System.UInt32,System.String)">
            <summary>
            <para>Returns a localized string representation of value as a currency. If the symbol is provided it is used instead of the default currency symbol.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also currencySymbol().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToCurrencyString(System.Double,System.String)">
            <summary>
            <para>Returns a localized string representation of value as a currency. If the symbol is provided it is used instead of the default currency symbol.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also currencySymbol().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToCurrencyString(System.Single,System.String)">
            <summary>
            <para>Returns a localized string representation of value as a currency. If the symbol is provided it is used instead of the default currency symbol.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also currencySymbol().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToDate(System.String,QtCore.QLocale.FormatType)">
            <summary>
            <para>Parses the date string given in string and returns the date. The format of the date string is chosen according to the format parameter (see dateFormat()).</para>
            <para>If the date could not be parsed, returns an invalid date.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also dateFormat(), toTime(), toDateTime(), and QDate::fromString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToDate(System.String,System.String)">
            <summary>
            <para>Parses the date string given in string and returns the date. See QDate::fromString() for information on the expressions that can be used with this function.</para>
            <para>This function searches month names and the names of the days of the week in the current locale.</para>
            <para>If the date could not be parsed, returns an invalid date.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also dateFormat(), toTime(), toDateTime(), and QDate::fromString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToDateTime(System.String,QtCore.QLocale.FormatType)">
            <summary>
            <para>Parses the date/time string given in string and returns the time. The format of the date/time string is chosen according to the format parameter (see dateTimeFormat()).</para>
            <para>If the string could not be parsed, returns an invalid QDateTime.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also dateTimeFormat(), toTime(), toDate(), and QDateTime::fromString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToDateTime(System.String,System.String)">
            <summary>
            <para>Parses the date/time string given in string and returns the time. See QDateTime::fromString() for information on the expressions that can be used with this function.</para>
            <para>Note: The month and day names used must be given in the user's local language.</para>
            <para>If the string could not be parsed, returns an invalid QDateTime.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also dateTimeFormat(), toTime(), toDate(), and QDateTime::fromString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToDouble(System.String)">
            <summary>
            <para>Returns the double represented by the localized string s, or 0.0 if the conversion failed.</para>
            <para>If ok is not 0, reports failure by setting *ok to false and success by setting *ok to true.</para>
            <para>Unlike QString::toDouble(), this function does not fall back to the &quot;C&quot; locale if the string cannot be interpreted in this locale.</para>
            <para> bool ok;</para>
            <para> double d;</para>
            <para></para>
            <para> QLocale c(QLocale::C);</para>
            <para> d = c.toDouble( &quot;1234.56&quot;, &amp;ok );  // ok == true, d == 1234.56</para>
            <para> d = c.toDouble( &quot;1,234.56&quot;, &amp;ok ); // ok == true, d == 1234.56</para>
            <para> d = c.toDouble( &quot;1234,56&quot;, &amp;ok );  // ok == false</para>
            <para></para>
            <para> QLocale german(QLocale::German);</para>
            <para> d = german.toDouble( &quot;1234,56&quot;, &amp;ok );  // ok == true, d == 1234.56</para>
            <para> d = german.toDouble( &quot;1.234,56&quot;, &amp;ok ); // ok == true, d == 1234.56</para>
            <para> d = german.toDouble( &quot;1234.56&quot;, &amp;ok );  // ok == false</para>
            <para></para>
            <para> d = german.toDouble( &quot;1.234&quot;, &amp;ok );    // ok == true, d == 1234.0</para>
            <para>Notice that the last conversion returns 1234.0, because '.' is the thousands group separator in the German locale.</para>
            <para>This function ignores leading and trailing whitespace.</para>
            <para>See also toFloat(), toInt(), and toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToDouble(System.String,System.Boolean@)">
            <summary>
            <para>Returns the double represented by the localized string s, or 0.0 if the conversion failed.</para>
            <para>If ok is not 0, reports failure by setting *ok to false and success by setting *ok to true.</para>
            <para>Unlike QString::toDouble(), this function does not fall back to the &quot;C&quot; locale if the string cannot be interpreted in this locale.</para>
            <para> bool ok;</para>
            <para> double d;</para>
            <para></para>
            <para> QLocale c(QLocale::C);</para>
            <para> d = c.toDouble( &quot;1234.56&quot;, &amp;ok );  // ok == true, d == 1234.56</para>
            <para> d = c.toDouble( &quot;1,234.56&quot;, &amp;ok ); // ok == true, d == 1234.56</para>
            <para> d = c.toDouble( &quot;1234,56&quot;, &amp;ok );  // ok == false</para>
            <para></para>
            <para> QLocale german(QLocale::German);</para>
            <para> d = german.toDouble( &quot;1234,56&quot;, &amp;ok );  // ok == true, d == 1234.56</para>
            <para> d = german.toDouble( &quot;1.234,56&quot;, &amp;ok ); // ok == true, d == 1234.56</para>
            <para> d = german.toDouble( &quot;1234.56&quot;, &amp;ok );  // ok == false</para>
            <para></para>
            <para> d = german.toDouble( &quot;1.234&quot;, &amp;ok );    // ok == true, d == 1234.0</para>
            <para>Notice that the last conversion returns 1234.0, because '.' is the thousands group separator in the German locale.</para>
            <para>This function ignores leading and trailing whitespace.</para>
            <para>See also toFloat(), toInt(), and toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToFloat(System.String)">
            <summary>
            <para>Returns the float represented by the localized string s, or 0.0 if the conversion failed.</para>
            <para>If ok is not 0, reports failure by setting *ok to false and success by setting *ok to true.</para>
            <para>This function ignores leading and trailing whitespace.</para>
            <para>See also toDouble(), toInt(), and toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToFloat(System.String,System.Boolean@)">
            <summary>
            <para>Returns the float represented by the localized string s, or 0.0 if the conversion failed.</para>
            <para>If ok is not 0, reports failure by setting *ok to false and success by setting *ok to true.</para>
            <para>This function ignores leading and trailing whitespace.</para>
            <para>See also toDouble(), toInt(), and toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToInt(System.String)">
            <summary>
            <para>Returns the int represented by the localized string s, using base base. If base is 0 the base is determined automatically using the following rules: If the string begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>If the conversion fails the function returns 0.</para>
            <para>If ok is not 0, failure is reported by setting *ok to false, and success by setting *ok to true.</para>
            <para>This function ignores leading and trailing whitespace.</para>
            <para>See also toUInt() and toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToInt(System.String,System.Boolean@,System.Int32)">
            <summary>
            <para>Returns the int represented by the localized string s, using base base. If base is 0 the base is determined automatically using the following rules: If the string begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>If the conversion fails the function returns 0.</para>
            <para>If ok is not 0, failure is reported by setting *ok to false, and success by setting *ok to true.</para>
            <para>This function ignores leading and trailing whitespace.</para>
            <para>See also toUInt() and toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToLongLong(System.String)">
            <summary>
            <para>Returns the long long int represented by the localized string s, using base base. If base is 0 the base is determined automatically using the following rules: If the string begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>If the conversion fails the function returns 0.</para>
            <para>If ok is not 0, failure is reported by setting *ok to false, and success by setting *ok to true.</para>
            <para>This function ignores leading and trailing whitespace.</para>
            <para>See also toInt(), toULongLong(), toDouble(), and toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToLongLong(System.String,System.Boolean@,System.Int32)">
            <summary>
            <para>Returns the long long int represented by the localized string s, using base base. If base is 0 the base is determined automatically using the following rules: If the string begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>If the conversion fails the function returns 0.</para>
            <para>If ok is not 0, failure is reported by setting *ok to false, and success by setting *ok to true.</para>
            <para>This function ignores leading and trailing whitespace.</para>
            <para>See also toInt(), toULongLong(), toDouble(), and toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToLower(System.String)">
            <summary>
            <para>Returns a lowercase copy of str.</para>
            <para>This function was introduced in Qt 4.8.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToShort(System.String)">
            <summary>
            <para>Returns the short int represented by the localized string s, using base base. If base is 0 the base is determined automatically using the following rules: If the string begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>If the conversion fails the function returns 0.</para>
            <para>If ok is not 0, failure is reported by setting *ok to false, and success by setting *ok to true.</para>
            <para>This function ignores leading and trailing whitespace.</para>
            <para>See also toUShort() and toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToShort(System.String,System.Boolean@,System.Int32)">
            <summary>
            <para>Returns the short int represented by the localized string s, using base base. If base is 0 the base is determined automatically using the following rules: If the string begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>If the conversion fails the function returns 0.</para>
            <para>If ok is not 0, failure is reported by setting *ok to false, and success by setting *ok to true.</para>
            <para>This function ignores leading and trailing whitespace.</para>
            <para>See also toUShort() and toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToString(QtCore.QDate,System.String)">
            <summary>
            <para>Returns a localized string representation of the given date in the specified format. If format is an empty string, an empty string is returned.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToString(QtCore.QDate,QtCore.QLocale.FormatType)">
            <summary>
            <para>Returns a localized string representation of the given date according to the specified format.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToString(QtCore.QTime,System.String)">
            <summary>
            <para>Returns a localized string representation of the given time according to the specified format. If format is an empty string, an empty string is returned.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToString(QtCore.QTime,QtCore.QLocale.FormatType)">
            <summary>
            <para>Returns a localized string representation of the given time in the specified format.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToString(QtCore.QDateTime,QtCore.QLocale.FormatType)">
            <summary>
            <para>Returns a localized string representation of the given dateTime according to the specified format.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToString(QtCore.QDateTime,System.String)">
            <summary>
            <para>Returns a localized string representation of the given dateTime according to the specified format. If format is an empty string, an empty string is returned.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToString(System.Int64)">
            <summary>
            <para>Returns a localized string representation of i.</para>
            <para>See also toLongLong().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToString(System.UInt64)">
            <summary>
            <para>Returns a localized string representation of i.</para>
            <para>See also toLongLong().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToString(System.Int16)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>See also toShort().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToString(System.UInt16)">
            <summary>
            <para>Returns a localized string representation of i.</para>
            <para>See also toLongLong().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToString(System.Int32)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>See also toInt().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToString(System.UInt32)">
            <summary>
            <para>Returns a localized string representation of i.</para>
            <para>See also toLongLong().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToString(System.Double)">
            <summary>
            <para>Returns a localized string representation of i.</para>
            <para>See also toLongLong().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToString(System.Single)">
            <summary>
            <para>Returns a localized string representation of i.</para>
            <para>See also toLongLong().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToString(System.Double,System.SByte,System.Int32)">
            <summary>
            <para>Returns a localized string representation of i.</para>
            <para>See also toLongLong().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToString(System.Single,System.SByte,System.Int32)">
            <summary>
            <para>Returns a localized string representation of i.</para>
            <para>See also toLongLong().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToTime(System.String,QtCore.QLocale.FormatType)">
            <summary>
            <para>Parses the time string given in string and returns the time. The format of the time string is chosen according to the format parameter (see timeFormat()).</para>
            <para>If the time could not be parsed, returns an invalid time.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also timeFormat(), toDate(), toDateTime(), and QTime::fromString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToTime(System.String,System.String)">
            <summary>
            <para>Parses the time string given in string and returns the time. See QTime::fromString() for information on what is a valid format string.</para>
            <para>If the time could not be parsed, returns an invalid time.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also timeFormat(), toDate(), toDateTime(), and QTime::fromString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToUInt(System.String)">
            <summary>
            <para>Returns the unsigned int represented by the localized string s, using base base. If base is 0 the base is determined automatically using the following rules: If the string begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>If the conversion fails the function returns 0.</para>
            <para>If ok is not 0, failure is reported by setting *ok to false, and success by setting *ok to true.</para>
            <para>This function ignores leading and trailing whitespace.</para>
            <para>See also toInt() and toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToUInt(System.String,System.Boolean@,System.Int32)">
            <summary>
            <para>Returns the unsigned int represented by the localized string s, using base base. If base is 0 the base is determined automatically using the following rules: If the string begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>If the conversion fails the function returns 0.</para>
            <para>If ok is not 0, failure is reported by setting *ok to false, and success by setting *ok to true.</para>
            <para>This function ignores leading and trailing whitespace.</para>
            <para>See also toInt() and toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToULongLong(System.String)">
            <summary>
            <para>Returns the unsigned long long int represented by the localized string s, using base base. If base is 0 the base is determined automatically using the following rules: If the string begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>If the conversion fails the function returns 0.</para>
            <para>If ok is not 0, failure is reported by setting *ok to false, and success by setting *ok to true.</para>
            <para>This function ignores leading and trailing whitespace.</para>
            <para>See also toLongLong(), toInt(), toDouble(), and toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToULongLong(System.String,System.Boolean@,System.Int32)">
            <summary>
            <para>Returns the unsigned long long int represented by the localized string s, using base base. If base is 0 the base is determined automatically using the following rules: If the string begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>If the conversion fails the function returns 0.</para>
            <para>If ok is not 0, failure is reported by setting *ok to false, and success by setting *ok to true.</para>
            <para>This function ignores leading and trailing whitespace.</para>
            <para>See also toLongLong(), toInt(), toDouble(), and toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToUShort(System.String)">
            <summary>
            <para>Returns the unsigned short int represented by the localized string s, using base base. If base is 0 the base is determined automatically using the following rules: If the string begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>If the conversion fails the function returns 0.</para>
            <para>If ok is not 0, failure is reported by setting *ok to false, and success by setting *ok to true.</para>
            <para>This function ignores leading and trailing whitespace.</para>
            <para>See also toShort() and toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToUShort(System.String,System.Boolean@,System.Int32)">
            <summary>
            <para>Returns the unsigned short int represented by the localized string s, using base base. If base is 0 the base is determined automatically using the following rules: If the string begins with &quot;0x&quot;, it is assumed to be hexadecimal; if it begins with &quot;0&quot;, it is assumed to be octal; otherwise it is assumed to be decimal.</para>
            <para>If the conversion fails the function returns 0.</para>
            <para>If ok is not 0, failure is reported by setting *ok to false, and success by setting *ok to true.</para>
            <para>This function ignores leading and trailing whitespace.</para>
            <para>See also toShort() and toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ToUpper(System.String)">
            <summary>
            <para>Returns an uppercase copy of str.</para>
            <para>This function was introduced in Qt 4.8.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.UiLanguages">
            <summary>
            <para>Returns an ordered list of locale names for translation purposes in preference order.</para>
            <para>The return value represents locale names that the user expects to see the UI translation in.</para>
            <para>Most like you do not need to use this function directly, but just pass the QLocale object to the QTranslator::load() function.</para>
            <para>The first item in the list is the most preferred one.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also QTranslator and bcp47Name().</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.Weekdays">
            <summary>
            <para>Returns a list of days that are considered weekdays according to the current locale.</para>
            <para>This function was introduced in Qt 4.8.</para>
            </summary>
        </member>
        <member name="M:QtCore.QLocale.ZeroDigit">
            <summary>
            <para>Returns the zero digit character of this locale.</para>
            <para>This function was introduced in Qt 4.1.</para>
            </summary>
        </member>
        <member name="P:QtCore.QLocale.NumberOptions">
            <summary>
            <para>Returns the options related to number conversions for this QLocale instance.</para>
            <para>By default, no options are set for the standard locales.</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>Sets the options related to number conversions for this QLocale instance.</para>
            <para>This function was introduced in Qt 4.2.</para>
            </summary>
        </member>
        <member name="T:QtCore.QLocale.Country">
            <summary>
            <para>This enumerated type is used to specify a country.</para>
            <para>See also country() and countryToString().</para>
            </summary>
        </member>
        <member name="T:QtCore.QLocale.CurrencySymbolFormat">
            <summary>
            <para>Specifies the format of the currency symbol.</para>
            <para>This enum was introduced or modified in Qt 4.8.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLocale.CurrencySymbolFormat.CurrencyDisplayName">
            <summary>
            <para>A user readable name of the currency.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLocale.CurrencySymbolFormat.CurrencyIsoCode">
            <summary>
            <para>A ISO-4217 code of the currency.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLocale.CurrencySymbolFormat.CurrencySymbol">
            <summary>
            <para>A currency symbol.</para>
            </summary>
        </member>
        <member name="T:QtCore.QLocale.FormatType">
            <summary>
            <para>This enum describes the types of format that can be used when converting QDate and QTime objects to strings.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLocale.FormatType.LongFormat">
            <summary>
            <para>The long version of day and month names; for example, returning &quot;January&quot; as a month name.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLocale.FormatType.NarrowFormat">
            <summary>
            <para>A special version of day and month names for use when space is limited; for example, returning &quot;J&quot; as a month name. Note that the narrow format might contain the same text for different months and days or it can even be an empty string if the locale doesn't support narrow names, so you should avoid using it for date formatting. Also, for the system locale this format is the same as ShortFormat.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLocale.FormatType.ShortFormat">
            <summary>
            <para>The short version of day and month names; for example, returning &quot;Jan&quot; as a month name.</para>
            </summary>
        </member>
        <member name="T:QtCore.QLocale.Language">
            <summary>
            <para>This enumerated type is used to specify a language.</para>
            <para>See also language() and languageToString().</para>
            </summary>
        </member>
        <member name="F:QtCore.QLocale.Language.C">
            <summary>
            <para>The &quot;C&quot; locale is identical in behavior to English/UnitedStates.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLocale.Language.Nynorsk">
            <summary>
            <para>Obsolete, please use NorwegianNynorsk</para>
            </summary>
        </member>
        <member name="T:QtCore.QLocale.MeasurementSystem">
            <summary>
            <para>This enum defines which units are used for measurement.</para>
            <para>This enum was introduced or modified in Qt 4.4.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLocale.MeasurementSystem.ImperialSystem">
            <summary>
            <para>This value indicates imperial units, such as inches and miles. There are several distinct imperial systems in the world; this value stands for the official United States imperial units.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLocale.MeasurementSystem.MetricSystem">
            <summary>
            <para>This value indicates metric units, such as meters, centimeters and millimeters.</para>
            </summary>
        </member>
        <member name="T:QtCore.QLocale.NumberOption">
            <summary>
            <para>This enum defines a set of options for number-to-string and string-to-number conversions. They can be retrieved with numberOptions() and set with setNumberOptions().</para>
            <para></para>
            <para>See also setNumberOptions() and numberOptions().</para>
            </summary>
        </member>
        <member name="F:QtCore.QLocale.NumberOption.OmitGroupSeparator">
            <summary>
            <para>If this option is set, the number-to-string functions will not insert group separators in their return values. The default is to insert group separators.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLocale.NumberOption.RejectGroupSeparator">
            <summary>
            <para>If this option is set, the string-to-number functions will fail if they encounter group separators in their input. The default is to accept numbers containing correctly placed group separators.</para>
            </summary>
        </member>
        <member name="T:QtCore.QLocale.QuotationStyle">
            <summary>
            <para>This enum defines a set of possible styles for locale specific quotation.</para>
            <para>This enum was introduced or modified in Qt 4.8.</para>
            <para>See also quoteString().</para>
            </summary>
        </member>
        <member name="F:QtCore.QLocale.QuotationStyle.AlternateQuotation">
            <summary>
            <para>If this option is set, the alternate quotation marks will be used to quote strings.</para>
            </summary>
        </member>
        <member name="F:QtCore.QLocale.QuotationStyle.StandardQuotation">
            <summary>
            <para>If this option is set, the standard quotation marks will be used to quote strings.</para>
            </summary>
        </member>
        <member name="T:QtCore.QLocale.Script">
            <summary>
            <para>This enumerated type is used to specify a script.</para>
            <para>This enum was introduced or modified in Qt 4.8.</para>
            <para>See also script(), scriptToString(), and languageToString().</para>
            </summary>
        </member>
        <member name="F:QtCore.QLocale.Script.SimplifiedChineseScript">
            <summary>
            <para>Same as SimplifiedHanScript</para>
            </summary>
        </member>
        <member name="F:QtCore.QLocale.Script.SimplifiedHanScript">
            <summary>
            <para>Same as SimplifiedChineseScript</para>
            </summary>
        </member>
        <member name="F:QtCore.QLocale.Script.TraditionalChineseScript">
            <summary>
            <para>Same as TraditionalHanScript</para>
            </summary>
        </member>
        <member name="F:QtCore.QLocale.Script.TraditionalHanScript">
            <summary>
            <para>Same as TraditionalChineseScript</para>
            </summary>
        </member>
        <member name="T:QtCore.QMargins">
            <summary>
            The QMargins class defines the four margins of a rectangle.
            </summary>
            <remarks>
            <para></para>
            <para>QMargin defines a set of four margins; left, top, right and bottom, that describe the size of the borders surrounding a rectangle.</para>
            <para>The isNull() function returns true only if all margins are set to zero.</para>
            <para>QMargin objects can be streamed as well as compared.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QMargins.#ctor">
            <summary>
            <para>Constructs a margins object with all margins set to 0.</para>
            <para>See also isNull().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMargins.#ctor(QtCore.QMargins)">
            <summary>
            <para>Constructs a margins object with all margins set to 0.</para>
            <para>See also isNull().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMargins.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            <para>Constructs margins with the given left, top, right, bottom</para>
            <para>See also setLeft(), setRight(), setTop(), and setBottom().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMargins.IsNull">
            <summary>
            <para>Returns true if all margins are is 0; otherwise returns false.</para>
            </summary>
        </member>
        <member name="P:QtCore.QMargins.Bottom">
            <summary>
            <para>Returns the bottom margin.</para>
            <para>Sets the bottom margin to bottom.</para>
            </summary>
        </member>
        <member name="P:QtCore.QMargins.Left">
            <summary>
            <para>Returns the left margin.</para>
            <para>Sets the left margin to left.</para>
            </summary>
        </member>
        <member name="P:QtCore.QMargins.Right">
            <summary>
            <para>Returns the right margin.</para>
            <para>Sets the right margin to right.</para>
            </summary>
        </member>
        <member name="P:QtCore.QMargins.Top">
            <summary>
            <para>Returns the top margin.</para>
            <para>Sets the Top margin to Top.</para>
            </summary>
        </member>
        <member name="T:QtCore.QMetaClassInfo">
            <summary>
            The QMetaClassInfo class provides additional information about a class.
            </summary>
            <remarks>
            <para></para>
            <para>Class information items are simple name--value pairs that are specified using Q_CLASSINFO() in the source code. The information can be retrieved using name() and value(). For example:</para>
            <para> class MyClass</para>
            <para> {</para>
            <para>     Q_OBJECT</para>
            <para>     Q_CLASSINFO(&amp;quot;author&amp;quot;, &amp;quot;Sabrina Schweinsteiger&amp;quot;)</para>
            <para>     Q_CLASSINFO(&amp;quot;url&amp;quot;, &amp;quot;http://doc.moosesoft.co.uk/1.0/&amp;quot;)</para>
            <para></para>
            <para> public:</para>
            <para>     ...</para>
            <para> };</para>
            <para>This mechanism is free for you to use in your Qt applications. Qt doesn't use it for any of its classes.</para>
            <para></para>
            <para>See also QMetaObject.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QMetaClassInfo.Name">
            <summary>
            <para>Returns the name of this item.</para>
            <para>See also value().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaClassInfo.Value">
            <summary>
            <para>Returns the value of this item.</para>
            <para>See also name().</para>
            </summary>
        </member>
        <member name="T:QtCore.QMetaEnum">
            <summary>
            The QMetaEnum class provides meta-data about an enumerator.
            </summary>
            <remarks>
            <para></para>
            <para>Use name() for the enumerator's name. The enumerator's keys (names of each enumerated item) are returned by key(); use keyCount() to find the number of keys. isFlag() returns whether the enumerator is meant to be used as a flag, meaning that its values can be combined using the OR operator.</para>
            <para>The conversion functions keyToValue(), valueToKey(), keysToValue(), and valueToKeys() allow conversion between the integer representation of an enumeration or set value and its literal representation. The scope() function returns the class scope this enumerator was declared in.</para>
            <para></para>
            <para>See also QMetaObject, QMetaMethod, and QMetaProperty.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QMetaEnum.IsFlag">
            <summary>
            <para>Returns true if this enumerator is used as a flag; otherwise returns false.</para>
            <para>When used as flags, enumerators can be combined using the OR operator.</para>
            <para>See also keysToValue() and valueToKeys().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaEnum.IsValid">
            <summary>
            <para>Returns true if this enum is valid (has a name); otherwise returns false.</para>
            <para>See also name().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaEnum.Key(System.Int32)">
            <summary>
            <para>Returns the key with the given index, or 0 if no such key exists.</para>
            <para>See also keyCount(), value(), and valueToKey().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaEnum.KeyCount">
            <summary>
            <para>Returns the number of keys.</para>
            <para>See also key().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaEnum.KeyToValue(System.String)">
            <summary>
            <para>Returns the integer value of the given enumeration key, or -1 if key is not defined.</para>
            <para>For flag types, use keysToValue().</para>
            <para>See also valueToKey(), isFlag(), and keysToValue().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaEnum.KeysToValue(System.String)">
            <summary>
            <para>Returns the value derived from combining together the values of the keys using the OR operator, or -1 if keys is not defined. Note that the strings in keys must be '|'-separated.</para>
            <para>See also isFlag(), valueToKey(), and valueToKeys().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaEnum.Name">
            <summary>
            <para>Returns the name of the enumerator (without the scope).</para>
            <para>For example, the Qt::AlignmentFlag enumeration has AlignmentFlag as the name and Qt as the scope.</para>
            <para>See also isValid() and scope().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaEnum.Scope">
            <summary>
            <para>Returns the scope this enumerator was declared in.</para>
            <para>For example, the Qt::AlignmentFlag enumeration has Qt as the scope and AlignmentFlag as the name.</para>
            <para>See also name().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaEnum.Value(System.Int32)">
            <summary>
            <para>Returns the value with the given index; or returns -1 if there is no such value.</para>
            <para>See also keyCount(), key(), and keyToValue().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaEnum.ValueToKey(System.Int32)">
            <summary>
            <para>Returns the string that is used as the name of the given enumeration value, or 0 if value is not defined.</para>
            <para>For flag types, use valueToKeys().</para>
            <para>See also isFlag() and valueToKeys().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaEnum.ValueToKeys(System.Int32)">
            <summary>
            <para>Returns a byte array of '|'-separated keys that represents the given value.</para>
            <para>See also isFlag(), valueToKey(), and keysToValue().</para>
            </summary>
        </member>
        <member name="T:QtCore.QMetaMethod">
            <summary>
            The QMetaMethod class provides meta-data about a member function.
            </summary>
            <remarks>
            <para></para>
            <para>A QMetaMethod has a methodType(), a signature(), a list of parameterTypes() and parameterNames(), a return typeName(), a tag(), and an access() specifier. You can use invoke() to invoke the method on an arbitrary QObject.</para>
            <para>A method will only be registered with the meta-object system if it is a slot, a signal, or declared with the Q_INVOKABLE macro. Constructors can also be registered with Q_INVOKABLE.</para>
            <para></para>
            <para>See also QMetaObject, QMetaEnum, QMetaProperty, and Qt's Property System.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QMetaMethod.access">
            <summary>
            <para>Returns the access specification of this method (private, protected, or public).</para>
            <para>Signals are always protected, meaning that you can only emit them from the class or from a subclass.</para>
            <para>See also methodType().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.QGenericReturnArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.QGenericReturnArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.Qt.ConnectionType)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.Qt.ConnectionType,QtCore.QGenericReturnArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.Qt.ConnectionType,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.Qt.ConnectionType,QtCore.QGenericReturnArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.Qt.ConnectionType,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.Qt.ConnectionType,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.Qt.ConnectionType,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.Qt.ConnectionType,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.Qt.ConnectionType,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.Qt.ConnectionType,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.Qt.ConnectionType,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.Qt.ConnectionType,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.Qt.ConnectionType,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.Qt.ConnectionType,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.Qt.ConnectionType,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.Qt.ConnectionType,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.Qt.ConnectionType,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.Qt.ConnectionType,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.Qt.ConnectionType,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.Qt.ConnectionType,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.Qt.ConnectionType,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Invoke(QtCore.QObject,QtCore.Qt.ConnectionType,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes this method on the object object. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on the connectionType:</para>
            <para></para>
            <para>If connectionType is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If connectionType is Qt::QueuedConnection, a QEvent will be posted and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If connectionType is Qt::AutoConnection, the member is invoked synchronously if object lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of this method call is placed in returnValue. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to this method call.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>To asynchronously invoke the animateClick() slot on a QPushButton:</para>
            <para> int methodIndex = pushButton-&gt;metaObject()-&gt;indexOfMethod(&quot;animateClick()&quot;);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(pushButton, Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call QMetaMethod::invoke().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QByteArray normalizedSignature = QMetaObject::normalizedSignature(&quot;compute(QString, int, double)&quot;);</para>
            <para> int methodIndex = obj-&gt;metaObject()-&gt;indexOfMethod(normalizedSignature);</para>
            <para> QMetaMethod method = metaObject-&gt;method(methodIndex);</para>
            <para> method.invoke(obj,</para>
            <para>               Qt::DirectConnection,</para>
            <para>               Q_RETURN_ARG(QString, retVal),</para>
            <para>               Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>               Q_ARG(int, 42),</para>
            <para>               Q_ARG(double, 9.7));</para>
            <para>QMetaObject::normalizedSignature() is used here to ensure that the format of the signature is what invoke() expects. E.g. extra whitespace is removed.</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>Warning: this method will not test the validity of the arguments: object must be an instance of the class of the QMetaObject of which this QMetaMethod has been constructed with. The arguments must have the same type as the ones expected by the method, else, the behaviour is undefined.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaObject::invokeMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.MethodIndex">
            <summary>
            <para>Returns this method's index.</para>
            <para>This function was introduced in Qt 4.6.</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.methodType">
            <summary>
            <para>Returns the type of this method (signal, slot, or method).</para>
            <para>See also access().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.ParameterNames">
            <summary>
            <para>Returns a list of parameter names.</para>
            <para>See also parameterTypes() and signature().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.ParameterTypes">
            <summary>
            <para>Returns a list of parameter types.</para>
            <para>See also parameterNames() and signature().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Signature">
            <summary>
            <para>Returns the signature of this method (e.g., setValue(double)).</para>
            <para>See also parameterTypes() and parameterNames().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.Tag">
            <summary>
            <para>Returns the tag associated with this method.</para>
            <para>Tags are special macros recognized by moc that make it possible to add extra information about a method.</para>
            <para>Tag information can be added in the following way in the function declaration:</para>
            <para> #define THISISTESTTAG // tag text</para>
            <para> ...</para>
            <para> private slots:</para>
            <para>     THISISTESTTAG void testFunc();</para>
            <para>and the information can be accessed by using:</para>
            <para> MainWindow win;</para>
            <para> win.show();</para>
            <para></para>
            <para> int functionIndex = win.metaObject()-&gt;indexOfSlot(&quot;testFunc()&quot;);</para>
            <para> QMetaMethod mm = metaObject()-&gt;method(functionIndex);</para>
            <para> qDebug() &lt;&lt; mm.tag(); // prints THISISTESTTAG</para>
            <para>For the moment, moc doesn't support any special tags.</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaMethod.TypeName">
            <summary>
            <para>Returns the return type of this method, or an empty string if the return type is void.</para>
            </summary>
        </member>
        <member name="T:QtCore.QMetaMethod.Access">
            <summary>
            <para>This enum describes the access level of a method, following the conventions used in C++.</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaMethod.MethodType.Constructor">
            <summary>
            <para>The function is a constructor.</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaMethod.MethodType.Method">
            <summary>
            <para>The function is a plain member function.</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaMethod.MethodType.Signal">
            <summary>
            <para>The function is a signal.</para>
            </summary>
        </member>
        <member name="F:QtCore.QMetaMethod.MethodType.Slot">
            <summary>
            <para>The function is a slot.</para>
            </summary>
        </member>
        <member name="T:QtCore.QMetaObject">
            <summary>
            The QMetaObject class contains meta-information about Qt objects.
            </summary>
            <remarks>
            <para></para>
            <para>The Qt Meta-Object System in Qt is responsible for the signals and slots inter-object communication mechanism, runtime type information, and the Qt property system. A single QMetaObject instance is created for each QObject subclass that is used in an application, and this instance stores all the meta-information for the QObject subclass. This object is available as QObject::metaObject().</para>
            <para>This class is not normally required for application programming, but it is useful if you write meta-applications, such as scripting engines or GUI builders.</para>
            <para>The functions you are most likely to find useful are these:</para>
            <para></para>
            <para>className() returns the name of a class.</para>
            <para>superClass() returns the superclass's meta-object.</para>
            <para>method() and methodCount() provide information about a class's meta-methods (signals, slots and other invokable member functions).</para>
            <para>enumerator() and enumeratorCount() and provide information about a class's enumerators.</para>
            <para>propertyCount() and property() provide information about a class's properties.</para>
            <para>constructor() and constructorCount() provide information about a class's meta-constructors.</para>
            <para></para>
            <para>The index functions indexOfConstructor(), indexOfMethod(), indexOfEnumerator(), and indexOfProperty() map names of constructors, member functions, enumerators, or properties to indexes in the meta-object. For example, Qt uses indexOfMethod() internally when you connect a signal to a slot.</para>
            <para>Classes can also have a list of name--value pairs of additional class information, stored in QMetaClassInfo objects. The number of pairs is returned by classInfoCount(), single pairs are returned by classInfo(), and you can search for pairs with indexOfClassInfo().</para>
            <para></para>
            <para>See also QMetaClassInfo, QMetaEnum, QMetaMethod, QMetaProperty, QMetaType, and Meta-Object System.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QMetaObject.CheckConnectArgs(System.String,System.String)">
            <summary>
            <para>Returns true if the signal and method arguments are compatible; otherwise returns false.</para>
            <para>Both signal and method are expected to be normalized.</para>
            <para>See also normalizedSignature().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.ClassInfo(System.Int32)">
            <summary>
            <para>Returns the meta-data for the item of class information with the given index.</para>
            <para>Example:</para>
            <para> class MyClass : public QObject</para>
            <para> {</para>
            <para>     Q_OBJECT</para>
            <para>     Q_CLASSINFO(&quot;author&quot;, &quot;Sabrina Schweinsteiger&quot;)</para>
            <para>     Q_CLASSINFO(&quot;url&quot;, &quot;http://doc.moosesoft.co.uk/1.0/&quot;)</para>
            <para></para>
            <para> public:</para>
            <para>     ...</para>
            <para> };</para>
            <para>See also classInfoCount(), classInfoOffset(), and indexOfClassInfo().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.ClassInfoCount">
            <summary>
            <para>Returns the number of items of class information in this class.</para>
            <para>See also classInfo(), classInfoOffset(), and indexOfClassInfo().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.ClassInfoOffset">
            <summary>
            <para>Returns the class information offset for this class; i.e. the index position of this class's first class information item.</para>
            <para>If the class has no superclasses with class information, the offset is 0; otherwise the offset is the sum of all the class information items in the class's superclasses.</para>
            <para>See also classInfo(), classInfoCount(), and indexOfClassInfo().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.ClassName">
            <summary>
            <para>Returns the class name.</para>
            <para>See also superClass().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.ConnectSlotsByName(QtCore.QObject)">
            <summary>
            <para>Searches recursively for all child objects of the given object, and connects matching signals from them to slots of object that follow the following form:</para>
            <para> void on_&lt;object name&gt;_&lt;signal name&gt;(&lt;signal parameters&gt;);</para>
            <para>Let's assume our object has a child object of type QPushButton with the object name button1. The slot to catch the button's clicked() signal would be:</para>
            <para> void on_button1_clicked();</para>
            <para>See also QObject::setObjectName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.Constructor(System.Int32)">
            <summary>
            <para>Returns the meta-data for the constructor with the given index.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also constructorCount() and newInstance().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.ConstructorCount">
            <summary>
            <para>Returns the number of constructors in this class.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also constructor() and indexOfConstructor().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.Enumerator(System.Int32)">
            <summary>
            <para>Returns the meta-data for the enumerator with the given index.</para>
            <para>See also enumeratorCount(), enumeratorOffset(), and indexOfEnumerator().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.EnumeratorCount">
            <summary>
            <para>Returns the number of enumerators in this class.</para>
            <para>See also enumerator(), enumeratorOffset(), and indexOfEnumerator().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.EnumeratorOffset">
            <summary>
            <para>Returns the enumerator offset for this class; i.e. the index position of this class's first enumerator.</para>
            <para>If the class has no superclasses with enumerators, the offset is 0; otherwise the offset is the sum of all the enumerators in the class's superclasses.</para>
            <para>See also enumerator(), enumeratorCount(), and indexOfEnumerator().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.IndexOfClassInfo(System.String)">
            <summary>
            <para>Finds class information item name and returns its index; otherwise returns -1.</para>
            <para>See also classInfo(), classInfoCount(), and classInfoOffset().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.IndexOfConstructor(System.String)">
            <summary>
            <para>Finds constructor and returns its index; otherwise returns -1.</para>
            <para>Note that the constructor has to be in normalized form, as returned by normalizedSignature().</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also constructor(), constructorCount(), and normalizedSignature().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.IndexOfEnumerator(System.String)">
            <summary>
            <para>Finds enumerator name and returns its index; otherwise returns -1.</para>
            <para>See also enumerator(), enumeratorCount(), and enumeratorOffset().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.IndexOfMethod(System.String)">
            <summary>
            <para>Finds method and returns its index; otherwise returns -1.</para>
            <para>Note that the method has to be in normalized form, as returned by normalizedSignature().</para>
            <para>See also method(), methodCount(), methodOffset(), and normalizedSignature().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.IndexOfProperty(System.String)">
            <summary>
            <para>Finds property name and returns its index; otherwise returns -1.</para>
            <para>See also property(), propertyCount(), and propertyOffset().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.IndexOfSignal(System.String)">
            <summary>
            <para>Finds signal and returns its index; otherwise returns -1.</para>
            <para>This is the same as indexOfMethod(), except that it will return -1 if the method exists but isn't a signal.</para>
            <para>Note that the signal has to be in normalized form, as returned by normalizedSignature().</para>
            <para>See also indexOfMethod(), normalizedSignature(), method(), methodCount(), and methodOffset().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.IndexOfSlot(System.String)">
            <summary>
            <para>Finds slot and returns its index; otherwise returns -1.</para>
            <para>This is the same as indexOfMethod(), except that it will return -1 if the method exists but isn't a slot.</para>
            <para>See also indexOfMethod(), method(), methodCount(), and methodOffset().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.QGenericReturnArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.QGenericReturnArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.Qt.ConnectionType)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.Qt.ConnectionType,QtCore.QGenericReturnArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.Qt.ConnectionType,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.Qt.ConnectionType,QtCore.QGenericReturnArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.Qt.ConnectionType,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.Qt.ConnectionType,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.Qt.ConnectionType,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.Qt.ConnectionType,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.Qt.ConnectionType,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.Qt.ConnectionType,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.Qt.ConnectionType,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.Qt.ConnectionType,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.Qt.ConnectionType,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.Qt.ConnectionType,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.Qt.ConnectionType,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.Qt.ConnectionType,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.Qt.ConnectionType,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.Qt.ConnectionType,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.Qt.ConnectionType,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.Qt.ConnectionType,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.Qt.ConnectionType,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.InvokeMethod(QtCore.QObject,System.String,QtCore.Qt.ConnectionType,QtCore.QGenericReturnArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.</para>
            <para>The invocation can be either synchronous or asynchronous, depending on type:</para>
            <para></para>
            <para>If type is Qt::DirectConnection, the member will be invoked immediately.</para>
            <para>If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.</para>
            <para>If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.</para>
            <para>If type is Qt::AutoConnection, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.</para>
            <para></para>
            <para>The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the member function.</para>
            <para>QGenericArgument and QGenericReturnArgument are internal helper classes. Because signals and slots can be dynamically invoked, you must enclose the arguments using the Q_ARG() and Q_RETURN_ARG() macros. Q_ARG() takes a type name and a const reference of that type; Q_RETURN_ARG() takes a type name and a non-const reference.</para>
            <para>You only need to pass the name of the signal or slot to this function, not the entire signature. For example, to asynchronously invoke the animateClick() slot on a QPushButton, use the following code:</para>
            <para> QMetaObject::invokeMethod(pushButton, &quot;animateClick&quot;,</para>
            <para>                           Qt::QueuedConnection);</para>
            <para>With asynchronous method invocations, the parameters must be of types that are known to Qt's meta-object system, because Qt needs to copy the arguments to store them in an event behind the scenes. If you try to use a queued connection and get the error message</para>
            <para> QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType'</para>
            <para>call qRegisterMetaType() to register the data type before you call invokeMethod().</para>
            <para>To synchronously invoke the compute(QString, int, double) slot on some arbitrary object obj retrieve its return value:</para>
            <para> QString retVal;</para>
            <para> QMetaObject::invokeMethod(obj, &quot;compute&quot;, Qt::DirectConnection,</para>
            <para>                           Q_RETURN_ARG(QString, retVal),</para>
            <para>                           Q_ARG(QString, &quot;sqrt&quot;),</para>
            <para>                           Q_ARG(int, 42),</para>
            <para>                           Q_ARG(double, 9.7));</para>
            <para>If the &quot;compute&quot; slot does not take exactly one QString, one int and one double in the specified order, the call will fail.</para>
            <para>See also Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), and QMetaMethod::invoke().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.Method(System.Int32)">
            <summary>
            <para>Returns the meta-data for the method with the given index.</para>
            <para>See also methodCount(), methodOffset(), and indexOfMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.MethodCount">
            <summary>
            <para>Returns the number of methods known to the meta-object system in this class, including the number of properties provided by each base class. These include signals and slots as well as member functions declared with the Q_INVOKABLE macro.</para>
            <para>Use code like the following to obtain a QStringList containing the methods specific to a given class:</para>
            <para> const QMetaObject* metaObject = obj-&gt;metaObject();</para>
            <para> QStringList methods;</para>
            <para> for(int i = metaObject-&gt;methodOffset(); i &lt; metaObject-&gt;methodCount(); ++i)</para>
            <para>     methods &lt;&lt; QString::fromLatin1(metaObject-&gt;method(i).signature());</para>
            <para>See also method(), methodOffset(), and indexOfMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.MethodOffset">
            <summary>
            <para>Returns the method offset for this class; i.e. the index position of this class's first member function.</para>
            <para>The offset is the sum of all the methods in the class's superclasses (which is always positive since QObject has the deleteLater() slot and a destroyed() signal).</para>
            <para>See also method(), methodCount(), and indexOfMethod().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.NewInstance">
            <summary>
            <para>Constructs a new instance of this class. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the constructor. Returns the new object, or 0 if no suitable constructor is available.</para>
            <para>Note that only constructors that are declared with the Q_INVOKABLE modifier are made available through the meta-object system.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also Q_ARG() and constructor().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.NewInstance(QtCore.QGenericArgument)">
            <summary>
            <para>Constructs a new instance of this class. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the constructor. Returns the new object, or 0 if no suitable constructor is available.</para>
            <para>Note that only constructors that are declared with the Q_INVOKABLE modifier are made available through the meta-object system.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also Q_ARG() and constructor().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.NewInstance(QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Constructs a new instance of this class. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the constructor. Returns the new object, or 0 if no suitable constructor is available.</para>
            <para>Note that only constructors that are declared with the Q_INVOKABLE modifier are made available through the meta-object system.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also Q_ARG() and constructor().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.NewInstance(QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Constructs a new instance of this class. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the constructor. Returns the new object, or 0 if no suitable constructor is available.</para>
            <para>Note that only constructors that are declared with the Q_INVOKABLE modifier are made available through the meta-object system.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also Q_ARG() and constructor().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.NewInstance(QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Constructs a new instance of this class. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the constructor. Returns the new object, or 0 if no suitable constructor is available.</para>
            <para>Note that only constructors that are declared with the Q_INVOKABLE modifier are made available through the meta-object system.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also Q_ARG() and constructor().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.NewInstance(QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Constructs a new instance of this class. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the constructor. Returns the new object, or 0 if no suitable constructor is available.</para>
            <para>Note that only constructors that are declared with the Q_INVOKABLE modifier are made available through the meta-object system.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also Q_ARG() and constructor().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.NewInstance(QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Constructs a new instance of this class. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the constructor. Returns the new object, or 0 if no suitable constructor is available.</para>
            <para>Note that only constructors that are declared with the Q_INVOKABLE modifier are made available through the meta-object system.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also Q_ARG() and constructor().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.NewInstance(QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Constructs a new instance of this class. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the constructor. Returns the new object, or 0 if no suitable constructor is available.</para>
            <para>Note that only constructors that are declared with the Q_INVOKABLE modifier are made available through the meta-object system.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also Q_ARG() and constructor().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.NewInstance(QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Constructs a new instance of this class. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the constructor. Returns the new object, or 0 if no suitable constructor is available.</para>
            <para>Note that only constructors that are declared with the Q_INVOKABLE modifier are made available through the meta-object system.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also Q_ARG() and constructor().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.NewInstance(QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Constructs a new instance of this class. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the constructor. Returns the new object, or 0 if no suitable constructor is available.</para>
            <para>Note that only constructors that are declared with the Q_INVOKABLE modifier are made available through the meta-object system.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also Q_ARG() and constructor().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.NewInstance(QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument,QtCore.QGenericArgument)">
            <summary>
            <para>Constructs a new instance of this class. You can pass up to ten arguments (val0, val1, val2, val3, val4, val5, val6, val7, val8, and val9) to the constructor. Returns the new object, or 0 if no suitable constructor is available.</para>
            <para>Note that only constructors that are declared with the Q_INVOKABLE modifier are made available through the meta-object system.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also Q_ARG() and constructor().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.NormalizedSignature(System.String)">
            <summary>
            <para>Normalizes the signature of the given method.</para>
            <para>Qt uses normalized signatures to decide whether two given signals and slots are compatible. Normalization reduces whitespace to a minimum, moves 'const' to the front where appropriate, removes 'const' from value types and replaces const references with values.</para>
            <para>See also checkConnectArgs() and normalizedType().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.NormalizedType(System.String)">
            <summary>
            <para>Normalizes a type.</para>
            <para>See QMetaObject::normalizedSignature() for a description on how Qt normalizes.</para>
            <para>Example:</para>
            <para> QByteArray normType = QMetaObject::normalizedType(&quot; int    const  *&quot;);</para>
            <para> // normType is now &quot;const int*&quot;</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also normalizedSignature().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.Property(System.Int32)">
            <summary>
            <para>Returns the meta-data for the property with the given index. If no such property exists, a null QMetaProperty is returned.</para>
            <para>See also propertyCount(), propertyOffset(), and indexOfProperty().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.PropertyCount">
            <summary>
            <para>Returns the number of properties in this class, including the number of properties provided by each base class.</para>
            <para>Use code like the following to obtain a QStringList containing the properties specific to a given class:</para>
            <para> const QMetaObject* metaObject = obj-&gt;metaObject();</para>
            <para> QStringList properties;</para>
            <para> for(int i = metaObject-&gt;propertyOffset(); i &lt; metaObject-&gt;propertyCount(); ++i)</para>
            <para>     properties &lt;&lt; QString::fromLatin1(metaObject-&gt;property(i).name());</para>
            <para>See also property(), propertyOffset(), and indexOfProperty().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.PropertyOffset">
            <summary>
            <para>Returns the property offset for this class; i.e. the index position of this class's first property.</para>
            <para>The offset is the sum of all the properties in the class's superclasses (which is always positive since QObject has the name() property).</para>
            <para>See also property(), propertyCount(), and indexOfProperty().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.SuperClass">
            <summary>
            <para>Returns the meta-object of the superclass, or 0 if there is no such object.</para>
            <para>See also className().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaObject.UserProperty">
            <summary>
            <para>Returns the property that has the USER flag set to true.</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also QMetaProperty::isUser().</para>
            </summary>
        </member>
        <member name="T:QtCore.QMetaProperty">
            <summary>
            The QMetaProperty class provides meta-data about a property.
            </summary>
            <remarks>
            <para></para>
            <para>Property meta-data is obtained from an object's meta-object. See QMetaObject::property() and QMetaObject::propertyCount() for details.</para>
            <para></para>
            <para>Property Meta-Data</para>
            <para>A property has a name() and a type(), as well as various attributes that specify its behavior: isReadable(), isWritable(), isDesignable(), isScriptable(), and isStored().</para>
            <para>If the property is an enumeration, isEnumType() returns true; if the property is an enumeration that is also a flag (i.e. its values can be combined using the OR operator), isEnumType() and isFlagType() both return true. The enumerator for these types is available from enumerator().</para>
            <para>The property's values are set and retrieved with read(), write(), and reset(); they can also be changed through QObject's set and get functions. See QObject::setProperty() and QObject::property() for details.</para>
            <para></para>
            <para>Copying and Assignment</para>
            <para>QMetaProperty objects can be copied by value. However, each copy will refer to the same underlying property meta-data.</para>
            <para></para>
            <para>See also QMetaObject, QMetaEnum, QMetaMethod, and Qt's Property System.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QMetaProperty.Enumerator">
            <summary>
            <para>Returns the enumerator if this property's type is an enumerator type; otherwise the returned value is undefined.</para>
            <para>See also isEnumType() and isFlagType().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaProperty.HasNotifySignal">
            <summary>
            <para>Returns true if this property has a corresponding change notify signal; otherwise returns false.</para>
            <para>See also notifySignal().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaProperty.IsConstant">
            <summary>
            <para>Returns true if the property is constant; otherwise returns false.</para>
            <para>A property is constant if the Q_PROPERTY()'s CONSTANT attribute is set.</para>
            <para>This function was introduced in Qt 4.6.</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaProperty.IsDesignable(QtCore.QObject)">
            <summary>
            <para>Returns true if this property is designable for the given object; otherwise returns false.</para>
            <para>If no object is given, the function returns false if the Q_PROPERTY()'s DESIGNABLE attribute is false; otherwise returns true (if the attribute is true or is a function or expression).</para>
            <para>See also isScriptable() and isStored().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaProperty.IsEditable(QtCore.QObject)">
            <summary>
            <para>Returns true if the property is editable for the given object; otherwise returns false.</para>
            <para>If no object is given, the function returns false if the Q_PROPERTY()'s EDITABLE attribute is false; otherwise returns true (if the attribute is true or is a function or expression).</para>
            <para>See also isDesignable(), isScriptable(), and isStored().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaProperty.IsEnumType">
            <summary>
            <para>Returns true if the property's type is an enumeration value; otherwise returns false.</para>
            <para>See also enumerator() and isFlagType().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaProperty.IsFinal">
            <summary>
            <para>Returns true if the property is final; otherwise returns false.</para>
            <para>A property is final if the Q_PROPERTY()'s FINAL attribute is set.</para>
            <para>This function was introduced in Qt 4.6.</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaProperty.IsFlagType">
            <summary>
            <para>Returns true if the property's type is an enumeration value that is used as a flag; otherwise returns false.</para>
            <para>Flags can be combined using the OR operator. A flag type is implicitly also an enum type.</para>
            <para>See also isEnumType(), enumerator(), and QMetaEnum::isFlag().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaProperty.IsReadable">
            <summary>
            <para>Returns true if this property is readable; otherwise returns false.</para>
            <para>See also isWritable(), read(), and isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaProperty.IsResettable">
            <summary>
            <para>Returns true if this property can be reset to a default value; otherwise returns false.</para>
            <para>See also reset().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaProperty.IsScriptable(QtCore.QObject)">
            <summary>
            <para>Returns true if the property is scriptable for the given object; otherwise returns false.</para>
            <para>If no object is given, the function returns false if the Q_PROPERTY()'s SCRIPTABLE attribute is false; otherwise returns true (if the attribute is true or is a function or expression).</para>
            <para>See also isDesignable() and isStored().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaProperty.IsStored(QtCore.QObject)">
            <summary>
            <para>Returns true if the property is stored for object; otherwise returns false.</para>
            <para>If no object is given, the function returns false if the Q_PROPERTY()'s STORED attribute is false; otherwise returns true (if the attribute is true or is a function or expression).</para>
            <para>See also isDesignable() and isScriptable().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaProperty.IsUser(QtCore.QObject)">
            <summary>
            <para>Returns true if this property is designated as the USER property, i.e., the one that the user can edit for object or that is significant in some other way. Otherwise it returns false. e.g., the text property is the USER editable property of a QLineEdit.</para>
            <para>If object is null, the function returns false if the Q_PROPERTY()'s USER attribute is false. Otherwise it returns true.</para>
            <para>See also QMetaObject::userProperty(), isDesignable(), and isScriptable().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaProperty.IsValid">
            <summary>
            <para>Returns true if this property is valid (readable); otherwise returns false.</para>
            <para>See also isReadable().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaProperty.IsWritable">
            <summary>
            <para>Returns true if this property is writable; otherwise returns false.</para>
            <para>See also isReadable() and write().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaProperty.Name">
            <summary>
            <para>Returns this property's name.</para>
            <para>See also type() and typeName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaProperty.NotifySignal">
            <summary>
            <para>Returns the QMetaMethod instance of the property change notifying signal if one was specified, otherwise returns an invalid QMetaMethod.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also hasNotifySignal().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaProperty.NotifySignalIndex">
            <summary>
            <para>Returns the index of the property change notifying signal if one was specified, otherwise returns -1.</para>
            <para>This function was introduced in Qt 4.6.</para>
            <para>See also hasNotifySignal().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaProperty.PropertyIndex">
            <summary>
            <para>Returns this property's index.</para>
            <para>This function was introduced in Qt 4.6.</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaProperty.Read(QtCore.QObject)">
            <summary>
            <para>Reads the property's value from the given object. Returns the value if it was able to read it; otherwise returns an invalid variant.</para>
            <para>See also write(), reset(), and isReadable().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaProperty.Reset(QtCore.QObject)">
            <summary>
            <para>Resets the property for the given object with a reset method. Returns true if the reset worked; otherwise returns false.</para>
            <para>Reset methods are optional; only a few properties support them.</para>
            <para>See also read() and write().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaProperty.Type">
            <summary>
            <para>Returns this property's type. The return value is one of the values of the QVariant::Type enumeration.</para>
            <para>See also userType(), typeName(), and name().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaProperty.TypeName">
            <summary>
            <para>Returns the name of this property's type.</para>
            <para>See also type() and name().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaProperty.UserType">
            <summary>
            <para>Returns this property's user type. The return value is one of the values that are registered with QMetaType, or 0 if the type is not registered.</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also type(), QMetaType, and typeName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMetaProperty.Write(QtCore.QObject,System.Object)">
            <summary>
            <para>Writes value as the property's value to the given object. Returns true if the write succeeded; otherwise returns false.</para>
            <para>See also read(), reset(), and isWritable().</para>
            </summary>
        </member>
        <member name="T:QtCore.QMimeData">
            <summary>
            The QMimeData class provides a container for data that records information about its MIME type.
            </summary>
            <remarks>
            <para></para>
            <para>QMimeData is used to describe information that can be stored in the clipboard, and transferred via the drag and drop mechanism. QMimeData objects associate the data that they hold with the corresponding MIME types to ensure that information can be safely transferred between applications, and copied around within the same application.</para>
            <para>QMimeData objects are usually created using new and supplied to QDrag or QClipboard objects. This is to enable Qt to manage the memory that they use.</para>
            <para>A single QMimeData object can store the same data using several different formats at the same time. The formats() function returns a list of the available formats in order of preference. The data() function returns the raw data associated with a MIME type, and setData() allows you to set the data for a MIME type.</para>
            <para>For the most common MIME types, QMimeData provides convenience functions to access the data:</para>
            <para></para>
            <para>TesterGetterSetterMIME Types</para>
            <para>hasText()	text()	setText()	text/plain</para>
            <para>hasHtml()	html()	setHtml()	text/html</para>
            <para>hasUrls()	urls()	setUrls()	text/uri-list</para>
            <para>hasImage()	imageData()	setImageData()	image/ *</para>
            <para>hasColor()	colorData()	setColorData()	application/x-color</para>
            <para></para>
            <para>For example, if your write a widget that accepts URL drags, you would end up writing code like this:</para>
            <para> void MyWidget::dragEnterEvent(QDragEnterEvent *event)</para>
            <para> {</para>
            <para>     if (event-&amp;gt;mimeData()-&amp;gt;hasUrls())</para>
            <para>         event-&amp;gt;acceptProposedAction();</para>
            <para> }</para>
            <para></para>
            <para> void MyWidget::dropEvent(QDropEvent *event)</para>
            <para> {</para>
            <para>     if (event-&amp;gt;mimeData()-&amp;gt;hasUrls()) {</para>
            <para>         foreach (QUrl url, event-&amp;gt;mimeData()-&amp;gt;urls()) {</para>
            <para>             ...</para>
            <para>         }</para>
            <para>     }</para>
            <para> }</para>
            <para>There are three approaches for storing custom data in a QMimeData object:</para>
            <para></para>
            <para>Custom data can be stored directly in a QMimeData object as a QByteArray using setData(). For example: QByteArray csvData = ...;</para>
            <para></para>
            <para> QMimeData *mimeData = new QMimeData;</para>
            <para> mimeData-&amp;gt;setData(&amp;quot;text/csv&amp;quot;, csvData);</para>
            <para></para>
            <para>We can subclass QMimeData and reimplement hasFormat(), formats(), and retrieveData().</para>
            <para>If the drag and drop operation occurs within a single application, we can subclass QMimeData and add extra data in it, and use a qobject_cast() in the receiver's drop event handler. For example: void MyWidget::dropEvent(QDropEvent *event)</para>
            <para> {</para>
            <para>     const MyMimeData *myData =</para>
            <para>             qobject_cast&amp;lt;const MyMimeData *&amp;gt;(event-&amp;gt;mimeData());</para>
            <para>     if (myData) {</para>
            <para>         // access myData's data directly (not through QMimeData's API)</para>
            <para>     }</para>
            <para> }</para>
            <para></para>
            <para></para>
            <para></para>
            <para>Platform-Specific MIME Types</para>
            <para>On Windows, formats() will also return custom formats available in the MIME data, using the x-qt-windows-mime subtype to indicate that they represent data in non-standard formats. The formats will take the following form:</para>
            <para> application/x-qt-windows-mime;value=&amp;quot;&amp;lt;custom type&amp;gt;&amp;quot;</para>
            <para>The following are examples of custom MIME types:</para>
            <para> application/x-qt-windows-mime;value=&amp;quot;FileGroupDescriptor&amp;quot;</para>
            <para> application/x-qt-windows-mime;value=&amp;quot;FileContents&amp;quot;</para>
            <para>The value declaration of each format describes the way in which the data is encoded.</para>
            <para>On Windows, the MIME format does not always map directly to the clipboard formats. Qt provides QWindowsMime to map clipboard formats to open-standard MIME formats. Similarly, the QMacPasteboardMime maps MIME to Mac flavors.</para>
            <para></para>
            <para>See also QClipboard, QDragEnterEvent, QDragMoveEvent, QDropEvent, QDrag, QWindowsMime, QMacPasteboardMime, and Drag and Drop.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QMimeData.#ctor">
            <summary>
            <para>Constructs a new MIME data object with no data in it.</para>
            </summary>
        </member>
        <member name="M:QtCore.QMimeData.Clear">
            <summary>
            <para>Removes all the MIME type and data entries in the object.</para>
            </summary>
        </member>
        <member name="M:QtCore.QMimeData.Data(System.String)">
            <summary>
            <para>Returns the data stored in the object in the format described by the MIME type specified by mimeType.</para>
            <para>See also setData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMimeData.Formats">
            <summary>
            <para>Returns a list of formats supported by the object. This is a list of MIME types for which the object can return suitable data. The formats in the list are in a priority order.</para>
            <para>For the most common types of data, you can call the higher-level functions hasText(), hasHtml(), hasUrls(), hasImage(), and hasColor() instead.</para>
            <para>See also hasFormat(), setData(), and data().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMimeData.HasColor">
            <summary>
            <para>Returns true if the object can return a color (MIME type application/x-color); otherwise returns false.</para>
            <para>See also setColorData(), colorData(), and hasFormat().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMimeData.HasFormat(System.String)">
            <summary>
            <para>Returns true if the object can return data for the MIME type specified by mimeType; otherwise returns false.</para>
            <para>For the most common types of data, you can call the higher-level functions hasText(), hasHtml(), hasUrls(), hasImage(), and hasColor() instead.</para>
            <para>See also formats(), setData(), and data().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMimeData.HasHtml">
            <summary>
            <para>Returns true if the object can return HTML (MIME type text/html); otherwise returns false.</para>
            <para>See also setHtml(), html(), and hasFormat().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMimeData.HasImage">
            <summary>
            <para>Returns true if the object can return an image; otherwise returns false.</para>
            <para>See also setImageData(), imageData(), and hasFormat().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMimeData.HasText">
            <summary>
            <para>Returns true if the object can return plain text (MIME type text/plain); otherwise returns false.</para>
            <para>See also setText(), text(), hasHtml(), and hasFormat().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMimeData.HasUrls">
            <summary>
            <para>Returns true if the object can return a list of urls; otherwise returns false.</para>
            <para>URLs correspond to the MIME type text/uri-list.</para>
            <para>See also setUrls(), urls(), and hasFormat().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMimeData.RemoveFormat(System.String)">
            <summary>
            <para>Removes the data entry for mimeType in the object.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="M:QtCore.QMimeData.RetrieveData(System.String,QtCore.QVariant.Type)">
            <summary>
            <para>Returns a variant with the given type containing data for the MIME type specified by mimeType. If the object does not support the MIME type or variant type given, a null variant is returned instead.</para>
            <para>This function is called by the general data() getter and by the convenience getters (text(), html(), urls(), imageData(), and colorData()). You can reimplement it if you want to store your data using a custom data structure (instead of a QByteArray, which is what setData() provides). You would then also need to reimplement hasFormat() and formats().</para>
            <para>See also data().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMimeData.SetData(System.String,QtCore.QByteArray)">
            <summary>
            <para>Sets the data associated with the MIME type given by mimeType to the specified data.</para>
            <para>For the most common types of data, you can call the higher-level functions setText(), setHtml(), setUrls(), setImageData(), and setColorData() instead.</para>
            <para>Note that if you want to use a custom data type in an item view drag and drop operation, you must register it as a Qt meta type, using the Q_DECLARE_METATYPE() macro, and implement stream operators for it. The stream operators must then be registered with the qRegisterMetaTypeStreamOperators() function.</para>
            <para>See also data(), hasFormat(), QMetaType, and qRegisterMetaTypeStreamOperators().</para>
            </summary>
        </member>
        <member name="M:QtCore.QMimeData.Finalize">
            <summary>
            <para>Destroys the MIME data object.</para>
            </summary>
        </member>
        <member name="P:QtCore.QMimeData.ColorData">
            <summary>
            <para>Returns a color if the data stored in the object represents a color (MIME type application/x-color); otherwise returns a null variant.</para>
            <para>A QVariant is used because QMimeData belongs to the QtCore library, whereas QColor belongs to QtGui. To convert the QVariant to a QColor, simply use qvariant_cast(). For example:</para>
            <para> if (event-&gt;mimeData()-&gt;hasColor()) {</para>
            <para>     QColor color = qvariant_cast&lt;QColor&gt;(event-&gt;mimeData()-&gt;colorData());</para>
            <para>     ...</para>
            <para> }</para>
            <para>Sets the color data in the object to the given color.</para>
            <para>Colors correspond to the MIME type application/x-color.</para>
            </summary>
        </member>
        <member name="P:QtCore.QMimeData.Html">
            <summary>
            <para>Returns a string if the data stored in the object is HTML (MIME type text/html); otherwise returns an empty string.</para>
            <para>Sets html as the HTML (MIME type text/html) used to represent the data.</para>
            </summary>
        </member>
        <member name="P:QtCore.QMimeData.ImageData">
            <summary>
            <para>Returns a QVariant storing a QImage if the object can return an image; otherwise returns a null variant.</para>
            <para>A QVariant is used because QMimeData belongs to the QtCore library, whereas QImage belongs to QtGui. To convert the QVariant to a QImage, simply use qvariant_cast(). For example:</para>
            <para> if (event-&gt;mimeData()-&gt;hasImage()) {</para>
            <para>     QImage image = qvariant_cast&lt;QImage&gt;(event-&gt;mimeData()-&gt;imageData());</para>
            <para>     ...</para>
            <para> }</para>
            <para>Sets the data in the object to the given image.</para>
            <para>A QVariant is used because QMimeData belongs to the QtCore library, whereas QImage belongs to QtGui. The conversion from QImage to QVariant is implicit. For example:</para>
            <para> mimeData-&gt;setImageData(QImage(&quot;beautifulfjord.png&quot;));</para>
            </summary>
        </member>
        <member name="P:QtCore.QMimeData.Text">
            <summary>
            <para>Returns a plain text (MIME type text/plain) representation of the data.</para>
            <para>Sets text as the plain text (MIME type text/plain) used to represent the data.</para>
            </summary>
        </member>
        <member name="P:QtCore.QMimeData.Urls">
            <summary>
            <para>Returns a list of URLs contained within the MIME data object.</para>
            <para>URLs correspond to the MIME type text/uri-list.</para>
            <para>Sets the URLs stored in the MIME data object to those specified by urls.</para>
            <para>URLs correspond to the MIME type text/uri-list.</para>
            </summary>
        </member>
        <member name="T:QtCore.QObjectCleanupHandler">
            <summary>
            The QObjectCleanupHandler class watches the lifetime of multiple QObjects.
            </summary>
            <remarks>
            <para></para>
            <para>A QObjectCleanupHandler is useful whenever you need to know when a number of QObjects that are owned by someone else have been deleted. This is important, for example, when referencing memory in an application that has been allocated in a shared library.</para>
            <para>To keep track of some QObjects, create a QObjectCleanupHandler, and add() the objects you are interested in. If you are no longer interested in tracking a particular object, use remove() to remove it from the cleanup handler. If an object being tracked by the cleanup handler gets deleted by someone else it will automatically be removed from the cleanup handler. You can delete all the objects in the cleanup handler with clear(), or by destroying the cleanup handler. isEmpty() returns true if the QObjectCleanupHandler has no objects to keep track of.</para>
            <para></para>
            <para>See also QPointer.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QObjectCleanupHandler.#ctor">
            <summary>
            <para>Constructs an empty QObjectCleanupHandler.</para>
            </summary>
        </member>
        <member name="M:QtCore.QObjectCleanupHandler.Add(QtCore.QObject)">
            <summary>
            <para>Adds object to this cleanup handler and returns the pointer to the object.</para>
            <para>See also remove().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObjectCleanupHandler.Clear">
            <summary>
            <para>Deletes all objects in this cleanup handler. The cleanup handler becomes empty.</para>
            <para>See also isEmpty().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObjectCleanupHandler.IsEmpty">
            <summary>
            <para>Returns true if this cleanup handler is empty or if all objects in this cleanup handler have been destroyed; otherwise return false.</para>
            <para>See also add(), remove(), and clear().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObjectCleanupHandler.Remove(QtCore.QObject)">
            <summary>
            <para>Removes the object from this cleanup handler. The object will not be destroyed.</para>
            <para>See also add().</para>
            </summary>
        </member>
        <member name="M:QtCore.QObjectCleanupHandler.Finalize">
            <summary>
            <para>Destroys the cleanup handler. All objects in this cleanup handler will be deleted.</para>
            <para>See also clear().</para>
            </summary>
        </member>
        <member name="T:QtCore.QParallelAnimationGroup">
            <summary>
            The QParallelAnimationGroup class provides a parallel group of animations.
            </summary>
            <remarks>
            <para></para>
            <para>QParallelAnimationGroup--a container for animations--starts all its animations when it is started itself, i.e., runs all animations in parallel. The animation group finishes when the longest lasting animation has finished.</para>
            <para>You can treat QParallelAnimation as any other QAbstractAnimation, e.g., pause, resume, or add it to other animation groups.</para>
            <para> QParallelAnimationGroup *group = new QParallelAnimationGroup;</para>
            <para> group-&amp;gt;addAnimation(anim1);</para>
            <para> group-&amp;gt;addAnimation(anim2);</para>
            <para></para>
            <para> group-&amp;gt;start();</para>
            <para>In this example, anim1 and anim2 are two QPropertyAnimations that have already been set up.</para>
            <para></para>
            <para>See also QAnimationGroup, QPropertyAnimation, and The Animation Framework.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QParallelAnimationGroup.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs a QParallelAnimationGroup. parent is passed to QObject's constructor.</para>
            </summary>
        </member>
        <member name="M:QtCore.QParallelAnimationGroup.Duration">
            <summary>
            <para>Reimplemented from QAbstractAnimation::duration().</para>
            </summary>
        </member>
        <member name="M:QtCore.QParallelAnimationGroup.OnEvent(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QObject::event().</para>
            </summary>
        </member>
        <member name="M:QtCore.QParallelAnimationGroup.UpdateCurrentTime(System.Int32)">
            <summary>
            <para>Reimplemented from QAbstractAnimation::updateCurrentTime().</para>
            </summary>
        </member>
        <member name="M:QtCore.QParallelAnimationGroup.UpdateDirection(QtCore.QAbstractAnimation.Direction)">
            <summary>
            <para>Reimplemented from QAbstractAnimation::updateDirection().</para>
            </summary>
        </member>
        <member name="M:QtCore.QParallelAnimationGroup.UpdateState(QtCore.QAbstractAnimation.State,QtCore.QAbstractAnimation.State)">
            <summary>
            <para>Reimplemented from QAbstractAnimation::updateState().</para>
            </summary>
        </member>
        <member name="M:QtCore.QParallelAnimationGroup.Finalize">
            <summary>
            <para>Destroys the animation group. It will also destroy all its animations.</para>
            </summary>
        </member>
        <member name="T:QtCore.QPauseAnimation">
            <summary>
            The QPauseAnimation class provides a pause for QSequentialAnimationGroup.
            </summary>
            <remarks>
            <para></para>
            <para>If you wish to introduce a delay between animations in a QSequentialAnimationGroup, you can insert a QPauseAnimation. This class does not animate anything, but does not finish before a specified number of milliseconds have elapsed from when it was started. You specify the duration of the pause in the constructor. It can also be set directly with setDuration().</para>
            <para>It is not necessary to construct a QPauseAnimation yourself. QSequentialAnimationGroup provides the convenience functions addPause() and insertPause(). These functions simply take the number of milliseconds the pause should last.</para>
            <para></para>
            <para>See also QSequentialAnimationGroup.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QPauseAnimation.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs a QPauseAnimation. parent is passed to QObject's constructor. The default duration is 0.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPauseAnimation.#ctor(System.Int32,QtCore.QObject)">
            <summary>
            <para>Constructs a QPauseAnimation. msecs is the duration of the pause. parent is passed to QObject's constructor.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPauseAnimation.OnEvent(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QObject::event().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPauseAnimation.UpdateCurrentTime(System.Int32)">
            <summary>
            <para>Reimplemented from QAbstractAnimation::updateCurrentTime().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPauseAnimation.Finalize">
            <summary>
            <para>Destroys the pause animation.</para>
            </summary>
        </member>
        <member name="T:QtCore.QPersistentModelIndex">
            <summary>
            The QPersistentModelIndex class is used to locate data in a data model.
            </summary>
            <remarks>
            <para></para>
            <para>A QPersistentModelIndex is a model index that can be stored by an application, and later used to access information in a model. Unlike the QModelIndex class, it is safe to store a QPersistentModelIndex since the model will ensure that references to items will continue to be valid as long as they can be accessed by the model.</para>
            <para>It is good practice to check that persistent model indexes are valid before using them.</para>
            <para></para>
            <para>See also Model/View Programming, QModelIndex, and QAbstractItemModel.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QPersistentModelIndex.#ctor">
            <summary>
            <para>Creates a new QPersistentModelIndex that is a copy of the model index.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPersistentModelIndex.#ctor(QtCore.QModelIndex)">
            <summary>
            <para>Creates a new QPersistentModelIndex that is a copy of the model index.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPersistentModelIndex.#ctor(QtCore.QPersistentModelIndex)">
            <summary>
            <para>Creates a new QPersistentModelIndex that is a copy of the other persistent model index.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPersistentModelIndex.Child(System.Int32,System.Int32)">
            <summary>
            <para>Returns the child of the model index that is stored in the given row and column.</para>
            <para>See also parent() and sibling().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPersistentModelIndex.Column">
            <summary>
            <para>Returns the column this persistent model index refers to.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPersistentModelIndex.Data(System.Int32)">
            <summary>
            <para>Returns the data for the given role for the item referred to by the index.</para>
            <para>See also Qt::ItemDataRole and QAbstractItemModel::setData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPersistentModelIndex.Flags">
            <summary>
            <para>Returns the flags for the item referred to by the index.</para>
            <para>This function was introduced in Qt 4.2.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPersistentModelIndex.IsValid">
            <summary>
            <para>Returns true if this persistent model index is valid; otherwise returns false.</para>
            <para>A valid index belongs to a model, and has non-negative row and column numbers.</para>
            <para>See also model(), row(), and column().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPersistentModelIndex.Model">
            <summary>
            <para>Returns the model that the index belongs to.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPersistentModelIndex.op_Inequality(QtCore.QPersistentModelIndex,QtCore.QPersistentModelIndex)">
            <summary>
            <para>Returns true if this persistent model index is not equal to the other persistent model index; otherwise returns false.</para>
            <para>This function was introduced in Qt 4.2.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPersistentModelIndex.op_Inequality(QtCore.QPersistentModelIndex,QtCore.QModelIndex)">
            <summary>
            <para>Returns true if this persistent model index does not refer to the same location as the other model index; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPersistentModelIndex.op_LessThan(QtCore.QPersistentModelIndex,QtCore.QPersistentModelIndex)">
            <summary>
            <para>Returns true if this persistent model index is smaller than the other persistent model index; otherwise returns false.</para>
            <para>All values in the persistent model index are used when comparing with another persistent model index.</para>
            <para>This function was introduced in Qt 4.1.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPersistentModelIndex.op_Equality(QtCore.QPersistentModelIndex,QtCore.QPersistentModelIndex)">
            <summary>
            <para>Returns true if this persistent model index is equal to the other persistent model index; otherwise returns false.</para>
            <para>All values in the persistent model index are used when comparing with another persistent model index.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPersistentModelIndex.op_Equality(QtCore.QPersistentModelIndex,QtCore.QModelIndex)">
            <summary>
            <para>Returns true if this persistent model index refers to the same location as the other model index; otherwise returns false.</para>
            <para>All values in the persistent model index are used when comparing with another model index.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPersistentModelIndex.Parent">
            <summary>
            <para>Returns the parent QModelIndex for this persistent index, or an invalid QModelIndex if it has no parent.</para>
            <para>See also child(), sibling(), and model().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPersistentModelIndex.Row">
            <summary>
            <para>Returns the row this persistent model index refers to.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPersistentModelIndex.Sibling(System.Int32,System.Int32)">
            <summary>
            <para>Returns the sibling at row and column or an invalid QModelIndex if there is no sibling at this position.</para>
            <para>See also parent() and child().</para>
            </summary>
        </member>
        <member name="T:QtCore.QPluginLoader">
            <summary>
            The QPluginLoader class loads a plugin at run-time.
            </summary>
            <remarks>
            <para></para>
            <para>QPluginLoader provides access to a Qt plugin. A Qt plugin is stored in a shared library (a DLL) and offers these benefits over shared libraries accessed using QLibrary:</para>
            <para></para>
            <para>QPluginLoader checks that a plugin is linked against the same version of Qt as the application.</para>
            <para>QPluginLoader provides direct access to a root component object (instance()), instead of forcing you to resolve a C function manually.</para>
            <para></para>
            <para>An instance of a QPluginLoader object operates on a single shared library file, which we call a plugin. It provides access to the functionality in the plugin in a platform-independent way. To specify which plugin to load, either pass a file name in the constructor or set it with setFileName().</para>
            <para>The most important functions are load() to dynamically load the plugin file, isLoaded() to check whether loading was successful, and instance() to access the root component in the plugin. The instance() function implicitly tries to load the plugin if it has not been loaded yet. Multiple instances of QPluginLoader can be used to access the same physical plugin.</para>
            <para>Once loaded, plugins remain in memory until all instances of QPluginLoader has been unloaded, or until the application terminates. You can attempt to unload a plugin using unload(), but if other instances of QPluginLoader are using the same library, the call will fail, and unloading will only happen when every instance has called unload(). Right before the unloading happen, the root component will also be deleted.</para>
            <para>In order to speed up loading and validation of plugins, some of the information that is collected during loading is cached in persistent memory (through QSettings). For instance, the result of a load operation (e.g. succeeded or failed) is stored in the cache, so that subsequent load operations don't try to load an invalid plugin. However, if the &amp;quot;last modified&amp;quot; timestamp of a plugin has changed, the plugin's cache entry is invalidated and the plugin is reloaded regardless of the values in the cache entry. The cache entry is then updated with the new result of the load operation.</para>
            <para>This also means that the timestamp must be updated each time the plugin or any dependent resources (such as a shared library) is updated, since the dependent resources might influence the result of loading a plugin.</para>
            <para>See How to Create Qt Plugins for more information about how to make your application extensible through plugins.</para>
            <para>Note that the QPluginLoader cannot be used if your application is statically linked against Qt. In this case, you will also have to link to plugins statically. You can use QLibrary if you need to load dynamic libraries in a statically linked application.</para>
            <para>Note: In Symbian the plugin stub files must be used whenever a path to plugin is needed. For the purposes of loading plugins, the stubs can be considered to have the same name as the actual plugin binary. In practice they have &amp;quot;.qtplugin&amp;quot; extension instead of &amp;quot;.dll&amp;quot;, but this difference is handled transparently by QPluginLoader and QLibrary to avoid need for Symbian specific plugin handling in most Qt applications. Plugin stubs are needed because Symbian Platform Security denies all access to the directory where the actual plugin binaries are located.</para>
            <para></para>
            <para>See also QLibrary and Plug &amp;amp; Paint Example.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QPluginLoader.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs a plugin loader with the given parent.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPluginLoader.#ctor(System.String,QtCore.QObject)">
            <summary>
            <para>Constructs a plugin loader with the given parent that will load the plugin specified by fileName.</para>
            <para>To be loadable, the file's suffix must be a valid suffix for a loadable library in accordance with the platform, e.g. .so on Unix, - .dylib on Mac OS X, and .dll on Windows. The suffix can be verified with QLibrary::isLibrary().</para>
            <para>Note: In Symbian the fileName must point to plugin stub file.</para>
            <para>See also setFileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPluginLoader.ErrorString">
            <summary>
            <para>Returns a text string with the description of the last error that occurred.</para>
            <para>This function was introduced in Qt 4.2.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPluginLoader.Instance">
            <summary>
            <para>Returns the root component object of the plugin. The plugin is loaded if necessary. The function returns 0 if the plugin could not be loaded or if the root component object could not be instantiated.</para>
            <para>If the root component object was destroyed, calling this function creates a new instance.</para>
            <para>The root component, returned by this function, is not deleted when the QPluginLoader is destroyed. If you want to ensure that the root component is deleted, you should call unload() as soon you don't need to access the core component anymore. When the library is finally unloaded, the root component will automatically be deleted.</para>
            <para>The component object is a QObject. Use qobject_cast() to access interfaces you are interested in.</para>
            <para>See also load().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPluginLoader.IsLoaded">
            <summary>
            <para>Returns true if the plugin is loaded; otherwise returns false.</para>
            <para>See also load().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPluginLoader.Load">
            <summary>
            <para>Loads the plugin and returns true if the plugin was loaded successfully; otherwise returns false. Since instance() always calls this function before resolving any symbols it is not necessary to call it explicitly. In some situations you might want the plugin loaded in advance, in which case you would use this function.</para>
            <para>See also unload().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPluginLoader.StaticInstances">
            <summary>
            <para>Returns a list of static plugin instances (root components) held by the plugin loader.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPluginLoader.Unload">
            <summary>
            <para>Unloads the plugin and returns true if the plugin could be unloaded; otherwise returns false.</para>
            <para>This happens automatically on application termination, so you shouldn't normally need to call this function.</para>
            <para>If other instances of QPluginLoader are using the same plugin, the call will fail, and unloading will only happen when every instance has called unload().</para>
            <para>Don't try to delete the root component. Instead rely on that unload() will automatically delete it when needed.</para>
            <para>See also instance() and load().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPluginLoader.Finalize">
            <summary>
            <para>Destroys the QPluginLoader object.</para>
            <para>Unless unload() was called explicitly, the plugin stays in memory until the application terminates.</para>
            <para>See also isLoaded() and unload().</para>
            </summary>
        </member>
        <member name="P:QtCore.QPluginLoader.FileName">
            <summary>
            <para>This property holds the file name of the plugin.</para>
            <para>To be loadable, the file's suffix must be a valid suffix for a loadable library in accordance with the platform, e.g. .so on Unix, .dylib on Mac OS X, and .dll on Windows. The suffix can be verified with QLibrary::isLibrary().</para>
            <para>If the file name does not exist, it will not be set. This property will then contain an empty string.</para>
            <para>By default, this property contains an empty string.</para>
            <para>Note: In Symbian the fileName must point to plugin stub file.</para>
            </summary>
        </member>
        <member name="P:QtCore.QPluginLoader.LoadHints">
            <summary>
            <para>This property holds give the load() function some hints on how it should behave.</para>
            <para>You can give hints on how the symbols in the plugin are resolved. By default, none of the hints are set.</para>
            <para>See the documentation of QLibrary::loadHints for a complete description of how this property works.</para>
            <para>This property was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="T:QtCore.QPoint">
            <summary>
            The QPoint class defines a point in the plane using integer precision.
            </summary>
            <remarks>
            <para></para>
            <para>A point is specified by a x coordinate and an y coordinate which can be accessed using the x() and y() functions. The isNull() function returns true if both x and y are set to 0. The coordinates can be set (or altered) using the setX() and setY() functions, or alternatively the rx() and ry() functions which return references to the coordinates (allowing direct manipulation).</para>
            <para>Given a point p, the following statements are all equivalent:</para>
            <para> QPoint p;</para>
            <para></para>
            <para> p.setX(p.x() + 1);</para>
            <para> p += QPoint(1, 0);</para>
            <para> p.rx()++;</para>
            <para>A QPoint object can also be used as a vector: Addition and subtraction are defined as for vectors (each component is added separately). A QPoint object can also be divided or multiplied by an int or a qreal.</para>
            <para>In addition, the QPoint class provides the manhattanLength() function which gives an inexpensive approximation of the length of the QPoint object interpreted as a vector. Finally, QPoint objects can be streamed as well as compared.</para>
            <para></para>
            <para>See also QPointF and QPolygon.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QPoint.#ctor">
            <summary>
            <para>Constructs a null point, i.e. with coordinates (0, 0)</para>
            <para>See also isNull().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPoint.#ctor(QtCore.QPoint)">
            <summary>
            <para>Constructs a null point, i.e. with coordinates (0, 0)</para>
            <para>See also isNull().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPoint.#ctor(System.Int32,System.Int32)">
            <summary>
            <para>Constructs a point with the given coordinates (x, y).</para>
            <para>See also setX() and setY().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPoint.op_Multiply(QtCore.QPoint,System.Single)">
            <summary>
            <para>Returns a copy of the given point multiplied by the given factor.</para>
            <para>Note that the result is rounded to the nearest integer as points are held as integers. Use QPointF for floating point accuracy.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also QPoint::operator*=().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPoint.op_Multiply(QtCore.QPoint,System.Double)">
            <summary>
            <para>Returns a copy of the given point multiplied by the given factor.</para>
            <para>Note that the result is rounded to the nearest integer as points are held as integers. Use QPointF for floating point accuracy.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also QPoint::operator*=().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPoint.op_Multiply(QtCore.QPoint,System.Int32)">
            <summary>
            <para>Returns a copy of the given point multiplied by the given factor.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also QPoint::operator*=().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPoint.op_Addition(QtCore.QPoint,QtCore.QPoint)">
            <summary>
            <para>Returns a QPoint object that is the sum of the given points, p1 and p2; each component is added separately.</para>
            <para>See also QPoint::operator+=().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPoint.op_UnaryNegation(QtCore.QPoint)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns a QPoint object that is formed by changing the sign of both components of the given point.</para>
            <para>Equivalent to QPoint(0,0) - point.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPoint.op_Subtraction(QtCore.QPoint,QtCore.QPoint)">
            <summary>
            <para>Returns a QPoint object that is formed by subtracting p2 from p1; each component is subtracted separately.</para>
            <para>See also QPoint::operator-=().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPoint.op_Division(QtCore.QPoint,System.Double)">
            <summary>
            <para>Returns the QPoint formed by dividing both components of the given point by the given divisor.</para>
            <para>Note that the result is rounded to the nearest integer as points are held as integers. Use QPointF for floating point accuracy.</para>
            <para>See also QPoint::operator/=().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPoint.IsNull">
            <summary>
            <para>Returns true if both the x and y coordinates are set to 0, otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPoint.ManhattanLength">
            <summary>
            <para>Returns the sum of the absolute values of x() and y(), traditionally known as the &quot;Manhattan length&quot; of the vector from the origin to the point. For example:</para>
            <para> QPoint oldPosition;</para>
            <para></para>
            <para> MyWidget::mouseMoveEvent(QMouseEvent *event)</para>
            <para> {</para>
            <para>     QPoint point = event-&gt;pos() - oldPosition;</para>
            <para>     if (point.manhattanLength() &gt; 3)</para>
            <para>         // the mouse has moved more than 3 pixels since the oldPosition</para>
            <para> }</para>
            <para>This is a useful, and quick to calculate, approximation to the true length:</para>
            <para> double trueLength = sqrt(pow(x(), 2) + pow(y(), 2));</para>
            <para>The tradition of &quot;Manhattan length&quot; arises because such distances apply to travelers who can only travel on a rectangular grid, like the streets of Manhattan.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPoint.Rx">
            <summary>
            <para>Returns a reference to the x coordinate of this point.</para>
            <para>Using a reference makes it possible to directly manipulate x. For example:</para>
            <para> QPoint p(1, 2);</para>
            <para> p.rx()--;   // p becomes (0, 2)</para>
            <para>See also x() and setX().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPoint.Ry">
            <summary>
            <para>Returns a reference to the y coordinate of this point.</para>
            <para>Using a reference makes it possible to directly manipulate y. For example:</para>
            <para> QPoint p(1, 2);</para>
            <para> p.ry()++;   // p becomes (1, 3)</para>
            <para>See also y() and setY().</para>
            </summary>
        </member>
        <member name="P:QtCore.QPoint.X">
            <summary>
            <para>Returns the x coordinate of this point.</para>
            <para>Sets the x coordinate of this point to the given x coordinate.</para>
            </summary>
        </member>
        <member name="P:QtCore.QPoint.Y">
            <summary>
            <para>Returns the y coordinate of this point.</para>
            <para>Sets the y coordinate of this point to the given y coordinate.</para>
            </summary>
        </member>
        <member name="T:QtCore.QProcess">
            <summary>
            The QProcess class is used to start external programs and to communicate with them.
            </summary>
            <remarks>
            <para></para>
            <para></para>
            <para>Running a Process</para>
            <para>To start a process, pass the name and command line arguments of the program you want to run as arguments to start(). Arguments are supplied as individual strings in a QStringList.</para>
            <para>For example, the following code snippet runs the analog clock example in the Motif style on X11 platforms by passing strings containing &amp;quot;-style&amp;quot; and &amp;quot;motif&amp;quot; as two items in the list of arguments:</para>
            <para>     QObject *parent;</para>
            <para>     ...</para>
            <para>     QString program = &amp;quot;./path/to/Qt/examples/widgets/analogclock&amp;quot;;</para>
            <para>     QStringList arguments;</para>
            <para>     arguments &amp;lt;&amp;lt; &amp;quot;-style&amp;quot; &amp;lt;&amp;lt; &amp;quot;motif&amp;quot;;</para>
            <para></para>
            <para>     QProcess *myProcess = new QProcess(parent);</para>
            <para>     myProcess-&amp;gt;start(program, arguments);</para>
            <para>QProcess then enters the Starting state, and when the program has started, QProcess enters the Running state and emits started().</para>
            <para>QProcess allows you to treat a process as a sequential I/O device. You can write to and read from the process just as you would access a network connection using QTcpSocket. You can then write to the process's standard input by calling write(), and read the standard output by calling read(), readLine(), and getChar(). Because it inherits QIODevice, QProcess can also be used as an input source for QXmlReader, or for generating data to be uploaded using QFtp.</para>
            <para>Note: On Windows CE and Symbian, reading and writing to a process is not supported.</para>
            <para>When the process exits, QProcess reenters the NotRunning state (the initial state), and emits finished().</para>
            <para>The finished() signal provides the exit code and exit status of the process as arguments, and you can also call exitCode() to obtain the exit code of the last process that finished, and exitStatus() to obtain its exit status. If an error occurs at any point in time, QProcess will emit the error() signal. You can also call error() to find the type of error that occurred last, and state() to find the current process state.</para>
            <para></para>
            <para>Communicating via Channels</para>
            <para>Processes have two predefined output channels: The standard output channel (stdout) supplies regular console output, and the standard error channel (stderr) usually supplies the errors that are printed by the process. These channels represent two separate streams of data. You can toggle between them by calling setReadChannel(). QProcess emits readyRead() when data is available on the current read channel. It also emits readyReadStandardOutput() when new standard output data is available, and when new standard error data is available, readyReadStandardError() is emitted. Instead of calling read(), readLine(), or getChar(), you can explicitly read all data from either of the two channels by calling readAllStandardOutput() or readAllStandardError().</para>
            <para>The terminology for the channels can be misleading. Be aware that the process's output channels correspond to QProcess's read channels, whereas the process's input channels correspond to QProcess's write channels. This is because what we read using QProcess is the process's output, and what we write becomes the process's input.</para>
            <para>QProcess can merge the two output channels, so that standard output and standard error data from the running process both use the standard output channel. Call setProcessChannelMode() with MergedChannels before starting the process to activative this feature. You also have the option of forwarding the output of the running process to the calling, main process, by passing ForwardedChannels as the argument.</para>
            <para>Certain processes need special environment settings in order to operate. You can set environment variables for your process by calling setEnvironment(). To set a working directory, call setWorkingDirectory(). By default, processes are run in the current working directory of the calling process.</para>
            <para>Note: On Symbian, setting environment or working directory is not supported. The working directory will always be the private directory of the running process.</para>
            <para>Note: On QNX, setting the working directory may cause all application threads, with the exception of the QProcess caller thread, to temporarily freeze, owing to a limitation in the operating system.</para>
            <para></para>
            <para>Synchronous Process API</para>
            <para>QProcess provides a set of functions which allow it to be used without an event loop, by suspending the calling thread until certain signals are emitted:</para>
            <para></para>
            <para>waitForStarted() blocks until the process has started.</para>
            <para>waitForReadyRead() blocks until new data is available for reading on the current read channel.</para>
            <para>waitForBytesWritten() blocks until one payload of data has been written to the process.</para>
            <para>waitForFinished() blocks until the process has finished.</para>
            <para></para>
            <para>Calling these functions from the main thread (the thread that calls QApplication::exec()) may cause your user interface to freeze.</para>
            <para>The following example runs gzip to compress the string &amp;quot;Qt rocks!&amp;quot;, without an event loop:</para>
            <para>     QProcess gzip;</para>
            <para>     gzip.start(&amp;quot;gzip&amp;quot;, QStringList() &amp;lt;&amp;lt; &amp;quot;-c&amp;quot;);</para>
            <para>     if (!gzip.waitForStarted())</para>
            <para>         return false;</para>
            <para></para>
            <para>     gzip.write(&amp;quot;Qt rocks!&amp;quot;);</para>
            <para>     gzip.closeWriteChannel();</para>
            <para></para>
            <para>     if (!gzip.waitForFinished())</para>
            <para>         return false;</para>
            <para></para>
            <para>     QByteArray result = gzip.readAll();</para>
            <para></para>
            <para>Notes for Windows Users</para>
            <para>Some Windows commands (for example, dir) are not provided by separate applications, but by the command interpreter itself. If you attempt to use QProcess to execute these commands directly, it won't work. One possible solution is to execute the command interpreter itself (cmd.exe on some Windows systems), and ask the interpreter to execute the desired command.</para>
            <para></para>
            <para>Symbian Platform Security Requirements</para>
            <para>On Symbian, processes which use the functions kill() or terminate() must have the PowerMgmt platform security capability. If the client process lacks this capability, these functions will fail.</para>
            <para>Platform security capabilities are added via the TARGET.CAPABILITY qmake variable.</para>
            <para></para>
            <para>See also QBuffer, QFile, and QTcpSocket.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QProcess.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs a QProcess object with the given parent.</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.AtEnd">
            <summary>
            <para>Reimplemented from QIODevice::atEnd().</para>
            <para>Returns true if the process is not running, and no more data is available for reading; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.BytesAvailable">
            <summary>
            <para>Reimplemented from QIODevice::bytesAvailable().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.BytesToWrite">
            <summary>
            <para>Reimplemented from QIODevice::bytesToWrite().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.CanReadLine">
            <summary>
            <para>Reimplemented from QIODevice::canReadLine().</para>
            <para>This function operates on the current read channel.</para>
            <para>See also readChannel() and setReadChannel().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.Close">
            <summary>
            <para>Reimplemented from QIODevice::close().</para>
            <para>Closes all communication with the process and kills it. After calling this function, QProcess will no longer emit readyRead(), and data can no longer be read or written.</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.CloseReadChannel(QtCore.QProcess.ProcessChannel)">
            <summary>
            <para>Closes the read channel channel. After calling this function, QProcess will no longer receive data on the channel. Any data that has already been received is still available for reading.</para>
            <para>Call this function to save memory, if you are not interested in the output of the process.</para>
            <para>See also closeWriteChannel() and setReadChannel().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.CloseWriteChannel">
            <summary>
            <para>Schedules the write channel of QProcess to be closed. The channel will close once all data has been written to the process. After calling this function, any attempts to write to the process will fail.</para>
            <para>Closing the write channel is necessary for programs that read input data until the channel has been closed. For example, the program &quot;more&quot; is used to display text data in a console on both Unix and Windows. But it will not display the text data until QProcess's write channel has been closed. Example:</para>
            <para> QProcess more;</para>
            <para> more.start(&quot;more&quot;);</para>
            <para> more.write(&quot;Text to display&quot;);</para>
            <para> more.closeWriteChannel();</para>
            <para> // QProcess will emit readyRead() once &quot;more&quot; starts printing</para>
            <para>The write channel is implicitly opened when start() is called.</para>
            <para>See also closeReadChannel().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.OnError">
            <summary>
            <para>Returns the type of error that occurred last.</para>
            <para>See also state().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.OnError(QtCore.QProcess.ProcessError)">
            <summary>
            <para>Returns the type of error that occurred last.</para>
            <para>See also state().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.Execute(System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Starts the program program in a new process. program is a single string of text containing both the program name and its arguments. The arguments are separated by one or more spaces.</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.Execute(System.String,System.Collections.Generic.List{System.String})">
            <summary>
            <para>Starts the program program with the arguments arguments in a new process, waits for it to finish, and then returns the exit code of the process. Any data the new process writes to the console is forwarded to the calling process.</para>
            <para>The environment and working directory are inherited from the calling process.</para>
            <para>On Windows, arguments that contain spaces are wrapped in quotes.</para>
            <para>If the process cannot be started, -2 is returned. If the process crashes, -1 is returned. Otherwise, the process' exit code is returned.</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.ExitCode">
            <summary>
            <para>Returns the exit code of the last process that finished.</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.exitStatus">
            <summary>
            <para>Returns the exit status of the last process that finished.</para>
            <para>On Windows, if the process was terminated with TerminateProcess() from another application this function will still return NormalExit unless the exit code is less than 0.</para>
            <para>This function was introduced in Qt 4.1.</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.OnFinished(System.Int32)">
            <summary>
            <para>This signal is emitted when the process finishes. exitCode is the exit code of the process, and exitStatus is the exit status. After the process has finished, the buffers in QProcess are still intact. You can still read any data that the process may have written before it finished.</para>
            <para>See also exitStatus().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.OnFinished(System.Int32,QtCore.QProcess.ExitStatus)">
            <summary>
            <para>This signal is emitted when the process finishes. exitCode is the exit code of the process, and exitStatus is the exit status. After the process has finished, the buffers in QProcess are still intact. You can still read any data that the process may have written before it finished.</para>
            <para>See also exitStatus().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.IsSequential">
            <summary>
            <para>Reimplemented from QIODevice::isSequential().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.Kill">
            <summary>
            <para>Kills the current process, causing it to exit immediately.</para>
            <para>On Windows, kill() uses TerminateProcess, and on Unix and Mac OS X, the SIGKILL signal is sent to the process.</para>
            <para>On Symbian, this function requires platform security capability PowerMgmt. If absent, the process will panic with KERN-EXEC 46.</para>
            <para>Note: Killing running processes from other processes will typically cause a panic in Symbian due to platform security.</para>
            <para>See also Symbian Platform Security Requirements and terminate().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.ReadAllStandardError">
            <summary>
            <para>Regardless of the current read channel, this function returns all data available from the standard error of the process as a QByteArray.</para>
            <para>See also readyReadStandardError(), readAllStandardOutput(), readChannel(), and setReadChannel().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.ReadAllStandardOutput">
            <summary>
            <para>Regardless of the current read channel, this function returns all data available from the standard output of the process as a QByteArray.</para>
            <para>See also readyReadStandardOutput(), readAllStandardError(), readChannel(), and setReadChannel().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.ReadData(QtCore.Pointer{System.SByte},System.Int64)">
            <summary>
            <para>Reimplemented from QIODevice::readData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.OnReadyReadStandardError">
            <summary>
            <para>This signal is emitted when the process has made new data available through its standard error channel (stderr). It is emitted regardless of the current read channel.</para>
            <para>See also readAllStandardError() and readChannel().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.OnReadyReadStandardOutput">
            <summary>
            <para>This signal is emitted when the process has made new data available through its standard output channel (stdout). It is emitted regardless of the current read channel.</para>
            <para>See also readAllStandardOutput() and readChannel().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.SetProcessState(QtCore.QProcess.ProcessState)">
            <summary>
            <para>Sets the current state of the QProcess to the state specified.</para>
            <para>See also state().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.SetStandardErrorFile(System.String,QtCore.QIODevice.OpenModeFlag)">
            <summary>
            <para>Redirects the process' standard error to the file fileName. When the redirection is in place, the standard error read channel is closed: reading from it using read() will always fail, as will readAllStandardError(). The file will be appended to if mode is Append, otherwise, it will be truncated.</para>
            <para>See setStandardOutputFile() for more information on how the file is opened.</para>
            <para>Note: if setProcessChannelMode() was called with an argument of QProcess::MergedChannels, this function has no effect.</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also setStandardInputFile(), setStandardOutputFile(), and setStandardOutputProcess().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.SetStandardInputFile(System.String)">
            <summary>
            <para>Redirects the process' standard input to the file indicated by fileName. When an input redirection is in place, the QProcess object will be in read-only mode (calling write() will result in error).</para>
            <para>If the file fileName does not exist at the moment start() is called or is not readable, starting the process will fail.</para>
            <para>Calling setStandardInputFile() after the process has started has no effect.</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also setStandardOutputFile(), setStandardErrorFile(), and setStandardOutputProcess().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.SetStandardOutputFile(System.String,QtCore.QIODevice.OpenModeFlag)">
            <summary>
            <para>Redirects the process' standard output to the file fileName. When the redirection is in place, the standard output read channel is closed: reading from it using read() will always fail, as will readAllStandardOutput().</para>
            <para>If the file fileName doesn't exist at the moment start() is called, it will be created. If it cannot be created, the starting will fail.</para>
            <para>If the file exists and mode is QIODevice::Truncate, the file will be truncated. Otherwise (if mode is QIODevice::Append), the file will be appended to.</para>
            <para>Calling setStandardOutputFile() after the process has started has no effect.</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also setStandardInputFile(), setStandardErrorFile(), and setStandardOutputProcess().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.SetStandardOutputProcess(QtCore.QProcess)">
            <summary>
            <para>Pipes the standard output stream of this process to the destination process' standard input.</para>
            <para>The following shell command:</para>
            <para> command1 | command2</para>
            <para>Can be accomplished with QProcesses with the following code:</para>
            <para> QProcess process1;</para>
            <para> QProcess process2;</para>
            <para></para>
            <para> process1.setStandardOutputProcess(&amp;process2);</para>
            <para></para>
            <para> process1.start(&quot;command1&quot;);</para>
            <para> process2.start(&quot;command2&quot;);</para>
            <para>This function was introduced in Qt 4.2.</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.SetupChildProcess">
            <summary>
            <para>This function is called in the child process context just before the program is executed on Unix or Mac OS X (i.e., after fork(), but before execve()). Reimplement this function to do last minute initialization of the child process. Example:</para>
            <para> class SandboxProcess : public QProcess</para>
            <para> {</para>
            <para>     ...</para>
            <para>  protected:</para>
            <para>      void setupChildProcess();</para>
            <para>     ...</para>
            <para> };</para>
            <para></para>
            <para> void SandboxProcess::setupChildProcess()</para>
            <para> {</para>
            <para>     // Drop all privileges in the child process, and enter</para>
            <para>     // a chroot jail.</para>
            <para> #if defined Q_OS_UNIX</para>
            <para>     ::setgroups(0, 0);</para>
            <para>     ::chroot(&quot;/etc/safe&quot;);</para>
            <para>     ::chdir(&quot;/&quot;);</para>
            <para>     ::setgid(safeGid);</para>
            <para>     ::setuid(safeUid);</para>
            <para>     ::umask(0);</para>
            <para> #endif</para>
            <para> }</para>
            <para>You cannot exit the process (by calling exit(), for instance) from this function. If you need to stop the program before it starts execution, your workaround is to emit finished() and then call exit().</para>
            <para>Warning: This function is called by QProcess on Unix and Mac OS X only. On Windows and QNX, it is not called.</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.Start(System.String,QtCore.QIODevice.OpenModeFlag)">
            <summary>
            <para>Starts the given program in a new process, if none is already running, passing the command line arguments in arguments. The OpenMode is set to mode.</para>
            <para>The QProcess object will immediately enter the Starting state. If the process starts successfully, QProcess will emit started(); otherwise, error() will be emitted. If the QProcess object is already running a process, a warning may be printed at the console, and the existing process will continue running.</para>
            <para>Note: Processes are started asynchronously, which means the started() and error() signals may be delayed. Call waitForStarted() to make sure the process has started (or has failed to start) and those signals have been emitted.</para>
            <para>Note: No further splitting of the arguments is performed.</para>
            <para>Windows: Arguments that contain spaces are wrapped in quotes.</para>
            <para>See also pid(), started(), and waitForStarted().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.Start(System.String,System.Collections.Generic.List{System.String},QtCore.QIODevice.OpenModeFlag)">
            <summary>
            <para>Starts the given program in a new process, if none is already running, passing the command line arguments in arguments. The OpenMode is set to mode.</para>
            <para>The QProcess object will immediately enter the Starting state. If the process starts successfully, QProcess will emit started(); otherwise, error() will be emitted. If the QProcess object is already running a process, a warning may be printed at the console, and the existing process will continue running.</para>
            <para>Note: Processes are started asynchronously, which means the started() and error() signals may be delayed. Call waitForStarted() to make sure the process has started (or has failed to start) and those signals have been emitted.</para>
            <para>Note: No further splitting of the arguments is performed.</para>
            <para>Windows: Arguments that contain spaces are wrapped in quotes.</para>
            <para>See also pid(), started(), and waitForStarted().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.StartDetached(System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Starts the program program in a new process. program is a single string of text containing both the program name and its arguments. The arguments are separated by one or more spaces.</para>
            <para>The program string can also contain quotes, to ensure that arguments containing spaces are correctly supplied to the new process.</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.StartDetached(System.String,System.Collections.Generic.List{System.String})">
            <summary>
            <para>Starts the program program with the given arguments in a new process, and detaches from it. Returns true on success; otherwise returns false. If the calling process exits, the detached process will continue to live.</para>
            <para>Note: Arguments that contain spaces are not passed to the process as separate arguments.</para>
            <para>Unix: The started process will run in its own session and act like a daemon.</para>
            <para>Windows: Arguments that contain spaces are wrapped in quotes. The started process will run as a regular standalone process.</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.StartDetached(System.String,System.Collections.Generic.List{System.String},System.String)">
            <summary>
            <para>Starts the program program with the arguments arguments in a new process, and detaches from it. Returns true on success; otherwise returns false. If the calling process exits, the detached process will continue to live.</para>
            <para>Note that arguments that contain spaces are not passed to the process as separate arguments.</para>
            <para>Unix: The started process will run in its own session and act like a daemon.</para>
            <para>Windows: Arguments that contain spaces are wrapped in quotes. The started process will run as a regular standalone process.</para>
            <para>The process will be started in the directory workingDirectory.</para>
            <para>Note: On QNX, this may cause all application threads to temporarily freeze.</para>
            <para>If the function is successful then *pid is set to the process identifier of the started process.</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.StartDetached(System.String,System.Collections.Generic.List{System.String},System.String,System.Int64@)">
            <summary>
            <para>Starts the program program with the arguments arguments in a new process, and detaches from it. Returns true on success; otherwise returns false. If the calling process exits, the detached process will continue to live.</para>
            <para>Note that arguments that contain spaces are not passed to the process as separate arguments.</para>
            <para>Unix: The started process will run in its own session and act like a daemon.</para>
            <para>Windows: Arguments that contain spaces are wrapped in quotes. The started process will run as a regular standalone process.</para>
            <para>The process will be started in the directory workingDirectory.</para>
            <para>Note: On QNX, this may cause all application threads to temporarily freeze.</para>
            <para>If the function is successful then *pid is set to the process identifier of the started process.</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.OnStarted">
            <summary>
            <para>This signal is emitted by QProcess when the process has started, and state() returns Running.</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.State">
            <summary>
            <para>Returns the current state of the process.</para>
            <para>See also stateChanged() and error().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.OnStateChanged(QtCore.QProcess.ProcessState)">
            <summary>
            <para>This signal is emitted whenever the state of QProcess changes. The newState argument is the state QProcess changed to.</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.SystemEnvironment">
            <summary>
            <para>Returns the environment of the calling process as a list of key=value pairs. Example:</para>
            <para> QStringList environment = QProcess::systemEnvironment();</para>
            <para> // environment = {&quot;PATH=/usr/bin:/usr/local/bin&quot;,</para>
            <para> //                &quot;USER=greg&quot;, &quot;HOME=/home/greg&quot;}</para>
            <para>This function does not cache the system environment. Therefore, it's possible to obtain an updated version of the environment if low-level C library functions like setenv ot putenv have been called.</para>
            <para>However, note that repeated calls to this function will recreate the list of environment variables, which is a non-trivial operation.</para>
            <para>Note: For new code, it is recommended to use QProcessEnvironment::systemEnvironment()</para>
            <para>This function was introduced in Qt 4.1.</para>
            <para>See also QProcessEnvironment::systemEnvironment(), environment(), and setEnvironment().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.Terminate">
            <summary>
            <para>Attempts to terminate the process.</para>
            <para>The process may not exit as a result of calling this function (it is given the chance to prompt the user for any unsaved files, etc).</para>
            <para>On Windows, terminate() posts a WM_CLOSE message to all toplevel windows of the process and then to the main thread of the process itself. On Unix and Mac OS X the SIGTERM signal is sent.</para>
            <para>Console applications on Windows that do not run an event loop, or whose event loop does not handle the WM_CLOSE message, can only be terminated by calling kill().</para>
            <para>On Symbian, this function requires platform security capability PowerMgmt. If absent, the process will panic with KERN-EXEC 46.</para>
            <para>Note: Terminating running processes from other processes will typically cause a panic in Symbian due to platform security.</para>
            <para>See also Symbian Platform Security Requirements and kill().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.WaitForBytesWritten(System.Int32)">
            <summary>
            <para>Reimplemented from QIODevice::waitForBytesWritten().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.WaitForFinished(System.Int32)">
            <summary>
            <para>Blocks until the process has finished and the finished() signal has been emitted, or until msecs milliseconds have passed.</para>
            <para>Returns true if the process finished; otherwise returns false (if the operation timed out, if an error occurred, or if this QProcess is already finished).</para>
            <para>This function can operate without an event loop. It is useful when writing non-GUI applications and when performing I/O operations in a non-GUI thread.</para>
            <para>Warning: Calling this function from the main (GUI) thread might cause your user interface to freeze.</para>
            <para>If msecs is -1, this function will not time out.</para>
            <para>See also finished(), waitForStarted(), waitForReadyRead(), and waitForBytesWritten().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.WaitForReadyRead(System.Int32)">
            <summary>
            <para>Reimplemented from QIODevice::waitForReadyRead().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.WaitForStarted(System.Int32)">
            <summary>
            <para>Blocks until the process has started and the started() signal has been emitted, or until msecs milliseconds have passed.</para>
            <para>Returns true if the process was started successfully; otherwise returns false (if the operation timed out or if an error occurred).</para>
            <para>This function can operate without an event loop. It is useful when writing non-GUI applications and when performing I/O operations in a non-GUI thread.</para>
            <para>Warning: Calling this function from the main (GUI) thread might cause your user interface to freeze.</para>
            <para>If msecs is -1, this function will not time out.</para>
            <para>See also started(), waitForReadyRead(), waitForBytesWritten(), and waitForFinished().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.WriteData(System.String,System.Int64)">
            <summary>
            <para>Reimplemented from QIODevice::writeData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcess.Finalize">
            <summary>
            <para>Destructs the QProcess object, i.e., killing the process.</para>
            <para>Note that this function will not return until the process is terminated.</para>
            </summary>
        </member>
        <member name="E:QtCore.QProcess.Started">
            <summary>
            <para>This signal is emitted by QProcess when the process has started, and state() returns Running.</para>
            </summary>
        </member>
        <member name="E:QtCore.QProcess.Finished">
            <summary>
            <para>This signal is emitted when the process finishes. exitCode is the exit code of the process, and exitStatus is the exit status. After the process has finished, the buffers in QProcess are still intact. You can still read any data that the process may have written before it finished.</para>
            <para>See also exitStatus().</para>
            </summary>
        </member>
        <member name="E:QtCore.QProcess.Error">
            <summary>
            <para>Returns the type of error that occurred last.</para>
            <para>See also state().</para>
            </summary>
        </member>
        <member name="E:QtCore.QProcess.StateChanged">
            <summary>
            <para>This signal is emitted whenever the state of QProcess changes. The newState argument is the state QProcess changed to.</para>
            </summary>
        </member>
        <member name="E:QtCore.QProcess.ReadyReadStandardOutput">
            <summary>
            <para>This signal is emitted when the process has made new data available through its standard output channel (stdout). It is emitted regardless of the current read channel.</para>
            <para>See also readAllStandardOutput() and readChannel().</para>
            </summary>
        </member>
        <member name="E:QtCore.QProcess.ReadyReadStandardError">
            <summary>
            <para>This signal is emitted when the process has made new data available through its standard error channel (stderr). It is emitted regardless of the current read channel.</para>
            <para>See also readAllStandardError() and readChannel().</para>
            </summary>
        </member>
        <member name="P:QtCore.QProcess.Environment">
            <summary>
            <para>This function is deprecated.</para>
            <para>Returns the environment that QProcess will use when starting a process, or an empty QStringList if no environment has been set using setEnvironment() or setEnvironmentHash(). If no environment has been set, the environment of the calling process will be used.</para>
            <para>Note: The environment settings are ignored on Windows CE and Symbian, as there is no concept of an environment.</para>
            <para>This function is deprecated.</para>
            <para>Sets the environment that QProcess will use when starting a process to the environment specified which consists of a list of key=value pairs.</para>
            <para>For example, the following code adds the C:\\BIN directory to the list of executable paths (PATHS) on Windows:</para>
            <para> QProcess process;</para>
            <para> QStringList env = QProcess::systemEnvironment();</para>
            <para> env &lt;&lt; &quot;TMPDIR=C:\\MyApp\\temp&quot;; // Add an environment variable</para>
            <para> env.replaceInStrings(QRegExp(&quot;^PATH=(.*)&quot;, Qt::CaseInsensitive), &quot;PATH=\\1;C:\\Bin&quot;);</para>
            <para> process.setEnvironment(env);</para>
            <para> process.start(&quot;myapp&quot;);</para>
            <para>Note: This function is less efficient than the setProcessEnvironment() function.</para>
            </summary>
        </member>
        <member name="P:QtCore.QProcess.NativeArguments">
            <summary>
            <para>Returns the additional native command line arguments for the program.</para>
            <para>Note: This function is available only on the Windows and Symbian platforms.</para>
            <para>This function was introduced in Qt 4.7.</para>
            <para>This is an overloaded function.</para>
            <para>Sets additional native command line arguments for the program.</para>
            <para>On operating systems where the system API for passing command line arguments to a subprocess natively uses a single string, one can conceive command lines which cannot be passed via QProcess's portable list-based API. In such cases this function must be used to set a string which is appended to the string composed from the usual argument list, with a delimiting space.</para>
            <para>Note: This function is available only on the Windows and Symbian platforms.</para>
            <para>This function was introduced in Qt 4.7.</para>
            </summary>
        </member>
        <member name="P:QtCore.QProcess.processChannelMode">
            <summary>
            <para>Returns the channel mode of the QProcess standard output and standard error channels.</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>Sets the channel mode of the QProcess standard output and standard error channels to the mode specified. This mode will be used the next time start() is called. For example:</para>
            <para> QProcess builder;</para>
            <para> builder.setProcessChannelMode(QProcess::MergedChannels);</para>
            <para> builder.start(&quot;make&quot;, QStringList() &lt;&lt; &quot;-j2&quot;);</para>
            <para></para>
            <para> if (!builder.waitForFinished())</para>
            <para>     qDebug() &lt;&lt; &quot;Make failed:&quot; &lt;&lt; builder.errorString();</para>
            <para> else</para>
            <para>     qDebug() &lt;&lt; &quot;Make output:&quot; &lt;&lt; builder.readAll();</para>
            <para>This function was introduced in Qt 4.2.</para>
            </summary>
        </member>
        <member name="P:QtCore.QProcess.ProcessEnvironment">
            <summary>
            <para>Returns the environment that QProcess will use when starting a process, or an empty object if no environment has been set using setEnvironment() or setProcessEnvironment(). If no environment has been set, the environment of the calling process will be used.</para>
            <para>Note: The environment settings are ignored on Windows CE, as there is no concept of an environment.</para>
            <para>This function was introduced in Qt 4.6.</para>
            <para>Sets the environment that QProcess will use when starting a process to the environment object.</para>
            <para>For example, the following code adds the C:\\BIN directory to the list of executable paths (PATHS) on Windows and sets TMPDIR:</para>
            <para> QProcess process;</para>
            <para> QProcessEnvironment env = QProcessEnvironment::systemEnvironment();</para>
            <para> env.insert(&quot;TMPDIR&quot;, &quot;C:\\MyApp\\temp&quot;); // Add an environment variable</para>
            <para> env.insert(&quot;PATH&quot;, env.value(&quot;Path&quot;) + &quot;;C:\\Bin&quot;);</para>
            <para> process.setProcessEnvironment(env);</para>
            <para> process.start(&quot;myapp&quot;);</para>
            <para>Note how, on Windows, environment variable names are case-insensitive.</para>
            <para>This function was introduced in Qt 4.6.</para>
            </summary>
        </member>
        <member name="P:QtCore.QProcess.ReadChannel">
            <summary>
            <para>Returns the current read channel of the QProcess.</para>
            <para>Sets the current read channel of the QProcess to the given channel. The current input channel is used by the functions read(), readAll(), readLine(), and getChar(). It also determines which channel triggers QProcess to emit readyRead().</para>
            </summary>
        </member>
        <member name="P:QtCore.QProcess.ReadChannelMode">
            <summary>
            <para>Returns the read channel mode of the QProcess. This function is equivalent to processChannelMode()</para>
            <para>Use setProcessChannelMode(mode) instead.</para>
            </summary>
        </member>
        <member name="P:QtCore.QProcess.WorkingDirectory">
            <summary>
            <para>If QProcess has been assigned a working directory, this function returns the working directory that the QProcess will enter before the program has started. Otherwise, (i.e., no directory has been assigned,) an empty string is returned, and QProcess will use the application's current working directory instead.</para>
            <para>Sets the working directory to dir. QProcess will start the process in this directory. The default behavior is to start the process in the working directory of the calling process.</para>
            <para>Note: The working directory setting is ignored on Symbian; the private directory of the process is considered its working directory.</para>
            <para>Note: On QNX, this may cause all application threads to temporarily freeze.</para>
            </summary>
        </member>
        <member name="T:QtCore.QProcess.ExitStatus">
            <summary>
            <para>This enum describes the different exit statuses of QProcess.</para>
            <para>See also exitStatus().</para>
            </summary>
        </member>
        <member name="F:QtCore.QProcess.ExitStatus.CrashExit">
            <summary>
            <para>The process crashed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QProcess.ExitStatus.NormalExit">
            <summary>
            <para>The process exited normally.</para>
            </summary>
        </member>
        <member name="T:QtCore.QProcess.ProcessChannel">
            <summary>
            <para>This enum describes the process channels used by the running process. Pass one of these values to setReadChannel() to set the current read channel of QProcess.</para>
            <para>See also setReadChannel().</para>
            </summary>
        </member>
        <member name="F:QtCore.QProcess.ProcessChannel.StandardError">
            <summary>
            <para>The standard error (stderr) of the running process.</para>
            </summary>
        </member>
        <member name="F:QtCore.QProcess.ProcessChannel.StandardOutput">
            <summary>
            <para>The standard output (stdout) of the running process.</para>
            </summary>
        </member>
        <member name="T:QtCore.QProcess.ProcessChannelMode">
            <summary>
            <para>This enum describes the process channel modes of QProcess. Pass one of these values to setProcessChannelMode() to set the current read channel mode.</para>
            <para>See also setProcessChannelMode().</para>
            </summary>
        </member>
        <member name="F:QtCore.QProcess.ProcessChannelMode.ForwardedChannels">
            <summary>
            <para>QProcess forwards the output of the running process onto the main process. Anything the child process writes to its standard output and standard error will be written to the standard output and standard error of the main process.</para>
            </summary>
        </member>
        <member name="F:QtCore.QProcess.ProcessChannelMode.MergedChannels">
            <summary>
            <para>QProcess merges the output of the running process into the standard output channel (stdout). The standard error channel (stderr) will not receive any data. The standard output and standard error data of the running process are interleaved.</para>
            </summary>
        </member>
        <member name="F:QtCore.QProcess.ProcessChannelMode.SeparateChannels">
            <summary>
            <para>QProcess manages the output of the running process, keeping standard output and standard error data in separate internal buffers. You can select the QProcess's current read channel by calling setReadChannel(). This is the default channel mode of QProcess.</para>
            </summary>
        </member>
        <member name="T:QtCore.QProcess.ProcessError">
            <summary>
            <para>This enum describes the different types of errors that are reported by QProcess.</para>
            <para>See also error().</para>
            </summary>
        </member>
        <member name="F:QtCore.QProcess.ProcessError.Crashed">
            <summary>
            <para>The process crashed some time after starting successfully.</para>
            </summary>
        </member>
        <member name="F:QtCore.QProcess.ProcessError.FailedToStart">
            <summary>
            <para>The process failed to start. Either the invoked program is missing, or you may have insufficient permissions to invoke the program.</para>
            </summary>
        </member>
        <member name="F:QtCore.QProcess.ProcessError.ReadError">
            <summary>
            <para>An error occurred when attempting to read from the process. For example, the process may not be running.</para>
            </summary>
        </member>
        <member name="F:QtCore.QProcess.ProcessError.Timedout">
            <summary>
            <para>The last waitFor...() function timed out. The state of QProcess is unchanged, and you can try calling waitFor...() again.</para>
            </summary>
        </member>
        <member name="F:QtCore.QProcess.ProcessError.UnknownError">
            <summary>
            <para>An unknown error occurred. This is the default return value of error().</para>
            </summary>
        </member>
        <member name="F:QtCore.QProcess.ProcessError.WriteError">
            <summary>
            <para>An error occurred when attempting to write to the process. For example, the process may not be running, or it may have closed its input channel.</para>
            </summary>
        </member>
        <member name="T:QtCore.QProcess.ProcessState">
            <summary>
            <para>This enum describes the different states of QProcess.</para>
            <para>See also state().</para>
            </summary>
        </member>
        <member name="F:QtCore.QProcess.ProcessState.NotRunning">
            <summary>
            <para>The process is not running.</para>
            </summary>
        </member>
        <member name="F:QtCore.QProcess.ProcessState.Running">
            <summary>
            <para>The process is running and is ready for reading and writing.</para>
            </summary>
        </member>
        <member name="F:QtCore.QProcess.ProcessState.Starting">
            <summary>
            <para>The process is starting, but the program has not yet been invoked.</para>
            </summary>
        </member>
        <member name="T:QtCore.QProcessEnvironment">
            <summary>
            The QProcessEnvironment class holds the environment variables that can be passed to a program.
            </summary>
            <remarks>
            <para></para>
            <para>A process's environment is composed of a set of key=value pairs known as environment variables. The QProcessEnvironment class wraps that concept and allows easy manipulation of those variables. It's meant to be used along with QProcess, to set the environment for child processes. It cannot be used to change the current process's environment.</para>
            <para>The environment of the calling process can be obtained using QProcessEnvironment::systemEnvironment().</para>
            <para>On Unix systems, the variable names are case-sensitive. For that reason, this class will not touch the names of the variables. Note as well that Unix environment allows both variable names and contents to contain arbitrary binary data (except for the NUL character), but this is not supported by QProcessEnvironment. This class only supports names and values that are encodable by the current locale settings (see QTextCodec::codecForLocale).</para>
            <para>On Windows, the variable names are case-insensitive. Therefore, QProcessEnvironment will always uppercase the names and do case-insensitive comparisons.</para>
            <para>On Windows CE, the concept of environment does not exist. This class will keep the values set for compatibility with other platforms, but the values set will have no effect on the processes being created.</para>
            <para></para>
            <para>See also QProcess, QProcess::systemEnvironment(), and QProcess::setProcessEnvironment().</para>
            </remarks>
        </member>
        <member name="M:QtCore.QProcessEnvironment.#ctor">
            <summary>
            <para>Creates a new QProcessEnvironment object. This constructor creates an empty environment. If set on a QProcess, this will cause the current environment variables to be removed.</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcessEnvironment.#ctor(QtCore.QProcessEnvironment)">
            <summary>
            <para>Creates a QProcessEnvironment object that is a copy of other.</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcessEnvironment.Clear">
            <summary>
            <para>Removes all key=value pairs from this QProcessEnvironment object, making it empty.</para>
            <para>See also isEmpty() and systemEnvironment().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcessEnvironment.Contains(System.String)">
            <summary>
            <para>Returns true if the environment variable of name name is found in this QProcessEnvironment object.</para>
            <para>On Windows, variable names are case-insensitive, so the key is converted to uppercase before searching. On other systems, names are case-sensitive so no trasformation is applied.</para>
            <para>See also insert() and value().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcessEnvironment.Insert(QtCore.QProcessEnvironment)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Inserts the contents of e in this QProcessEnvironment object. Variables in this object that also exist in e will be overwritten.</para>
            <para>This function was introduced in Qt 4.8.</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcessEnvironment.Insert(System.String,System.String)">
            <summary>
            <para>Inserts the environment variable of name name and contents value into this QProcessEnvironment object. If that variable already existed, it is replaced by the new value.</para>
            <para>On Windows, variable names are case-insensitive, so this function always uppercases the variable name before inserting. On other systems, names are case-sensitive, so no transformation is applied.</para>
            <para>On most systems, inserting a variable with no contents will have the same effect for applications as if the variable had not been set at all. However, to guarantee that there are no incompatibilities, to remove a variable, please use the remove() function.</para>
            <para>See also contains(), remove(), and value().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcessEnvironment.IsEmpty">
            <summary>
            <para>Returns true if this QProcessEnvironment object is empty: that is there are no key=value pairs set.</para>
            <para>See also clear(), systemEnvironment(), and insert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcessEnvironment.Keys">
            <summary>
            <para>Returns a list containing all the variable names in this QProcessEnvironment object.</para>
            <para>This function was introduced in Qt 4.8.</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcessEnvironment.op_Inequality(QtCore.QProcessEnvironment,QtCore.QProcessEnvironment)">
            <summary>
            <para>Returns true if this and the other QProcessEnvironment objects are different.</para>
            <para>See also operator==().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcessEnvironment.op_Equality(QtCore.QProcessEnvironment,QtCore.QProcessEnvironment)">
            <summary>
            <para>Returns true if this and the other QProcessEnvironment objects are equal.</para>
            <para>Two QProcessEnvironment objects are considered equal if they have the same set of key=value pairs. The comparison of keys is done case-sensitive on platforms where the environment is case-sensitive.</para>
            <para>See also operator!=() and contains().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcessEnvironment.Remove(System.String)">
            <summary>
            <para>Removes the environment variable identified by name from this QProcessEnvironment object. If that variable did not exist before, nothing happens.</para>
            <para>On Windows, variable names are case-insensitive, so the key is converted to uppercase before searching. On other systems, names are case-sensitive so no trasformation is applied.</para>
            <para>See also contains(), insert(), and value().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcessEnvironment.SystemEnvironment">
            <summary>
            <para>The systemEnvironment function returns the environment of the calling process.</para>
            <para>It is returned as a QProcessEnvironment. This function does not cache the system environment. Therefore, it's possible to obtain an updated version of the environment if low-level C library functions like setenv ot putenv have been called.</para>
            <para>However, note that repeated calls to this function will recreate the QProcessEnvironment object, which is a non-trivial operation.</para>
            <para>This function was introduced in Qt 4.6.</para>
            <para>See also QProcess::systemEnvironment().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcessEnvironment.ToStringList">
            <summary>
            <para>Converts this QProcessEnvironment object into a list of strings, one for each environment variable that is set. The environment variable's name and its value are separated by an equal character ('=').</para>
            <para>The QStringList contents returned by this function are suitable for use with the QProcess::setEnvironment function. However, it is recommended to use QProcess::setProcessEnvironment instead since that will avoid unnecessary copying of the data.</para>
            <para>See also systemEnvironment(), QProcess::systemEnvironment(), QProcess::environment(), and QProcess::setEnvironment().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcessEnvironment.Value(System.String,System.String)">
            <summary>
            <para>Searches this QProcessEnvironment object for a variable identified by name and returns its value. If the variable is not found in this object, then defaultValue is returned instead.</para>
            <para>On Windows, variable names are case-insensitive, so the key is converted to uppercase before searching. On other systems, names are case-sensitive so no trasformation is applied.</para>
            <para>See also contains(), insert(), and remove().</para>
            </summary>
        </member>
        <member name="M:QtCore.QProcessEnvironment.Finalize">
            <summary>
            <para>Frees the resources associated with this QProcessEnvironment object.</para>
            </summary>
        </member>
        <member name="T:QtCore.QPropertyAnimation">
            <summary>
            The QPropertyAnimation class animates Qt properties
            </summary>
            <remarks>
            <para></para>
            <para>QPropertyAnimation interpolates over Qt properties. As property values are stored in QVariants, the class inherits QVariantAnimation, and supports animation of the same variant types as its super class.</para>
            <para>A class declaring properties must be a QObject. To make it possible to animate a property, it must provide a setter (so that QPropertyAnimation can set the property's value). Note that this makes it possible to animate many of Qt's widgets. Let's look at an example:</para>
            <para> QPropertyAnimation *animation = new QPropertyAnimation(myWidget, &amp;quot;geometry&amp;quot;);</para>
            <para> animation-&amp;gt;setDuration(10000);</para>
            <para> animation-&amp;gt;setStartValue(QRect(0, 0, 100, 30));</para>
            <para> animation-&amp;gt;setEndValue(QRect(250, 250, 100, 30));</para>
            <para></para>
            <para> animation-&amp;gt;start();</para>
            <para>The property name and the QObject instance of which property should be animated are passed to the constructor. You can then specify the start and end value of the property. The procedure is equal for properties in classes you have implemented yourself--just check with QVariantAnimation that your QVariant type is supported.</para>
            <para>The QVariantAnimation class description explains how to set up the animation in detail. Note, however, that if a start value is not set, the property will start at the value it had when the QPropertyAnimation instance was created.</para>
            <para>QPropertyAnimation works like a charm on its own. For complex animations that, for instance, contain several objects, QAnimationGroup is provided. An animation group is an animation that can contain other animations, and that can manage when its animations are played. Look at QParallelAnimationGroup for an example.</para>
            <para></para>
            <para>See also QVariantAnimation, QAnimationGroup, and The Animation Framework.</para>
            </remarks>
        </member>
        <member name="T:QtCore.QVariantAnimation">
            <summary>
            The QVariantAnimation class provides an abstract base class for animations.
            </summary>
            <remarks>
            <para></para>
            <para>This class is part of The Animation Framework. It serves as a base class for property and item animations, with functions for shared functionality.</para>
            <para>QVariantAnimation cannot be used directly as it is an abstract class; it has a pure virtual method called updateCurrentValue(). The class performs interpolation over QVariants, but leaves using the interpolated values to its subclasses. Currently, Qt provides QPropertyAnimation, which animates Qt properties. See the QPropertyAnimation class description if you wish to animate such properties.</para>
            <para>You can then set start and end values for the property by calling setStartValue() and setEndValue(), and finally call start() to start the animation. QVariantAnimation will interpolate the property of the target object and emit valueChanged(). To react to a change in the current value you have to reimplement the updateCurrentValue() virtual function.</para>
            <para>It is also possible to set values at specified steps situated between the start and end value. The interpolation will then touch these points at the specified steps. Note that the start and end values are defined as the key values at 0.0 and 1.0.</para>
            <para>There are two ways to affect how QVariantAnimation interpolates the values. You can set an easing curve by calling setEasingCurve(), and configure the duration by calling setDuration(). You can change how the QVariants are interpolated by creating a subclass of QVariantAnimation, and reimplementing the virtual interpolated() function.</para>
            <para>Subclassing QVariantAnimation can be an alternative if you have QVariants that you do not wish to declare as Qt properties. Note, however, that you in most cases will be better off declaring your QVariant as a property.</para>
            <para>Not all QVariant types are supported. Below is a list of currently supported QVariant types:</para>
            <para></para>
            <para>Int</para>
            <para>Double</para>
            <para>Float</para>
            <para>QLine</para>
            <para>QLineF</para>
            <para>QPoint</para>
            <para>QPointF</para>
            <para>QSize</para>
            <para>QSizeF</para>
            <para>QRect</para>
            <para>QRectF</para>
            <para>QColor</para>
            <para></para>
            <para>If you need to interpolate other variant types, including custom types, you have to implement interpolation for these yourself. To do this, you can register an interpolator function for a given type. This function takes 3 parameters: the start value, the end value and the current progress.</para>
            <para>Example:</para>
            <para> QVariant myColorInterpolator(const QColor &amp;amp;start, const QColor &amp;amp;end, qreal progress)</para>
            <para> {</para>
            <para>     ...</para>
            <para>     return QColor(...);</para>
            <para> }</para>
            <para> ...</para>
            <para> qRegisterAnimationInterpolator&amp;lt;QColor&amp;gt;(myColorInterpolator);</para>
            <para>Another option is to reimplement interpolated(), which returns interpolation values for the value being interpolated.</para>
            <para></para>
            <para>See also QPropertyAnimation, QAbstractAnimation, and The Animation Framework.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QVariantAnimation.#ctor(QtCore.QObject)">
            <summary>
            <para>Construct a QVariantAnimation object. parent is passed to QAbstractAnimation's constructor.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariantAnimation.OnEvent(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QObject::event().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariantAnimation.Interpolated(System.Object,System.Object,System.Double)">
            <summary>
            <para>This virtual function returns the linear interpolation between variants from and to, at progress, usually a value between 0 and 1. You can reimplement this function in a subclass of QVariantAnimation to provide your own interpolation algorithm.</para>
            <para>Note that in order for the interpolation to work with a QEasingCurve that return a value smaller than 0 or larger than 1 (such as QEasingCurve::InBack) you should make sure that it can extrapolate. If the semantic of the datatype does not allow extrapolation this function should handle that gracefully.</para>
            <para>You should call the QVariantAnimation implementation of this function if you want your class to handle the types already supported by Qt (see class QVariantAnimation description for a list of supported types).</para>
            <para>See also QEasingCurve.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariantAnimation.KeyValueAt(System.Double)">
            <summary>
            <para>Returns the key frame value for the given step. The given step must be in the range 0 to 1. If there is no KeyValue for step, it returns an invalid QVariant.</para>
            <para>See also keyValues() and setKeyValueAt().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariantAnimation.SetKeyValueAt(System.Double,System.Object)">
            <summary>
            <para>Creates a key frame at the given step with the given value. The given step must be in the range 0 to 1.</para>
            <para>See also setKeyValues() and keyValueAt().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariantAnimation.UpdateCurrentTime(System.Int32)">
            <summary>
            <para>Reimplemented from QAbstractAnimation::updateCurrentTime().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariantAnimation.UpdateCurrentValue(System.Object)">
            <summary>
            <para>This pure virtual function is called every time the animation's current value changes. The value argument is the new current value.</para>
            <para>See also currentValue.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariantAnimation.UpdateState(QtCore.QAbstractAnimation.State,QtCore.QAbstractAnimation.State)">
            <summary>
            <para>Reimplemented from QAbstractAnimation::updateState().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariantAnimation.OnValueChanged(System.Object)">
            <summary>
            <para>QVariantAnimation emits this signal whenever the current value changes.</para>
            <para>See also currentValue, startValue, and endValue.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariantAnimation.Finalize">
            <summary>
            <para>Destroys the animation.</para>
            </summary>
        </member>
        <member name="E:QtCore.QVariantAnimation.ValueChanged">
            <summary>
            <para>QVariantAnimation emits this signal whenever the current value changes.</para>
            <para>See also currentValue, startValue, and endValue.</para>
            </summary>
        </member>
        <member name="P:QtCore.QVariantAnimation.StartValue">
            <summary>
            <para>This property holds the optional start value of the animation.</para>
            <para>This property describes the optional start value of the animation. If omitted, or if a null QVariant is assigned as the start value, the animation will use the current position of the end when the animation is started.</para>
            </summary>
        </member>
        <member name="P:QtCore.QVariantAnimation.EndValue">
            <summary>
            <para>This property holds the end value of the animation.</para>
            <para>This property describes the end value of the animation.</para>
            </summary>
        </member>
        <member name="P:QtCore.QVariantAnimation.CurrentValue">
            <summary>
            <para>This property holds the current value of the animation.</para>
            <para>This property describes the current value; an interpolated value between the start value and the end value, using the current time for progress. The value itself is obtained from interpolated(), which is called repeatedly as the animation is running.</para>
            <para>QVariantAnimation calls the virtual updateCurrentValue() function when the current value changes. This is particularly useful for subclasses that need to track updates. For example, QPropertyAnimation uses this function to animate Qt properties.</para>
            </summary>
        </member>
        <member name="P:QtCore.QVariantAnimation.EasingCurve">
            <summary>
            <para>This property holds the easing curve of the animation.</para>
            <para>This property defines the easing curve of the animation. By default, a linear easing curve is used, resulting in linear interpolation. Other curves are provided, for instance, QEasingCurve::InCirc, which provides a circular entry curve. Another example is QEasingCurve::InOutElastic, which provides an elastic effect on the values of the interpolated variant.</para>
            <para>QVariantAnimation will use the QEasingCurve::valueForProgress() to transform the &quot;normalized progress&quot; (currentTime / totalDuration) of the animation into the effective progress actually used by the animation. It is this effective progress that will be the progress when interpolated() is called. Also, the steps in the keyValues are referring to this effective progress.</para>
            <para>The easing curve is used with the interpolator, the interpolated() virtual function, the animation's duration, and iterationCount, to control how the current value changes as the animation progresses.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPropertyAnimation.#ctor(QtCore.QObject)">
            <summary>
            <para>Construct a QPropertyAnimation object. parent is passed to QObject's constructor.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPropertyAnimation.#ctor(QtCore.QObject,QtCore.QByteArray,QtCore.QObject)">
            <summary>
            <para>Construct a QPropertyAnimation object. parent is passed to QObject's constructor. The animation changes the property propertyName on target. The default duration is 250ms.</para>
            <para>See also targetObject and propertyName.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPropertyAnimation.OnEvent(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QObject::event().</para>
            </summary>
        </member>
        <member name="M:QtCore.QPropertyAnimation.UpdateCurrentValue(System.Object)">
            <summary>
            <para>Reimplemented from QVariantAnimation::updateCurrentValue().</para>
            <para>This virtual function is called by QVariantAnimation whenever the current value changes. value is the new, updated value. It updates the current value of the property on the target object.</para>
            <para>See also currentValue and currentTime.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPropertyAnimation.UpdateState(QtCore.QAbstractAnimation.State,QtCore.QAbstractAnimation.State)">
            <summary>
            <para>Reimplemented from QAbstractAnimation::updateState().</para>
            <para>If the startValue is not defined when the state of the animation changes from Stopped to Running, the current property value is used as the initial value for the animation.</para>
            </summary>
        </member>
        <member name="M:QtCore.QPropertyAnimation.Finalize">
            <summary>
            <para>Destroys the QPropertyAnimation instance.</para>
            </summary>
        </member>
        <member name="P:QtCore.QPropertyAnimation.PropertyName">
            <summary>
            <para>This property holds the target property name for this animation.</para>
            <para>This property defines the target property name for this animation. The property name is required for the animation to operate.</para>
            </summary>
        </member>
        <member name="T:QtCore.QReadLocker">
            <summary>
            The QReadLocker class is a convenience class that simplifies locking and unlocking read-write locks for read access.
            </summary>
            <remarks>
            <para></para>
            <para>The purpose of QReadLocker (and QWriteLocker) is to simplify QReadWriteLock locking and unlocking. Locking and unlocking statements or in exception handling code is error-prone and difficult to debug. QReadLocker can be used in such situations to ensure that the state of the lock is always well-defined.</para>
            <para>Here's an example that uses QReadLocker to lock and unlock a read-write lock for reading:</para>
            <para> QReadWriteLock lock;</para>
            <para></para>
            <para> QByteArray readData()</para>
            <para> {</para>
            <para>     QReadLocker locker(&amp;amp;lock);</para>
            <para>     ...</para>
            <para>     return data;</para>
            <para> }</para>
            <para>It is equivalent to the following code:</para>
            <para> QReadWriteLock lock;</para>
            <para></para>
            <para> QByteArray readData()</para>
            <para> {</para>
            <para>     lock.lockForRead();</para>
            <para>     ...</para>
            <para>     lock.unlock();</para>
            <para>     return data;</para>
            <para> }</para>
            <para>The QMutexLocker documentation shows examples where the use of a locker object greatly simplifies programming.</para>
            <para></para>
            <para>See also QWriteLocker and QReadWriteLock.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QReadLocker.#ctor(QtCore.QReadWriteLock)">
            <summary>
            <para>Constructs a QReadLocker and locks lock for reading. The lock will be unlocked when the QReadLocker is destroyed. If lock is zero, QReadLocker does nothing.</para>
            <para>See also QReadWriteLock::lockForRead().</para>
            </summary>
        </member>
        <member name="M:QtCore.QReadLocker.ReadWriteLock">
            <summary>
            <para>Returns a pointer to the read-write lock that was passed to the constructor.</para>
            </summary>
        </member>
        <member name="M:QtCore.QReadLocker.Relock">
            <summary>
            <para>Relocks an unlocked lock.</para>
            <para>See also unlock().</para>
            </summary>
        </member>
        <member name="M:QtCore.QReadLocker.Unlock">
            <summary>
            <para>Unlocks the lock associated with this locker.</para>
            <para>See also QReadWriteLock::unlock().</para>
            </summary>
        </member>
        <member name="M:QtCore.QReadLocker.Finalize">
            <summary>
            <para>Destroys the QReadLocker and unlocks the lock that was passed to the constructor.</para>
            <para>See also QReadWriteLock::unlock().</para>
            </summary>
        </member>
        <member name="T:QtCore.QReadWriteLock">
            <summary>
            The QReadWriteLock class provides read-write locking.
            </summary>
            <remarks>
            <para></para>
            <para>A read-write lock is a synchronization tool for protecting resources that can be accessed for reading and writing. This type of lock is useful if you want to allow multiple threads to have simultaneous read-only access, but as soon as one thread wants to write to the resource, all other threads must be blocked until the writing is complete.</para>
            <para>In many cases, QReadWriteLock is a direct competitor to QMutex. QReadWriteLock is a good choice if there are many concurrent reads and writing occurs infrequently.</para>
            <para>Example:</para>
            <para> QReadWriteLock lock;</para>
            <para></para>
            <para> void ReaderThread::run()</para>
            <para> {</para>
            <para>     ...</para>
            <para>     lock.lockForRead();</para>
            <para>     read_file();</para>
            <para>     lock.unlock();</para>
            <para>     ...</para>
            <para> }</para>
            <para></para>
            <para> void WriterThread::run()</para>
            <para> {</para>
            <para>     ...</para>
            <para>     lock.lockForWrite();</para>
            <para>     write_file();</para>
            <para>     lock.unlock();</para>
            <para>     ...</para>
            <para> }</para>
            <para>To ensure that writers aren't blocked forever by readers, readers attempting to obtain a lock will not succeed if there is a blocked writer waiting for access, even if the lock is currently only accessed by other readers. Also, if the lock is accessed by a writer and another writer comes in, that writer will have priority over any readers that might also be waiting.</para>
            <para>Like QMutex, a QReadWriteLock can be recursively locked by the same thread when constructed in QReadWriteLock::RecursionMode. In such cases, unlock() must be called the same number of times lockForWrite() or lockForRead() was called. Note that the lock type cannot be changed when trying to lock recursively, i.e. it is not possible to lock for reading in a thread that already has locked for writing (and vice versa).</para>
            <para></para>
            <para>See also QReadLocker, QWriteLocker, QMutex, and QSemaphore.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QReadWriteLock.#ctor">
            <summary>
            <para>Constructs a QReadWriteLock object in NonRecursive mode.</para>
            <para>See also lockForRead() and lockForWrite().</para>
            </summary>
        </member>
        <member name="M:QtCore.QReadWriteLock.#ctor(QtCore.QReadWriteLock.RecursionMode)">
            <summary>
            <para>Constructs a QReadWriteLock object in the given recursionMode.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also lockForRead(), lockForWrite(), and RecursionMode.</para>
            </summary>
        </member>
        <member name="M:QtCore.QReadWriteLock.LockForRead">
            <summary>
            <para>Locks the lock for reading. This function will block the current thread if any thread (including the current) has locked for writing.</para>
            <para>See also unlock(), lockForWrite(), and tryLockForRead().</para>
            </summary>
        </member>
        <member name="M:QtCore.QReadWriteLock.LockForWrite">
            <summary>
            <para>Locks the lock for writing. This function will block the current thread if another thread has locked for reading or writing.</para>
            <para>See also unlock(), lockForRead(), and tryLockForWrite().</para>
            </summary>
        </member>
        <member name="M:QtCore.QReadWriteLock.TryLockForRead">
            <summary>
            <para>Attempts to lock for reading. If the lock was obtained, this function returns true, otherwise it returns false instead of waiting for the lock to become available, i.e. it does not block.</para>
            <para>The lock attempt will fail if another thread has locked for writing.</para>
            <para>If the lock was obtained, the lock must be unlocked with unlock() before another thread can successfully lock it.</para>
            <para>See also unlock() and lockForRead().</para>
            </summary>
        </member>
        <member name="M:QtCore.QReadWriteLock.TryLockForRead(System.Int32)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Attempts to lock for reading. This function returns true if the lock was obtained; otherwise it returns false. If another thread has locked for writing, this function will wait for at most timeout milliseconds for the lock to become available.</para>
            <para>Note: Passing a negative number as the timeout is equivalent to calling lockForRead(), i.e. this function will wait forever until lock can be locked for reading when timeout is negative.</para>
            <para>If the lock was obtained, the lock must be unlocked with unlock() before another thread can successfully lock it.</para>
            <para>See also unlock() and lockForRead().</para>
            </summary>
        </member>
        <member name="M:QtCore.QReadWriteLock.TryLockForWrite">
            <summary>
            <para>Attempts to lock for writing. If the lock was obtained, this function returns true; otherwise, it returns false immediately.</para>
            <para>The lock attempt will fail if another thread has locked for reading or writing.</para>
            <para>If the lock was obtained, the lock must be unlocked with unlock() before another thread can successfully lock it.</para>
            <para>See also unlock() and lockForWrite().</para>
            </summary>
        </member>
        <member name="M:QtCore.QReadWriteLock.TryLockForWrite(System.Int32)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Attempts to lock for writing. This function returns true if the lock was obtained; otherwise it returns false. If another thread has locked for reading or writing, this function will wait for at most timeout milliseconds for the lock to become available.</para>
            <para>Note: Passing a negative number as the timeout is equivalent to calling lockForWrite(), i.e. this function will wait forever until lock can be locked for writing when timeout is negative.</para>
            <para>If the lock was obtained, the lock must be unlocked with unlock() before another thread can successfully lock it.</para>
            <para>See also unlock() and lockForWrite().</para>
            </summary>
        </member>
        <member name="M:QtCore.QReadWriteLock.Unlock">
            <summary>
            <para>Unlocks the lock.</para>
            <para>Attempting to unlock a lock that is not locked is an error, and will result in program termination.</para>
            <para>See also lockForRead(), lockForWrite(), tryLockForRead(), and tryLockForWrite().</para>
            </summary>
        </member>
        <member name="M:QtCore.QReadWriteLock.Finalize">
            <summary>
            <para>Destroys the QReadWriteLock object.</para>
            <para>Warning: Destroying a read-write lock that is in use may result in undefined behavior.</para>
            </summary>
        </member>
        <member name="T:QtCore.QReadWriteLock.RecursionMode">
            <summary>
            <para>This enum was introduced or modified in Qt 4.4.</para>
            <para>See also QReadWriteLock().</para>
            </summary>
        </member>
        <member name="F:QtCore.QReadWriteLock.RecursionMode.NonRecursive">
            <summary>
            <para>In this mode, a thread may only lock a QReadWriteLock once.</para>
            </summary>
        </member>
        <member name="F:QtCore.QReadWriteLock.RecursionMode.Recursive">
            <summary>
            <para>In this mode, a thread can lock the same QReadWriteLock multiple times and the mutex won't be unlocked until a corresponding number of unlock() calls have been made.</para>
            </summary>
        </member>
        <member name="T:QtCore.QRect">
            <summary>
            The QRect class defines a rectangle in the plane using integer precision.
            </summary>
            <remarks>
            <para></para>
            <para>A rectangle is normally expressed as an upper-left corner and a size. The size (width and height) of a QRect is always equivalent to the mathematical rectangle that forms the basis for its rendering.</para>
            <para>A QRect can be constructed with a set of left, top, width and height integers, or from a QPoint and a QSize. The following code creates two identical rectangles.</para>
            <para> QRect r1(100, 200, 11, 16);</para>
            <para> QRect r2(QPoint(100, 200), QSize(11, 16));</para>
            <para>There is a third constructor that creates a QRect using the top-left and bottom-right coordinates, but we recommend that you avoid using it. The rationale is that for historical reasons the values returned by the bottom() and right() functions deviate from the true bottom-right corner of the rectangle.</para>
            <para>The QRect class provides a collection of functions that return the various rectangle coordinates, and enable manipulation of these. QRect also provide functions to move the rectangle relative to the various coordinates. In addition there is a moveTo() function that moves the rectangle, leaving its top left corner at the given coordinates. Alternatively, the translate() function moves the rectangle the given offset relative to the current position, and the translated() function returns a translated copy of this rectangle.</para>
            <para>The size() function returns the rectange's dimensions as a QSize. The dimensions can also be retrieved separately using the width() and height() functions. To manipulate the dimensions use the setSize(), setWidth() or setHeight() functions. Alternatively, the size can be changed by applying either of the functions setting the rectangle coordinates, for example, setBottom() or setRight().</para>
            <para>The contains() function tells whether a given point is inside the rectangle or not, and the intersects() function returns true if this rectangle intersects with a given rectangle. The QRect class also provides the intersected() function which returns the intersection rectangle, and the united() function which returns the rectangle that encloses the given rectangle and this:</para>
            <para></para>
            <para>	</para>
            <para>intersected()	united()</para>
            <para></para>
            <para>The isEmpty() function returns true if left() &amp;gt; right() or top() &amp;gt; bottom(). Note that an empty rectangle is not valid: The isValid() function returns true if left() &amp;lt;= right() and top() &amp;lt;= bottom(). A null rectangle (isNull() == true) on the other hand, has both width and height set to 0.</para>
            <para>Note that due to the way QRect and QRectF are defined, an empty QRect is defined in essentially the same way as QRectF.</para>
            <para>Finally, QRect objects can be streamed as well as compared.</para>
            <para></para>
            <para>Rendering</para>
            <para>When using an anti-aliased painter, the boundary line of a QRect will be rendered symmetrically on both sides of the mathematical rectangle's boundary line. But when using an aliased painter (the default) other rules apply.</para>
            <para>Then, when rendering with a one pixel wide pen the QRect's boundary line will be rendered to the right and below the mathematical rectangle's boundary line.</para>
            <para>When rendering with a two pixels wide pen the boundary line will be split in the middle by the mathematical rectangle. This will be the case whenever the pen is set to an even number of pixels, while rendering with a pen with an odd number of pixels, the spare pixel will be rendered to the right and below the mathematical rectangle as in the one pixel case.</para>
            <para></para>
            <para>	</para>
            <para>Logical representation	One pixel wide pen</para>
            <para>	</para>
            <para>Two pixel wide pen	Three pixel wide pen</para>
            <para></para>
            <para></para>
            <para>Coordinates</para>
            <para>The QRect class provides a collection of functions that return the various rectangle coordinates, and enable manipulation of these. QRect also provide functions to move the rectangle relative to the various coordinates.</para>
            <para>For example the left(), setLeft() and moveLeft() functions as an example: left() returns the x-coordinate of the rectangle's left edge, setLeft() sets the left edge of the rectangle to the given x coordinate (it may change the width, but will never change the rectangle's right edge) and moveLeft() moves the entire rectangle horizontally, leaving the rectangle's left edge at the given x coordinate and its size unchanged.</para>
            <para>Note that for historical reasons the values returned by the bottom() and right() functions deviate from the true bottom-right corner of the rectangle: The right() function returns  left() + width() - 1 and the bottom() function returns top() + height() - 1. The same is the case for the point returned by the bottomRight() convenience function. In addition, the x and y coordinate of the topRight() and bottomLeft() functions, respectively, contain the same deviation from the true right and bottom edges.</para>
            <para>We recommend that you use x() + width() and y() + height() to find the true bottom-right corner, and avoid right() and bottom(). Another solution is to use QRectF: The QRectF class defines a rectangle in the plane using floating point accuracy for coordinates, and the QRectF::right() and QRectF::bottom() functions do return the right and bottom coordinates.</para>
            <para>It is also possible to add offsets to this rectangle's coordinates using the adjust() function, as well as retrieve a new rectangle based on adjustments of the original one using the adjusted() function. If either of the width and height is negative, use the normalized() function to retrieve a rectangle where the corners are swapped.</para>
            <para>In addition, QRect provides the getCoords() function which extracts the position of the rectangle's top-left and bottom-right corner, and the getRect() function which extracts the rectangle's top-left corner, width and height. Use the setCoords() and setRect() function to manipulate the rectangle's coordinates and dimensions in one go.</para>
            <para></para>
            <para>See also QRectF and QRegion.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QRect.#ctor">
            <summary>
            <para>Constructs a null rectangle.</para>
            <para>See also isNull().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.#ctor(QtCore.QRect)">
            <summary>
            <para>Constructs a null rectangle.</para>
            <para>See also isNull().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.#ctor(QtCore.QPoint,QtCore.QPoint)">
            <summary>
            <para>Constructs a rectangle with the given topLeft and bottomRight corners.</para>
            <para>See also setTopLeft() and setBottomRight().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.#ctor(QtCore.QPoint,QtCore.QSize)">
            <summary>
            <para>Constructs a rectangle with the given topLeft corner and the given size.</para>
            <para>See also setTopLeft() and setSize().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            <para>Constructs a rectangle with (x, y) as its top-left corner and the given width and height.</para>
            <para>See also setRect().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.Adjust(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            <para>Adds dx1, dy1, dx2 and dy2 respectively to the existing coordinates of the rectangle.</para>
            <para>See also adjusted() and setRect().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.Adjusted(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            <para>Returns a new rectangle with dx1, dy1, dx2 and dy2 added respectively to the existing coordinates of this rectangle.</para>
            <para>See also adjust().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.Center">
            <summary>
            <para>Returns the center point of the rectangle.</para>
            <para>See also moveCenter().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.Contains(QtCore.QPoint,System.Boolean)">
            <summary>
            <para>Returns true if the given point is inside or on the edge of the rectangle, otherwise returns false. If proper is true, this function only returns true if the given point is inside the rectangle (i.e., not on the edge).</para>
            <para>See also intersects().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.Contains(QtCore.QRect,System.Boolean)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns true if the given rectangle is inside this rectangle. otherwise returns false. If proper is true, this function only returns true if the rectangle is entirely inside this rectangle (not on the edge).</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.Contains(System.Int32,System.Int32)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns true if the point (x, y) is inside this rectangle, otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.Contains(System.Int32,System.Int32,System.Boolean)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns true if the point (x, y) is inside or on the edge of the rectangle, otherwise returns false. If proper is true, this function only returns true if the point is entirely inside the rectangle(not on the edge).</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.GetCoords(System.Int32@,System.Int32@,System.Int32@,System.Int32@)">
            <summary>
            <para>Extracts the position of the rectangle's top-left corner to *x1 and *y1, and the position of the bottom-right corner to *x2 and *y2.</para>
            <para>See also setCoords() and getRect().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.GetRect(System.Int32@,System.Int32@,System.Int32@,System.Int32@)">
            <summary>
            <para>Extracts the position of the rectangle's top-left corner to *x and *y, and its dimensions to *width and *height.</para>
            <para>See also setRect() and getCoords().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.Intersect(QtCore.QRect)">
            <summary>
            <para>Use intersected(rectangle) instead.</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.Intersected(QtCore.QRect)">
            <summary>
            <para>Returns the intersection of this rectangle and the given rectangle. Note that r.intersected(s) is equivalent to r &amp; s.</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also intersects(), united(), and operator&amp;=().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.Intersects(QtCore.QRect)">
            <summary>
            <para>Returns true if this rectangle intersects with the given rectangle (i.e., there is at least one pixel that is within both rectangles), otherwise returns false.</para>
            <para>The intersection rectangle can be retrieved using the intersected() function.</para>
            <para>See also contains().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.IsEmpty">
            <summary>
            <para>Returns true if the rectangle is empty, otherwise returns false.</para>
            <para>An empty rectangle has a left() &gt; right() or top() &gt; bottom(). An empty rectangle is not valid (i.e., isEmpty() == !isValid()).</para>
            <para>Use the normalized() function to retrieve a rectangle where the corners are swapped.</para>
            <para>See also isNull(), isValid(), and normalized().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.IsNull">
            <summary>
            <para>Returns true if the rectangle is a null rectangle, otherwise returns false.</para>
            <para>A null rectangle has both the width and the height set to 0 (i.e., right() == left() - 1 and bottom() == top() - 1). A null rectangle is also empty, and hence is not valid.</para>
            <para>See also isEmpty() and isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.IsValid">
            <summary>
            <para>Returns true if the rectangle is valid, otherwise returns false.</para>
            <para>A valid rectangle has a left() &lt; right() and top() &lt; bottom(). Note that non-trivial operations like intersections are not defined for invalid rectangles. A valid rectangle is not empty (i.e., isValid() == !isEmpty()).</para>
            <para>See also isNull(), isEmpty(), and normalized().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.MoveBottom(System.Int32)">
            <summary>
            <para>Moves the rectangle vertically, leaving the rectangle's bottom edge at the given y coordinate. The rectangle's size is unchanged.</para>
            <para>See also bottom(), setBottom(), and moveTop().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.MoveBottomLeft(QtCore.QPoint)">
            <summary>
            <para>Moves the rectangle, leaving the bottom-left corner at the given position. The rectangle's size is unchanged.</para>
            <para>See also setBottomLeft(), moveBottom(), and moveLeft().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.MoveBottomRight(QtCore.QPoint)">
            <summary>
            <para>Moves the rectangle, leaving the bottom-right corner at the given position. The rectangle's size is unchanged.</para>
            <para>See also setBottomRight(), moveRight(), and moveBottom().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.MoveCenter(QtCore.QPoint)">
            <summary>
            <para>Moves the rectangle, leaving the center point at the given position. The rectangle's size is unchanged.</para>
            <para>See also center().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.MoveLeft(System.Int32)">
            <summary>
            <para>Moves the rectangle horizontally, leaving the rectangle's left edge at the given x coordinate. The rectangle's size is unchanged.</para>
            <para>See also left(), setLeft(), and moveRight().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.MoveRight(System.Int32)">
            <summary>
            <para>Moves the rectangle horizontally, leaving the rectangle's right edge at the given x coordinate. The rectangle's size is unchanged.</para>
            <para>See also right(), setRight(), and moveLeft().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.MoveTo(QtCore.QPoint)">
            <summary>
            <para>Moves the rectangle, leaving the top-left corner at the given position.</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.MoveTo(System.Int32,System.Int32)">
            <summary>
            <para>Moves the rectangle, leaving the top-left corner at the given position (x, y). The rectangle's size is unchanged.</para>
            <para>See also translate() and moveTopLeft().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.MoveTop(System.Int32)">
            <summary>
            <para>Moves the rectangle vertically, leaving the rectangle's top edge at the given y coordinate. The rectangle's size is unchanged.</para>
            <para>See also top(), setTop(), and moveBottom().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.MoveTopLeft(QtCore.QPoint)">
            <summary>
            <para>Moves the rectangle, leaving the top-left corner at the given position. The rectangle's size is unchanged.</para>
            <para>See also setTopLeft(), moveTop(), and moveLeft().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.MoveTopRight(QtCore.QPoint)">
            <summary>
            <para>Moves the rectangle, leaving the top-right corner at the given position. The rectangle's size is unchanged.</para>
            <para>See also setTopRight(), moveTop(), and moveRight().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.Normalized">
            <summary>
            <para>Returns a normalized rectangle; i.e., a rectangle that has a non-negative width and height.</para>
            <para>If width() &lt; 0 the function swaps the left and right corners, and it swaps the top and bottom corners if height() &lt; 0.</para>
            <para>See also isValid() and isEmpty().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.op_BitwiseAnd(QtCore.QRect,QtCore.QRect)">
            <summary>
            <para>Returns the intersection of this rectangle and the given rectangle. Returns an empty rectangle if there is no intersection.</para>
            <para>See also operator&amp;=() and intersected().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.op_BitwiseOr(QtCore.QRect,QtCore.QRect)">
            <summary>
            <para>Returns the bounding rectangle of this rectangle and the given rectangle.</para>
            <para>See also operator|=() and united().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.SetCoords(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            <para>Sets the coordinates of the rectangle's top-left corner to (x1, y1), and the coordinates of its bottom-right corner to (x2, y2).</para>
            <para>See also coords(), getCoords(), and setRect().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.SetRect(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            <para>Sets the coordinates of the rectangle's top-left corner to (x, y), and its size to the given width and height.</para>
            <para>See also rect(), getRect(), and setCoords().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.Translate(QtCore.QPoint)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Moves the rectangle offset.x() along the x axis and offset.y() along the y axis, relative to the current position.</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.Translate(System.Int32,System.Int32)">
            <summary>
            <para>Moves the rectangle dx along the x axis and dy along the y axis, relative to the current position. Positive values move the rectangle to the right and down.</para>
            <para>See also moveTopLeft(), moveTo(), and translated().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.Translated(QtCore.QPoint)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns a copy of the rectangle that is translated offset.x() along the x axis and offset.y() along the y axis, relative to the current position.</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.Translated(System.Int32,System.Int32)">
            <summary>
            <para>Returns a copy of the rectangle that is translated dx along the x axis and dy along the y axis, relative to the current position. Positive values move the rectangle to the right and down.</para>
            <para>See also translate().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.Unite(QtCore.QRect)">
            <summary>
            <para>Use united(rectangle) instead.</para>
            </summary>
        </member>
        <member name="M:QtCore.QRect.United(QtCore.QRect)">
            <summary>
            <para>Returns the bounding rectangle of this rectangle and the given rectangle.</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also intersected().</para>
            </summary>
        </member>
        <member name="P:QtCore.QRect.Bottom">
            <summary>
            <para>Returns the y-coordinate of the rectangle's bottom edge.</para>
            <para>Note that for historical reasons this function returns top() + height() - 1; use y() + height() to retrieve the true y-coordinate.</para>
            <para>Sets the bottom edge of the rectangle to the given y coordinate. May change the height, but will never change the top edge of the rectangle.</para>
            </summary>
        </member>
        <member name="P:QtCore.QRect.BottomLeft">
            <summary>
            <para>Returns the position of the rectangle's bottom-left corner. Note that for historical reasons this function returns QPoint(left(), top() + height() - 1).</para>
            <para>Set the bottom-left corner of the rectangle to the given position. May change the size, but will never change the top-right corner of the rectangle.</para>
            </summary>
        </member>
        <member name="P:QtCore.QRect.BottomRight">
            <summary>
            <para>Returns the position of the rectangle's bottom-right corner.</para>
            <para>Note that for historical reasons this function returns QPoint(left() + width() -1, top() + height() - 1).</para>
            <para>Set the bottom-right corner of the rectangle to the given position. May change the size, but will never change the top-left corner of the rectangle.</para>
            </summary>
        </member>
        <member name="P:QtCore.QRect.Height">
            <summary>
            <para>Returns the height of the rectangle.</para>
            <para>Sets the height of the rectangle to the given height. The bottom edge is changed, but not the top one.</para>
            </summary>
        </member>
        <member name="P:QtCore.QRect.Left">
            <summary>
            <para>Returns the x-coordinate of the rectangle's left edge. Equivalent to x().</para>
            <para>Sets the left edge of the rectangle to the given x coordinate. May change the width, but will never change the right edge of the rectangle.</para>
            <para>Equivalent to setX().</para>
            </summary>
        </member>
        <member name="P:QtCore.QRect.Right">
            <summary>
            <para>Returns the x-coordinate of the rectangle's right edge.</para>
            <para>Note that for historical reasons this function returns left() + width() - 1; use x() + width() to retrieve the true x-coordinate.</para>
            <para>Sets the right edge of the rectangle to the given x coordinate. May change the width, but will never change the left edge of the rectangle.</para>
            </summary>
        </member>
        <member name="P:QtCore.QRect.Size">
            <summary>
            <para>Returns the size of the rectangle.</para>
            <para>Sets the size of the rectangle to the given size. The top-left corner is not moved.</para>
            </summary>
        </member>
        <member name="P:QtCore.QRect.Top">
            <summary>
            <para>Returns the y-coordinate of the rectangle's top edge. Equivalent to y().</para>
            <para>Sets the top edge of the rectangle to the given y coordinate. May change the height, but will never change the bottom edge of the rectangle.</para>
            <para>Equivalent to setY().</para>
            </summary>
        </member>
        <member name="P:QtCore.QRect.TopLeft">
            <summary>
            <para>Returns the position of the rectangle's top-left corner.</para>
            <para>Set the top-left corner of the rectangle to the given position. May change the size, but will never change the bottom-right corner of the rectangle.</para>
            </summary>
        </member>
        <member name="P:QtCore.QRect.TopRight">
            <summary>
            <para>Returns the position of the rectangle's top-right corner.</para>
            <para>Note that for historical reasons this function returns QPoint(left() + width() -1, top()).</para>
            <para>Set the top-right corner of the rectangle to the given position. May change the size, but will never change the bottom-left corner of the rectangle.</para>
            </summary>
        </member>
        <member name="P:QtCore.QRect.Width">
            <summary>
            <para>Returns the width of the rectangle.</para>
            <para>Sets the width of the rectangle to the given width. The right edge is changed, but not the left one.</para>
            </summary>
        </member>
        <member name="P:QtCore.QRect.X">
            <summary>
            <para>Returns the x-coordinate of the rectangle's left edge. Equivalent to left().</para>
            <para>Sets the left edge of the rectangle to the given x coordinate. May change the width, but will never change the right edge of the rectangle.</para>
            <para>Equivalent to setLeft().</para>
            </summary>
        </member>
        <member name="P:QtCore.QRect.Y">
            <summary>
            <para>Returns the y-coordinate of the rectangle's top edge. Equivalent to top().</para>
            <para>Sets the top edge of the rectangle to the given y coordinate. May change the height, but will never change the bottom edge of the rectangle.</para>
            <para>Equivalent to setTop().</para>
            </summary>
        </member>
        <member name="T:QtCore.QRegExp">
            <summary>
            The QRegExp class provides pattern matching using regular expressions.
            </summary>
            <remarks>
            <para></para>
            <para>A regular expression, or &amp;quot;regexp&amp;quot;, is a pattern for matching substrings in a text. This is useful in many contexts, e.g.,</para>
            <para></para>
            <para>Validation	A regexp can test whether a substring meets some criteria, e.g. is an integer or contains no whitespace.</para>
            <para>Searching	A regexp provides more powerful pattern matching than simple substring matching, e.g., match one of the words mail, letter or correspondence, but none of the words email, mailman, mailer, letterbox, etc.</para>
            <para>Search and Replace	A regexp can replace all occurrences of a substring with a different substring, e.g., replace all occurrences of &amp;amp; with &amp;amp;amp; except where the &amp;amp; is already followed by an amp;.</para>
            <para>String Splitting	A regexp can be used to identify where a string should be split apart, e.g. splitting tab-delimited strings.</para>
            <para></para>
            <para>A brief introduction to regexps is presented, a description of Qt's regexp language, some examples, and the function documentation itself. QRegExp is modeled on Perl's regexp language. It fully supports Unicode. QRegExp can also be used in a simpler, wildcard mode that is similar to the functionality found in command shells. The syntax rules used by QRegExp can be changed with setPatternSyntax(). In particular, the pattern syntax can be set to QRegExp::FixedString, which means the pattern to be matched is interpreted as a plain string, i.e., special characters (e.g., backslash) are not escaped.</para>
            <para>A good text on regexps is Mastering Regular Expressions (Third Edition) by Jeffrey E. F. Friedl, ISBN 0-596-52812-4.</para>
            <para></para>
            <para>Introduction</para>
            <para>Regexps are built up from expressions, quantifiers, and assertions. The simplest expression is a character, e.g. x or 5. An expression can also be a set of characters enclosed in square brackets. [ABCD] will match an A or a B or a C or a D. We can write this same expression as [A-D], and an experession to match any captital letter in the English alphabet is written as [A-Z].</para>
            <para>A quantifier specifies the number of occurrences of an expression that must be matched. x{1,1} means match one and only one x. x{1,5} means match a sequence of x characters that contains at least one x but no more than five.</para>
            <para>Note that in general regexps cannot be used to check for balanced brackets or tags. For example, a regexp can be written to match an opening html &amp;lt;b&amp;gt; and its closing &amp;lt;/b&amp;gt;, if the &amp;lt;b&amp;gt; tags are not nested, but if the &amp;lt;b&amp;gt; tags are nested, that same regexp will match an opening &amp;lt;b&amp;gt; tag with the wrong closing &amp;lt;/b&amp;gt;. For the fragment &amp;lt;b&amp;gt;bold &amp;lt;b&amp;gt;bolder&amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;, the first &amp;lt;b&amp;gt; would be matched with the first &amp;lt;/b&amp;gt;, which is not correct. However, it is possible to write a regexp that will match nested brackets or tags correctly, but only if the number of nesting levels is fixed and known. If the number of nesting levels is not fixed and known, it is impossible to write a regexp that will not fail.</para>
            <para>Suppose we want a regexp to match integers in the range 0 to 99. At least one digit is required, so we start with the expression [0-9]{1,1}, which matches a single digit exactly once. This regexp matches integers in the range 0 to 9. To match integers up to 99, increase the maximum number of occurrences to 2, so the regexp becomes [0-9]{1,2}. This regexp satisfies the original requirement to match integers from 0 to 99, but it will also match integers that occur in the middle of strings. If we want the matched integer to be the whole string, we must use the anchor assertions, ^ (caret) and $ (dollar). When ^ is the first character in a regexp, it means the regexp must match from the beginning of the string. When $ is the last character of the regexp, it means the regexp must match to the end of the string. The regexp becomes ^[0-9]{1,2}$. Note that assertions, e.g. ^ and $, do not match characters but locations in the string.</para>
            <para>If you have seen regexps described elsewhere, they may have looked different from the ones shown here. This is because some sets of characters and some quantifiers are so common that they have been given special symbols to represent them. [0-9] can be replaced with the symbol \d. The quantifier to match exactly one occurrence, {1,1}, can be replaced with the expression itself, i.e. x{1,1} is the same as x. So our 0 to 99 matcher could be written as ^\d{1,2}$. It can also be written ^\d\d{0,1}$, i.e. From the start of the string, match a digit, followed immediately by 0 or 1 digits. In practice, it would be written as ^\d\d?$. The ? is shorthand for the quantifier {0,1}, i.e. 0 or 1 occurrences. ? makes an expression optional. The regexp ^\d\d?$ means From the beginning of the string, match one digit, followed immediately by 0 or 1 more digit, followed immediately by end of string.</para>
            <para>To write a regexp that matches one of the words 'mail' or 'letter' or 'correspondence' but does not match words that contain these words, e.g., 'email', 'mailman', 'mailer', and 'letterbox', start with a regexp that matches 'mail'. Expressed fully, the regexp is m{1,1}a{1,1}i{1,1}l{1,1}, but because a character expression is automatically quantified by {1,1}, we can simplify the regexp to mail, i.e., an 'm' followed by an 'a' followed by an 'i' followed by an 'l'. Now we can use the vertical bar |, which means or, to include the other two words, so our regexp for matching any of the three words becomes mail|letter|correspondence. Match 'mail' or 'letter' or 'correspondence'. While this regexp will match one of the three words we want to match, it will also match words we don't want to match, e.g., 'email'. To prevent the regexp from matching unwanted words, we must tell it to begin and end the match at word boundaries. First we enclose our regexp in parentheses, (mail|letter|correspondence). Parentheses group expressions together, and they identify a part of the regexp that we wish to capture. Enclosing the expression in parentheses allows us to use it as a component in more complex regexps. It also allows us to examine which of the three words was actually matched. To force the match to begin and end on word boundaries, we enclose the regexp in \b word boundary assertions: \b(mail|letter|correspondence)\b. Now the regexp means: Match a word boundary, followed by the regexp in parentheses, followed by a word boundary. The \b assertion matches a position in the regexp, not a character. A word boundary is any non-word character, e.g., a space, newline, or the beginning or ending of a string.</para>
            <para>If we want to replace ampersand characters with the HTML entity &amp;amp;amp;, the regexp to match is simply &amp;amp;. But this regexp will also match ampersands that have already been converted to HTML entities. We want to replace only ampersands that are not already followed by amp;. For this, we need the negative lookahead assertion, (?!__). The regexp can then be written as &amp;amp;(?!amp;), i.e. Match an ampersand that is not followed by amp;.</para>
            <para>If we want to count all the occurrences of 'Eric' and 'Eirik' in a string, two valid solutions are \b(Eric|Eirik)\b and \bEi?ri[ck]\b. The word boundary assertion '\b' is required to avoid matching words that contain either name, e.g. 'Ericsson'. Note that the second regexp matches more spellings than we want: 'Eric', 'Erik', 'Eiric' and 'Eirik'.</para>
            <para>Some of the examples discussed above are implemented in the code examples section.</para>
            <para></para>
            <para>Characters and Abbreviations for Sets of Characters</para>
            <para></para>
            <para>ElementMeaning</para>
            <para>c	A character represents itself unless it has a special regexp meaning. e.g. c matches the character c.</para>
            <para>\c	A character that follows a backslash matches the character itself, except as specified below. e.g., To match a literal caret at the beginning of a string, write \^.</para>
            <para>\a	Matches the ASCII bell (BEL, 0x07).</para>
            <para>\f	Matches the ASCII form feed (FF, 0x0C).</para>
            <para>\n	Matches the ASCII line feed (LF, 0x0A, Unix newline).</para>
            <para>\r	Matches the ASCII carriage return (CR, 0x0D).</para>
            <para>\t	Matches the ASCII horizontal tab (HT, 0x09).</para>
            <para>\v	Matches the ASCII vertical tab (VT, 0x0B).</para>
            <para>\xhhhh	Matches the Unicode character corresponding to the hexadecimal number hhhh (between 0x0000 and 0xFFFF).</para>
            <para>\0ooo (i.e., \zero ooo)	matches the ASCII/Latin1 character for the octal number ooo (between 0 and 0377).</para>
            <para>. (dot)	Matches any character (including newline).</para>
            <para>\d	Matches a digit (QChar::isDigit()).</para>
            <para>\D	Matches a non-digit.</para>
            <para>\s	Matches a whitespace character (QChar::isSpace()).</para>
            <para>\S	Matches a non-whitespace character.</para>
            <para>\w	Matches a word character (QChar::isLetterOrNumber(), QChar::isMark(), or '_').</para>
            <para>\W	Matches a non-word character.</para>
            <para>\n	The n-th backreference, e.g. \1, \2, etc.</para>
            <para></para>
            <para>Note: The C++ compiler transforms backslashes in strings. To include a \ in a regexp, enter it twice, i.e. \\. To match the backslash character itself, enter it four times, i.e. \\\\.</para>
            <para></para>
            <para>Sets of Characters</para>
            <para>Square brackets mean match any character contained in the square brackets. The character set abbreviations described above can appear in a character set in square brackets. Except for the character set abbreviations and the following two exceptions, characters do not have special meanings in square brackets.</para>
            <para></para>
            <para>^	The caret negates the character set if it occurs as the first character (i.e. immediately after the opening square bracket). [abc] matches 'a' or 'b' or 'c', but [^abc] matches anything but 'a' or 'b' or 'c'.</para>
            <para>-	The dash indicates a range of characters. [W-Z] matches 'W' or 'X' or 'Y' or 'Z'.</para>
            <para></para>
            <para>Using the predefined character set abbreviations is more portable than using character ranges across platforms and languages. For example, [0-9] matches a digit in Western alphabets but \d matches a digit in any alphabet.</para>
            <para>Note: In other regexp documentation, sets of characters are often called &amp;quot;character classes&amp;quot;.</para>
            <para></para>
            <para>Quantifiers</para>
            <para>By default, an expression is automatically quantified by {1,1}, i.e. it should occur exactly once. In the following list, E stands for expression. An expression is a character, or an abbreviation for a set of characters, or a set of characters in square brackets, or an expression in parentheses.</para>
            <para></para>
            <para>E?	Matches zero or one occurrences of E. This quantifier means The previous expression is optional, because it will match whether or not the expression is found. E? is the same as E{0,1}. e.g., dents? matches 'dent' or 'dents'.</para>
            <para>E+	Matches one or more occurrences of E. E+ is the same as E{1,}. e.g., 0+ matches '0', '00', '000', etc.</para>
            <para>E*	Matches zero or more occurrences of E. It is the same as E{0,}. The * quantifier is often used in error where + should be used. For example, if \s*$ is used in an expression to match strings that end in whitespace, it will match every string because \s*$ means Match zero or more whitespaces followed by end of string. The correct regexp to match strings that have at least one trailing whitespace character is \s+$.</para>
            <para>E{n}	Matches exactly n occurrences of E. E{n} is the same as repeating E n times. For example, x{5} is the same as xxxxx. It is also the same as E{n,n}, e.g. x{5,5}.</para>
            <para>E{n,}	Matches at least n occurrences of E.</para>
            <para>E{,m}	Matches at most m occurrences of E. E{,m} is the same as E{0,m}.</para>
            <para>E{n,m}	Matches at least n and at most m occurrences of E.</para>
            <para></para>
            <para>To apply a quantifier to more than just the preceding character, use parentheses to group characters together in an expression. For example, tag+ matches a 't' followed by an 'a' followed by at least one 'g', whereas (tag)+ matches at least one occurrence of 'tag'.</para>
            <para>Note: Quantifiers are normally &amp;quot;greedy&amp;quot;. They always match as much text as they can. For example, 0+ matches the first zero it finds and all the consecutive zeros after the first zero. Applied to '20005', it matches'20005'. Quantifiers can be made non-greedy, see setMinimal().</para>
            <para></para>
            <para>Capturing Text</para>
            <para>Parentheses allow us to group elements together so that we can quantify and capture them. For example if we have the expression mail|letter|correspondence that matches a string we know that one of the words matched but not which one. Using parentheses allows us to &amp;quot;capture&amp;quot; whatever is matched within their bounds, so if we used (mail|letter|correspondence) and matched this regexp against the string &amp;quot;I sent you some email&amp;quot; we can use the cap() or capturedTexts() functions to extract the matched characters, in this case 'mail'.</para>
            <para>We can use captured text within the regexp itself. To refer to the captured text we use backreferences which are indexed from 1, the same as for cap(). For example we could search for duplicate words in a string using \b(\w+)\W+\1\b which means match a word boundary followed by one or more word characters followed by one or more non-word characters followed by the same text as the first parenthesized expression followed by a word boundary.</para>
            <para>If we want to use parentheses purely for grouping and not for capturing we can use the non-capturing syntax, e.g. (?:green|blue). Non-capturing parentheses begin '(?:' and end ')'. In this example we match either 'green' or 'blue' but we do not capture the match so we only know whether or not we matched but not which color we actually found. Using non-capturing parentheses is more efficient than using capturing parentheses since the regexp engine has to do less book-keeping.</para>
            <para>Both capturing and non-capturing parentheses may be nested.</para>
            <para>For historical reasons, quantifiers (e.g. *) that apply to capturing parentheses are more &amp;quot;greedy&amp;quot; than other quantifiers. For example, a*(a*) will match &amp;quot;aaa&amp;quot; with cap(1) == &amp;quot;aaa&amp;quot;. This behavior is different from what other regexp engines do (notably, Perl). To obtain a more intuitive capturing behavior, specify QRegExp::RegExp2 to the QRegExp constructor or call setPatternSyntax(QRegExp::RegExp2).</para>
            <para>When the number of matches cannot be determined in advance, a common idiom is to use cap() in a loop. For example:</para>
            <para> QRegExp rx(&amp;quot;(\\d+)&amp;quot;);</para>
            <para> QString str = &amp;quot;Offsets: 12 14 99 231 7&amp;quot;;</para>
            <para> QStringList list;</para>
            <para> int pos = 0;</para>
            <para></para>
            <para> while ((pos = rx.indexIn(str, pos)) != -1) {</para>
            <para>     list &amp;lt;&amp;lt; rx.cap(1);</para>
            <para>     pos += rx.matchedLength();</para>
            <para> }</para>
            <para> // list: [&amp;quot;12&amp;quot;, &amp;quot;14&amp;quot;, &amp;quot;99&amp;quot;, &amp;quot;231&amp;quot;, &amp;quot;7&amp;quot;]</para>
            <para></para>
            <para>Assertions</para>
            <para>Assertions make some statement about the text at the point where they occur in the regexp but they do not match any characters. In the following list E stands for any expression.</para>
            <para></para>
            <para>^	The caret signifies the beginning of the string. If you wish to match a literal ^ you must escape it by writing \\^. For example, ^#include will only match strings which begin with the characters '#include'. (When the caret is the first character of a character set it has a special meaning, see Sets of Characters.)</para>
            <para>$	The dollar signifies the end of the string. For example \d\s*$ will match strings which end with a digit optionally followed by whitespace. If you wish to match a literal $ you must escape it by writing \\$.</para>
            <para>\b	A word boundary. For example the regexp \bOK\b means match immediately after a word boundary (e.g. start of string or whitespace) the letter 'O' then the letter 'K' immediately before another word boundary (e.g. end of string or whitespace). But note that the assertion does not actually match any whitespace so if we write (\bOK\b) and we have a match it will only contain 'OK' even if the string is &amp;quot;It's OK now&amp;quot;.</para>
            <para>\B	A non-word boundary. This assertion is true wherever \b is false. For example if we searched for \Bon\B in &amp;quot;Left on&amp;quot; the match would fail (space and end of string aren't non-word boundaries), but it would match in &amp;quot;tonne&amp;quot;.</para>
            <para>(?=E)	Positive lookahead. This assertion is true if the expression matches at this point in the regexp. For example, const(?=\s+char) matches 'const' whenever it is followed by 'char', as in 'static const char *'. (Compare with const\s+char, which matches 'static const char *'.)</para>
            <para>(?!E)	Negative lookahead. This assertion is true if the expression does not match at this point in the regexp. For example, const(?!\s+char) matches 'const' except when it is followed by 'char'.</para>
            <para></para>
            <para></para>
            <para>Wildcard Matching</para>
            <para>Most command shells such as bash or cmd.exe support &amp;quot;file globbing&amp;quot;, the ability to identify a group of files by using wildcards. The setPatternSyntax() function is used to switch between regexp and wildcard mode. Wildcard matching is much simpler than full regexps and has only four features:</para>
            <para></para>
            <para>c	Any character represents itself apart from those mentioned below. Thus c matches the character c.</para>
            <para>?	Matches any single character. It is the same as . in full regexps.</para>
            <para>*	Matches zero or more of any characters. It is the same as .* in full regexps.</para>
            <para>[...]	Sets of characters can be represented in square brackets, similar to full regexps. Within the character class, like outside, backslash has no special meaning.</para>
            <para></para>
            <para>In the mode Wildcard, the wildcard characters cannot be escaped. In the mode WildcardUnix, the character '\' escapes the wildcard.</para>
            <para>For example if we are in wildcard mode and have strings which contain filenames we could identify HTML files with *.html. This will match zero or more characters followed by a dot followed by 'h', 't', 'm' and 'l'.</para>
            <para>To test a string against a wildcard expression, use exactMatch(). For example:</para>
            <para> QRegExp rx(&amp;quot;*.txt&amp;quot;);</para>
            <para> rx.setPatternSyntax(QRegExp::Wildcard);</para>
            <para> rx.exactMatch(&amp;quot;README.txt&amp;quot;);        // returns true</para>
            <para> rx.exactMatch(&amp;quot;welcome.txt.bak&amp;quot;);   // returns false</para>
            <para></para>
            <para>Notes for Perl Users</para>
            <para>Most of the character class abbreviations supported by Perl are supported by QRegExp, see characters and abbreviations for sets of characters.</para>
            <para>In QRegExp, apart from within character classes, ^ always signifies the start of the string, so carets must always be escaped unless used for that purpose. In Perl the meaning of caret varies automagically depending on where it occurs so escaping it is rarely necessary. The same applies to $ which in QRegExp always signifies the end of the string.</para>
            <para>QRegExp's quantifiers are the same as Perl's greedy quantifiers (but see the note above). Non-greedy matching cannot be applied to individual quantifiers, but can be applied to all the quantifiers in the pattern. For example, to match the Perl regexp ro+?m requires:</para>
            <para> QRegExp rx(&amp;quot;ro+m&amp;quot;);</para>
            <para> rx.setMinimal(true);</para>
            <para>The equivalent of Perl's /i option is setCaseSensitivity(Qt::CaseInsensitive).</para>
            <para>Perl's /g option can be emulated using a loop.</para>
            <para>In QRegExp . matches any character, therefore all QRegExp regexps have the equivalent of Perl's /s option. QRegExp does not have an equivalent to Perl's /m option, but this can be emulated in various ways for example by splitting the input into lines or by looping with a regexp that searches for newlines.</para>
            <para>Because QRegExp is string oriented, there are no \A, \Z, or \z assertions. The \G assertion is not supported but can be emulated in a loop.</para>
            <para>Perl's $&amp;amp; is cap(0) or capturedTexts()[0]. There are no QRegExp equivalents for $`, $' or $+. Perl's capturing variables, $1, $2, ... correspond to cap(1) or capturedTexts()[1], cap(2) or capturedTexts()[2], etc.</para>
            <para>To substitute a pattern use QString::replace().</para>
            <para>Perl's extended /x syntax is not supported, nor are directives, e.g. (?i), or regexp comments, e.g. (?#comment). On the other hand, C++'s rules for literal strings can be used to achieve the same:</para>
            <para> QRegExp mark(&amp;quot;\\b&amp;quot;      // word boundary</para>
            <para>               &amp;quot;[Mm]ark&amp;quot; // the word we want to match</para>
            <para>             );</para>
            <para>Both zero-width positive and zero-width negative lookahead assertions (?=pattern) and (?!pattern) are supported with the same syntax as Perl. Perl's lookbehind assertions, &amp;quot;independent&amp;quot; subexpressions and conditional expressions are not supported.</para>
            <para>Non-capturing parentheses are also supported, with the same (?:pattern) syntax.</para>
            <para>See QString::split() and QStringList::join() for equivalents to Perl's split and join functions.</para>
            <para>Note: because C++ transforms \'s they must be written twice in code, e.g. \b must be written \\b.</para>
            <para></para>
            <para>Code Examples</para>
            <para> QRegExp rx(&amp;quot;^\\d\\d?$&amp;quot;);    // match integers 0 to 99</para>
            <para> rx.indexIn(&amp;quot;123&amp;quot;);          // returns -1 (no match)</para>
            <para> rx.indexIn(&amp;quot;-6&amp;quot;);           // returns -1 (no match)</para>
            <para> rx.indexIn(&amp;quot;6&amp;quot;);            // returns 0 (matched as position 0)</para>
            <para>The third string matches '6'. This is a simple validation regexp for integers in the range 0 to 99.</para>
            <para> QRegExp rx(&amp;quot;^\\S+$&amp;quot;);       // match strings without whitespace</para>
            <para> rx.indexIn(&amp;quot;Hello world&amp;quot;);  // returns -1 (no match)</para>
            <para> rx.indexIn(&amp;quot;This_is-OK&amp;quot;);   // returns 0 (matched at position 0)</para>
            <para>The second string matches 'This_is-OK'. We've used the character set abbreviation '\S' (non-whitespace) and the anchors to match strings which contain no whitespace.</para>
            <para>In the following example we match strings containing 'mail' or 'letter' or 'correspondence' but only match whole words i.e. not 'email'</para>
            <para> QRegExp rx(&amp;quot;\\b(mail|letter|correspondence)\\b&amp;quot;);</para>
            <para> rx.indexIn(&amp;quot;I sent you an email&amp;quot;);     // returns -1 (no match)</para>
            <para> rx.indexIn(&amp;quot;Please write the letter&amp;quot;); // returns 17</para>
            <para>The second string matches &amp;quot;Please write the letter&amp;quot;. The word 'letter' is also captured (because of the parentheses). We can see what text we've captured like this:</para>
            <para> QString captured = rx.cap(1); // captured == &amp;quot;letter&amp;quot;</para>
            <para>This will capture the text from the first set of capturing parentheses (counting capturing left parentheses from left to right). The parentheses are counted from 1 since cap(0) is the whole matched regexp (equivalent to '&amp;amp;' in most regexp engines).</para>
            <para> QRegExp rx(&amp;quot;&amp;amp;(?!amp;)&amp;quot;);      // match ampersands but not &amp;amp;amp;</para>
            <para> QString line1 = &amp;quot;This &amp;amp; that&amp;quot;;</para>
            <para> line1.replace(rx, &amp;quot;&amp;amp;amp;&amp;quot;);</para>
            <para> // line1 == &amp;quot;This &amp;amp;amp; that&amp;quot;</para>
            <para> QString line2 = &amp;quot;His &amp;amp;amp; hers &amp;amp; theirs&amp;quot;;</para>
            <para> line2.replace(rx, &amp;quot;&amp;amp;amp;&amp;quot;);</para>
            <para> // line2 == &amp;quot;His &amp;amp;amp; hers &amp;amp;amp; theirs&amp;quot;</para>
            <para>Here we've passed the QRegExp to QString's replace() function to replace the matched text with new text.</para>
            <para> QString str = &amp;quot;One Eric another Eirik, and an Ericsson. &amp;quot;</para>
            <para>               &amp;quot;How many Eiriks, Eric?&amp;quot;;</para>
            <para> QRegExp rx(&amp;quot;\\b(Eric|Eirik)\\b&amp;quot;); // match Eric or Eirik</para>
            <para> int pos = 0;    // where we are in the string</para>
            <para> int count = 0;  // how many Eric and Eirik's we've counted</para>
            <para> while (pos &amp;gt;= 0) {</para>
            <para>     pos = rx.indexIn(str, pos);</para>
            <para>     if (pos &amp;gt;= 0) {</para>
            <para>         ++pos;      // move along in str</para>
            <para>         ++count;    // count our Eric or Eirik</para>
            <para>     }</para>
            <para> }</para>
            <para>We've used the indexIn() function to repeatedly match the regexp in the string. Note that instead of moving forward by one character at a time pos++ we could have written pos += rx.matchedLength() to skip over the already matched string. The count will equal 3, matching 'One Eric another Eirik, and an Ericsson. How many Eiriks, Eric?'; it doesn't match 'Ericsson' or 'Eiriks' because they are not bounded by non-word boundaries.</para>
            <para>One common use of regexps is to split lines of delimited data into their component fields.</para>
            <para> str = &amp;quot;Nokia Corporation\tqt.nokia.com\tNorway&amp;quot;;</para>
            <para> QString company, web, country;</para>
            <para> rx.setPattern(&amp;quot;^([^\t]+)\t([^\t]+)\t([^\t]+)$&amp;quot;);</para>
            <para> if (rx.indexIn(str) != -1) {</para>
            <para>     company = rx.cap(1);</para>
            <para>     web = rx.cap(2);</para>
            <para>     country = rx.cap(3);</para>
            <para> }</para>
            <para>In this example our input lines have the format company name, web address and country. Unfortunately the regexp is rather long and not very versatile -- the code will break if we add any more fields. A simpler and better solution is to look for the separator, '\t' in this case, and take the surrounding text. The QString::split() function can take a separator string or regexp as an argument and split a string accordingly.</para>
            <para> QStringList field = str.split(&amp;quot;\t&amp;quot;);</para>
            <para>Here field[0] is the company, field[1] the web address and so on.</para>
            <para>To imitate the matching of a shell we can use wildcard mode.</para>
            <para> QRegExp rx(&amp;quot;*.html&amp;quot;);</para>
            <para> rx.setPatternSyntax(QRegExp::Wildcard);</para>
            <para> rx.exactMatch(&amp;quot;index.html&amp;quot;);                // returns true</para>
            <para> rx.exactMatch(&amp;quot;default.htm&amp;quot;);               // returns false</para>
            <para> rx.exactMatch(&amp;quot;readme.txt&amp;quot;);                // returns false</para>
            <para>Wildcard matching can be convenient because of its simplicity, but any wildcard regexp can be defined using full regexps, e.g. .*\.html$. Notice that we can't match both .html and .htm files with a wildcard unless we use *.htm* which will also match 'test.html.bak'. A full regexp gives us the precision we need, .*\.html?$.</para>
            <para>QRegExp can match case insensitively using setCaseSensitivity(), and can use non-greedy matching, see setMinimal(). By default QRegExp uses full regexps but this can be changed with setWildcard(). Searching can be forward with indexIn() or backward with lastIndexIn(). Captured text can be accessed using capturedTexts() which returns a string list of all captured strings, or using cap() which returns the captured string for the given index. The pos() function takes a match index and returns the position in the string where the match was made (or -1 if there was no match).</para>
            <para></para>
            <para>See also QString, QStringList, QRegExpValidator, QSortFilterProxyModel, and Regular Expression Example.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QRegExp.#ctor">
            <summary>
            <para>Constructs an empty regexp.</para>
            <para>See also isValid() and errorString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRegExp.#ctor(QtCore.QRegExp)">
            <summary>
            <para>Constructs a regular expression as a copy of rx.</para>
            <para>See also operator=().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRegExp.#ctor(System.String,QtCore.Qt.CaseSensitivity,QtCore.QRegExp.PatternSyntax)">
            <summary>
            <para>Constructs an empty regexp.</para>
            <para>See also isValid() and errorString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRegExp.Cap(System.Int32)">
            <summary>
            <para>Returns the text captured by the nth subexpression. The entire match has index 0 and the parenthesized subexpressions have indexes starting from 1 (excluding non-capturing parentheses).</para>
            <para> QRegExp rxlen(&quot;(\\d+)(?:\\s*)(cm|inch)&quot;);</para>
            <para> int pos = rxlen.indexIn(&quot;Length: 189cm&quot;);</para>
            <para> if (pos &gt; -1) {</para>
            <para>     QString value = rxlen.cap(1); // &quot;189&quot;</para>
            <para>     QString unit = rxlen.cap(2);  // &quot;cm&quot;</para>
            <para>     // ...</para>
            <para> }</para>
            <para>The order of elements matched by cap() is as follows. The first element, cap(0), is the entire matching string. Each subsequent element corresponds to the next capturing open left parentheses. Thus cap(1) is the text of the first capturing parentheses, cap(2) is the text of the second, and so on.</para>
            <para>See also capturedTexts() and pos().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRegExp.CaptureCount">
            <summary>
            <para>Returns the number of captures contained in the regular expression.</para>
            <para>This function was introduced in Qt 4.6.</para>
            </summary>
        </member>
        <member name="M:QtCore.QRegExp.CapturedTexts">
            <summary>
            <para>Returns a list of the captured text strings.</para>
            <para>The first string in the list is the entire matched string. Each subsequent list element contains a string that matched a (capturing) subexpression of the regexp.</para>
            <para>For example:</para>
            <para> QRegExp rx(&quot;(\\d+)(\\s*)(cm|inch(es)?)&quot;);</para>
            <para> int pos = rx.indexIn(&quot;Length: 36 inches&quot;);</para>
            <para> QStringList list = rx.capturedTexts();</para>
            <para> // list is now (&quot;36 inches&quot;, &quot;36&quot;, &quot; &quot;, &quot;inches&quot;, &quot;es&quot;)</para>
            <para>The above example also captures elements that may be present but which we have no interest in. This problem can be solved by using non-capturing parentheses:</para>
            <para> QRegExp rx(&quot;(\\d+)(?:\\s*)(cm|inch(?:es)?)&quot;);</para>
            <para> int pos = rx.indexIn(&quot;Length: 36 inches&quot;);</para>
            <para> QStringList list = rx.capturedTexts();</para>
            <para> // list is now (&quot;36 inches&quot;, &quot;36&quot;, &quot;inches&quot;)</para>
            <para>Note that if you want to iterate over the list, you should iterate over a copy, e.g.</para>
            <para> QStringList list = rx.capturedTexts();</para>
            <para> QStringList::iterator it = list.begin();</para>
            <para> while (it != list.end()) {</para>
            <para>     myProcessing(*it);</para>
            <para>     ++it;</para>
            <para> }</para>
            <para>Some regexps can match an indeterminate number of times. For example if the input string is &quot;Offsets: 12 14 99 231 7&quot; and the regexp, rx, is (\d+)+, we would hope to get a list of all the numbers matched. However, after calling rx.indexIn(str), capturedTexts() will return the list (&quot;12&quot;, &quot;12&quot;), i.e. the entire match was &quot;12&quot; and the first subexpression matched was &quot;12&quot;. The correct approach is to use cap() in a loop.</para>
            <para>The order of elements in the string list is as follows. The first element is the entire matching string. Each subsequent element corresponds to the next capturing open left parentheses. Thus capturedTexts()[1] is the text of the first capturing parentheses, capturedTexts()[2] is the text of the second and so on (corresponding to $1, $2, etc., in some other regexp languages).</para>
            <para>See also cap() and pos().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRegExp.ErrorString">
            <summary>
            <para>Returns a text string that explains why a regexp pattern is invalid the case being; otherwise returns &quot;no error occurred&quot;.</para>
            <para>See also isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRegExp.Escape(System.String)">
            <summary>
            <para>Returns the string str with every regexp special character escaped with a backslash. The special characters are $, (,), *, +, ., ?, [, ,], ^, {, | and }.</para>
            <para>Example:</para>
            <para> s1 = QRegExp::escape(&quot;bingo&quot;);   // s1 == &quot;bingo&quot;</para>
            <para> s2 = QRegExp::escape(&quot;f(x)&quot;);    // s2 == &quot;f\\(x\\)&quot;</para>
            <para>This function is useful to construct regexp patterns dynamically:</para>
            <para> QRegExp rx(&quot;(&quot; + QRegExp::escape(name) +</para>
            <para>            &quot;|&quot; + QRegExp::escape(alias) + &quot;)&quot;);</para>
            <para>See also setPatternSyntax().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRegExp.ExactMatch(System.String)">
            <summary>
            <para>Returns true if str is matched exactly by this regular expression; otherwise returns false. You can determine how much of the string was matched by calling matchedLength().</para>
            <para>For a given regexp string R, exactMatch(&quot;R&quot;) is the equivalent of indexIn(&quot;^R$&quot;) since exactMatch() effectively encloses the regexp in the start of string and end of string anchors, except that it sets matchedLength() differently.</para>
            <para>For example, if the regular expression is blue, then exactMatch() returns true only for input blue. For inputs bluebell, blutak and lightblue, exactMatch() returns false and matchedLength() will return 4, 3 and 0 respectively.</para>
            <para>Although const, this function sets matchedLength(), capturedTexts(), and pos().</para>
            <para>See also indexIn() and lastIndexIn().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRegExp.IndexIn(System.String,System.Int32,QtCore.QRegExp.CaretMode)">
            <summary>
            <para>Attempts to find a match in str from position offset (0 by default). If offset is -1, the search starts at the last character; if -2, at the next to last character; etc.</para>
            <para>Returns the position of the first match, or -1 if there was no match.</para>
            <para>The caretMode parameter can be used to instruct whether ^ should match at index 0 or at offset.</para>
            <para>You might prefer to use QString::indexOf(), QString::contains(), or even QStringList::filter(). To replace matches use QString::replace().</para>
            <para>Example:</para>
            <para> QString str = &quot;offsets: 1.23 .50 71.00 6.00&quot;;</para>
            <para> QRegExp rx(&quot;\\d*\\.\\d+&quot;);    // primitive floating point matching</para>
            <para> int count = 0;</para>
            <para> int pos = 0;</para>
            <para> while ((pos = rx.indexIn(str, pos)) != -1) {</para>
            <para>     ++count;</para>
            <para>     pos += rx.matchedLength();</para>
            <para> }</para>
            <para> // pos will be 9, 14, 18 and finally 24; count will end up as 4</para>
            <para>Although const, this function sets matchedLength(), capturedTexts() and pos().</para>
            <para>If the QRegExp is a wildcard expression (see setPatternSyntax()) and want to test a string against the whole wildcard expression, use exactMatch() instead of this function.</para>
            <para>See also lastIndexIn() and exactMatch().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRegExp.IsEmpty">
            <summary>
            <para>Returns true if the pattern string is empty; otherwise returns false.</para>
            <para>If you call exactMatch() with an empty pattern on an empty string it will return true; otherwise it returns false since it operates over the whole string. If you call indexIn() with an empty pattern on any string it will return the start offset (0 by default) because the empty pattern matches the 'emptiness' at the start of the string. In this case the length of the match returned by matchedLength() will be 0.</para>
            <para>See QString::isEmpty().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRegExp.IsMinimal">
            <summary>
            <para>Returns true if minimal (non-greedy) matching is enabled; otherwise returns false.</para>
            <para>See also caseSensitivity() and setMinimal().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRegExp.IsValid">
            <summary>
            <para>Returns true if the regular expression is valid; otherwise returns false. An invalid regular expression never matches.</para>
            <para>The pattern [a-z is an example of an invalid pattern, since it lacks a closing square bracket.</para>
            <para>Note that the validity of a regexp may also depend on the setting of the wildcard flag, for example *.html is a valid wildcard regexp but an invalid full regexp.</para>
            <para>See also errorString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRegExp.LastIndexIn(System.String,System.Int32,QtCore.QRegExp.CaretMode)">
            <summary>
            <para>Attempts to find a match backwards in str from position offset. If offset is -1 (the default), the search starts at the last character; if -2, at the next to last character; etc.</para>
            <para>Returns the position of the first match, or -1 if there was no match.</para>
            <para>The caretMode parameter can be used to instruct whether ^ should match at index 0 or at offset.</para>
            <para>Although const, this function sets matchedLength(), capturedTexts() and pos().</para>
            <para>Warning: Searching backwards is much slower than searching forwards.</para>
            <para>See also indexIn() and exactMatch().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRegExp.MatchedLength">
            <summary>
            <para>Returns the length of the last matched string, or -1 if there was no match.</para>
            <para>See also exactMatch(), indexIn(), and lastIndexIn().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRegExp.op_Inequality(QtCore.QRegExp,QtCore.QRegExp)">
            <summary>
            <para>Returns true if this regular expression is not equal to rx; otherwise returns false.</para>
            <para>See also operator==().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRegExp.op_Equality(QtCore.QRegExp,QtCore.QRegExp)">
            <summary>
            <para>Returns true if this regular expression is equal to rx; otherwise returns false.</para>
            <para>Two QRegExp objects are equal if they have the same pattern strings and the same settings for case sensitivity, wildcard and minimal matching.</para>
            </summary>
        </member>
        <member name="M:QtCore.QRegExp.Pos(System.Int32)">
            <summary>
            <para>Returns the position of the nth captured text in the searched string. If nth is 0 (the default), pos() returns the position of the whole match.</para>
            <para>Example:</para>
            <para> QRegExp rx(&quot;/([a-z]+)/([a-z]+)&quot;);</para>
            <para> rx.indexIn(&quot;Output /dev/null&quot;);   // returns 7 (position of /dev/null)</para>
            <para> rx.pos(0);                        // returns 7 (position of /dev/null)</para>
            <para> rx.pos(1);                        // returns 8 (position of dev)</para>
            <para> rx.pos(2);                        // returns 12 (position of null)</para>
            <para>For zero-length matches, pos() always returns -1. (For example, if cap(4) would return an empty string, pos(4) returns -1.) This is a feature of the implementation.</para>
            <para>See also cap() and capturedTexts().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRegExp.SetMinimal(System.Boolean)">
            <summary>
            <para>Enables or disables minimal matching. If minimal is false, matching is greedy (maximal) which is the default.</para>
            <para>For example, suppose we have the input string &quot;We must be &lt;b&gt;bold&lt;/b&gt;, very &lt;b&gt;bold&lt;/b&gt;!&quot; and the pattern &lt;b&gt;.*&lt;/b&gt;. With the default greedy (maximal) matching, the match is &quot;We must be &lt;b&gt;bold&lt;/b&gt;, very &lt;b&gt;bold&lt;/b&gt;!&quot;. But with minimal (non-greedy) matching, the first match is: &quot;We must be &lt;b&gt;bold&lt;/b&gt;, very &lt;b&gt;bold&lt;/b&gt;!&quot; and the second match is &quot;We must be &lt;b&gt;bold&lt;/b&gt;, very &lt;b&gt;bold&lt;/b&gt;!&quot;. In practice we might use the pattern &lt;b&gt;[^&lt;]*&lt;/b&gt; instead, although this will still fail for nested tags.</para>
            <para>See also minimal() and setCaseSensitivity().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRegExp.Swap(QtCore.QRegExp)">
            <summary>
            <para>Swaps regular expression other with this regular expression. This operation is very fast and never fails.</para>
            <para>This function was introduced in Qt 4.8.</para>
            </summary>
        </member>
        <member name="M:QtCore.QRegExp.Finalize">
            <summary>
            <para>Destroys the regular expression and cleans up its internal data.</para>
            </summary>
        </member>
        <member name="P:QtCore.QRegExp.CaseSensitivity">
            <summary>
            <para>Returns Qt::CaseSensitive if the regexp is matched case sensitively; otherwise returns Qt::CaseInsensitive.</para>
            <para>Sets case sensitive matching to cs.</para>
            <para>If cs is Qt::CaseSensitive, \.txt$ matches readme.txt but not README.TXT.</para>
            </summary>
        </member>
        <member name="P:QtCore.QRegExp.Pattern">
            <summary>
            <para>Returns the pattern string of the regular expression. The pattern has either regular expression syntax or wildcard syntax, depending on patternSyntax().</para>
            <para>Sets the pattern string to pattern. The case sensitivity, wildcard, and minimal matching options are not changed.</para>
            </summary>
        </member>
        <member name="P:QtCore.QRegExp.patternSyntax">
            <summary>
            <para>Returns the syntax used by the regular expression. The default is QRegExp::RegExp.</para>
            <para>Sets the syntax mode for the regular expression. The default is QRegExp::RegExp.</para>
            <para>Setting syntax to QRegExp::Wildcard enables simple shell-like wildcard matching. For example, r*.txt matches the string readme.txt in wildcard mode, but does not match readme.</para>
            <para>Setting syntax to QRegExp::FixedString means that the pattern is interpreted as a plain string. Special characters (e.g., backslash) don't need to be escaped then.</para>
            </summary>
        </member>
        <member name="T:QtCore.QRegExp.CaretMode">
            <summary>
            <para>The CaretMode enum defines the different meanings of the caret (^) in a regular expression. The possible values are:</para>
            </summary>
        </member>
        <member name="F:QtCore.QRegExp.CaretMode.CaretAtOffset">
            <summary>
            <para>The caret corresponds to the start offset of the search.</para>
            </summary>
        </member>
        <member name="F:QtCore.QRegExp.CaretMode.CaretAtZero">
            <summary>
            <para>The caret corresponds to index 0 in the searched string.</para>
            </summary>
        </member>
        <member name="F:QtCore.QRegExp.CaretMode.CaretWontMatch">
            <summary>
            <para>The caret never matches.</para>
            </summary>
        </member>
        <member name="T:QtCore.QRegExp.PatternSyntax">
            <summary>
            <para>The syntax used to interpret the meaning of the pattern.</para>
            <para>See also setPatternSyntax().</para>
            </summary>
        </member>
        <member name="F:QtCore.QRegExp.PatternSyntax.FixedString">
            <summary>
            <para>The pattern is a fixed string. This is equivalent to using the RegExp pattern on a string in which all metacharacters are escaped using escape().</para>
            </summary>
        </member>
        <member name="F:QtCore.QRegExp.PatternSyntax.RegExp">
            <summary>
            <para>A rich Perl-like pattern matching syntax. This is the default.</para>
            </summary>
        </member>
        <member name="F:QtCore.QRegExp.PatternSyntax.RegExp2">
            <summary>
            <para>Like RegExp, but with greedy quantifiers. This will be the default in Qt 5. (Introduced in Qt 4.2.)</para>
            </summary>
        </member>
        <member name="F:QtCore.QRegExp.PatternSyntax.W3CXmlSchema11">
            <summary>
            <para>The pattern is a regular expression as defined by the W3C XML Schema 1.1 specification.</para>
            </summary>
        </member>
        <member name="F:QtCore.QRegExp.PatternSyntax.Wildcard">
            <summary>
            <para>This provides a simple pattern matching syntax similar to that used by shells (command interpreters) for &quot;file globbing&quot;. See Wildcard Matching.</para>
            </summary>
        </member>
        <member name="F:QtCore.QRegExp.PatternSyntax.WildcardUnix">
            <summary>
            <para>This is similar to Wildcard but with the behavior of a Unix shell. The wildcard characters can be escaped with the character &quot;\&quot;.</para>
            </summary>
        </member>
        <member name="T:QtCore.QResource">
            <summary>
            The QResource class provides an interface for reading directly from resources.
            </summary>
            <remarks>
            <para></para>
            <para>QResource is an object that represents a set of data (and possibly children) relating to a single resource entity. QResource gives direct access to the bytes in their raw format. In this way direct access allows reading data without buffer copying or indirection. Indirection is often useful when interacting with the resource entity as if it is a file, this can be achieved with QFile. The data and children behind a QResource are normally compiled into an application/library, but it is also possible to load a resource at runtime. When loaded at run time the resource file will be loaded as one big set of data and then given out in pieces via references into the resource tree.</para>
            <para>A QResource can either be loaded with an absolute path, either treated as a file system rooted with a / character, or in resource notation rooted with a : character. A relative resource can also be opened which will be found in the list of paths returned by QDir::searchPaths().</para>
            <para>A QResource that is representing a file will have data backing it, this data can possibly be compressed, in which case qUncompress() must be used to access the real data; this happens implicitly when accessed through a QFile. A QResource that is representing a directory will have only children and no data.</para>
            <para></para>
            <para>Dynamic Resource Loading</para>
            <para>A resource can be left out of an application's binary and loaded when it is needed at run-time by using the registerResource() function. The resource file passed into registerResource() must be a binary resource as created by rcc. Further information about binary resources can be found in The Qt Resource System documentation.</para>
            <para>This can often be useful when loading a large set of application icons that may change based on a setting, or that can be edited by a user and later recreated. The resource is immediately loaded into memory, either as a result of a single file read operation, or as a memory mapped file.</para>
            <para>This approach can prove to be a significant performance gain as only a single file will be loaded, and pieces of data will be given out via the path requested in setFileName().</para>
            <para>The unregisterResource() function removes a reference to a particular file. If there are QResources that currently reference resources related to the unregistered file, they will continue to be valid but the resource file itself will be removed from the resource roots, and thus no further QResource can be created pointing into this resource data. The resource itself will be unmapped from memory when the last QResource that points to it is destroyed.</para>
            <para></para>
            <para>See also The Qt Resource System, QFile, QDir, and QFileInfo.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QResource.#ctor(System.String)">
            <summary>
            <para>Constructs a QResource pointing to file. locale is used to load a specific localization of a resource data.</para>
            <para>See also QFileInfo, QDir::searchPaths(), setFileName(), and setLocale().</para>
            </summary>
        </member>
        <member name="M:QtCore.QResource.#ctor(System.String,QtCore.QLocale)">
            <summary>
            <para>Constructs a QResource pointing to file. locale is used to load a specific localization of a resource data.</para>
            <para>See also QFileInfo, QDir::searchPaths(), setFileName(), and setLocale().</para>
            </summary>
        </member>
        <member name="M:QtCore.QResource.AbsoluteFilePath">
            <summary>
            <para>Returns the real path that this QResource represents, if the resource was found via the QDir::searchPaths() it will be indicated in the path.</para>
            <para>See also fileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QResource.AddSearchPath(System.String)">
            <summary>
            <para>Use QDir::addSearchPath() with a prefix instead.</para>
            <para>Adds path to the search paths searched in to find resources that are not specified with an absolute path. The path must be an absolute path (start with /).</para>
            <para>The default search path is to search only in the root (:/). The last path added will be consulted first upon next QResource creation.</para>
            </summary>
        </member>
        <member name="M:QtCore.QResource.Children">
            <summary>
            <para>Returns a list of all resources in this directory, if the resource represents a file the list will be empty.</para>
            <para>See also isDir().</para>
            </summary>
        </member>
        <member name="M:QtCore.QResource.Data">
            <summary>
            <para>Returns direct access to a read only segment of data that this resource represents. If the resource is compressed the data returns is compressed and qUncompress() must be used to access the data. If the resource is a directory 0 is returned.</para>
            <para>See also size(), isCompressed(), and isFile().</para>
            </summary>
        </member>
        <member name="M:QtCore.QResource.IsCompressed">
            <summary>
            <para>Returns true if the resource represents a file and the data backing it is in a compressed format, false otherwise.</para>
            <para>See also data() and isFile().</para>
            </summary>
        </member>
        <member name="M:QtCore.QResource.IsDir">
            <summary>
            <para>Returns true if the resource represents a directory and thus may have children() in it, false if it represents a file.</para>
            <para>See also isFile().</para>
            </summary>
        </member>
        <member name="M:QtCore.QResource.IsFile">
            <summary>
            <para>Returns true if the resource represents a file and thus has data backing it, false if it represents a directory.</para>
            <para>See also isDir().</para>
            </summary>
        </member>
        <member name="M:QtCore.QResource.IsValid">
            <summary>
            <para>Returns true if the resource really exists in the resource hierarchy, false otherwise.</para>
            </summary>
        </member>
        <member name="M:QtCore.QResource.RegisterResource(System.String,System.String)">
            <summary>
            <para>Registers the resource with the given rccFileName at the location in the resource tree specified by mapRoot, and returns true if the file is successfully opened; otherwise returns false.</para>
            <para>See also unregisterResource().</para>
            </summary>
        </member>
        <member name="M:QtCore.QResource.RegisterResource(QtCore.Pointer{System.Byte},System.String)">
            <summary>
            <para>Registers the resource with the given rccFileName at the location in the resource tree specified by mapRoot, and returns true if the file is successfully opened; otherwise returns false.</para>
            <para>See also unregisterResource().</para>
            </summary>
        </member>
        <member name="M:QtCore.QResource.SearchPaths">
            <summary>
            <para>Use QDir::searchPaths() instead.</para>
            <para>Returns the current search path list. This list is consulted when creating a relative resource.</para>
            <para>See also QDir::addSearchPath() and QDir::setSearchPaths().</para>
            </summary>
        </member>
        <member name="M:QtCore.QResource.Size">
            <summary>
            <para>Returns the size of the data backing the resource.</para>
            <para>See also data() and isFile().</para>
            </summary>
        </member>
        <member name="M:QtCore.QResource.UnregisterResource(System.String,System.String)">
            <summary>
            <para>Unregisters the resource with the given rccFileName at the location in the resource tree specified by mapRoot, and returns true if the resource is successfully unloaded and no references exist for the resource; otherwise returns false.</para>
            <para>See also registerResource().</para>
            </summary>
        </member>
        <member name="M:QtCore.QResource.UnregisterResource(QtCore.Pointer{System.Byte},System.String)">
            <summary>
            <para>Unregisters the resource with the given rccFileName at the location in the resource tree specified by mapRoot, and returns true if the resource is successfully unloaded and no references exist for the resource; otherwise returns false.</para>
            <para>See also registerResource().</para>
            </summary>
        </member>
        <member name="M:QtCore.QResource.Finalize">
            <summary>
            <para>Releases the resources of the QResource object.</para>
            </summary>
        </member>
        <member name="P:QtCore.QResource.FileName">
            <summary>
            <para>Returns the full path to the file that this QResource represents as it was passed.</para>
            <para>Sets a QResource to point to file. file can either be absolute, in which case it is opened directly, if relative then the file will be tried to be found in QDir::searchPaths().</para>
            </summary>
        </member>
        <member name="P:QtCore.QResource.Locale">
            <summary>
            <para>Returns the locale used to locate the data for the QResource.</para>
            <para>Sets a QResource to only load the localization of resource to for locale. If a resource for the specific locale is not found then the C locale is used.</para>
            </summary>
        </member>
        <member name="T:QtCore.QRunnable">
            <summary>
            The QRunnable class is the base class for all runnable objects.
            </summary>
            <remarks>
            <para></para>
            <para>The QRunnable class is an interface for representing a task or piece of code that needs to be executed, represented by your reimplementation of the run() function.</para>
            <para>You can use QThreadPool to execute your code in a separate thread. QThreadPool deletes the QRunnable automatically if autoDelete() returns true (the default). Use setAutoDelete() to change the auto-deletion flag.</para>
            <para>QThreadPool supports executing the same QRunnable more than once by calling QThreadPool::tryStart(this) from within the run() function. If autoDelete is enabled the QRunnable will be deleted when the last thread exits the run function. Calling QThreadPool::start() multiple times with the same QRunnable when autoDelete is enabled creates a race condition and is not recommended.</para>
            <para></para>
            <para>See also QThreadPool.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QRunnable.#ctor">
            <summary>
            <para>Constructs a QRunnable. Auto-deletion is enabled by default.</para>
            <para>See also autoDelete() and setAutoDelete().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRunnable.#ctor(QtCore.QRunnable)">
            <summary>
            <para>Constructs a QRunnable. Auto-deletion is enabled by default.</para>
            <para>See also autoDelete() and setAutoDelete().</para>
            </summary>
        </member>
        <member name="M:QtCore.QRunnable.Run">
            <summary>
            <para>Implement this pure virtual function in your subclass.</para>
            </summary>
        </member>
        <member name="M:QtCore.QRunnable.Finalize">
            <summary>
            <para>QRunnable virtual destructor.</para>
            </summary>
        </member>
        <member name="P:QtCore.QRunnable.AutoDelete">
            <summary>
            <para>Returns true is auto-deletion is enabled; false otherwise.</para>
            <para>If auto-deletion is enabled, QThreadPool will automatically delete this runnable after calling run(); otherwise, ownership remains with the application programmer.</para>
            <para>Enables auto-deletion if autoDelete is true; otherwise auto-deletion is disabled.</para>
            <para>If auto-deletion is enabled, QThreadPool will automatically delete this runnable after calling run(); otherwise, ownership remains with the application programmer.</para>
            <para>Note that this flag must be set before calling QThreadPool::start(). Calling this function after QThreadPool::start() results in undefined behavior.</para>
            </summary>
        </member>
        <member name="T:QtCore.QSemaphore">
            <summary>
            The QSemaphore class provides a general counting semaphore.
            </summary>
            <remarks>
            <para></para>
            <para>A semaphore is a generalization of a mutex. While a mutex can only be locked once, it's possible to acquire a semaphore multiple times. Semaphores are typically used to protect a certain number of identical resources.</para>
            <para>Semaphores support two fundamental operations, acquire() and release():</para>
            <para></para>
            <para>acquire(n) tries to acquire n resources. If there aren't that many resources available, the call will block until this is the case.</para>
            <para>release(n) releases n resources.</para>
            <para></para>
            <para>There's also a tryAcquire() function that returns immediately if it cannot acquire the resources, and an available() function that returns the number of available resources at any time.</para>
            <para>Example:</para>
            <para> QSemaphore sem(5);      // sem.available() == 5</para>
            <para></para>
            <para> sem.acquire(3);         // sem.available() == 2</para>
            <para> sem.acquire(2);         // sem.available() == 0</para>
            <para> sem.release(5);         // sem.available() == 5</para>
            <para> sem.release(5);         // sem.available() == 10</para>
            <para></para>
            <para> sem.tryAcquire(1);      // sem.available() == 9, returns true</para>
            <para> sem.tryAcquire(250);    // sem.available() == 9, returns false</para>
            <para>A typical application of semaphores is for controlling access to a circular buffer shared by a producer thread and a consumer thread. The Semaphores example shows how to use QSemaphore to solve that problem.</para>
            <para>A non-computing example of a semaphore would be dining at a restaurant. A semaphore is initialized with the number of chairs in the restaurant. As people arrive, they want a seat. As seats are filled, available() is decremented. As people leave, the available() is incremented, allowing more people to enter. If a party of 10 people want to be seated, but there are only 9 seats, those 10 people will wait, but a party of 4 people would be seated (taking the available seats to 5, making the party of 10 people wait longer).</para>
            <para></para>
            <para>See also QMutex, QWaitCondition, QThread, and Semaphores Example.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QSemaphore.#ctor(System.Int32)">
            <summary>
            <para>Creates a new semaphore and initializes the number of resources it guards to n (by default, 0).</para>
            <para>See also release() and available().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSemaphore.Acquire(System.Int32)">
            <summary>
            <para>Tries to acquire n resources guarded by the semaphore. If n &gt; available(), this call will block until enough resources are available.</para>
            <para>See also release(), available(), and tryAcquire().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSemaphore.Available">
            <summary>
            <para>Returns the number of resources currently available to the semaphore. This number can never be negative.</para>
            <para>See also acquire() and release().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSemaphore.Release(System.Int32)">
            <summary>
            <para>Releases n resources guarded by the semaphore.</para>
            <para>This function can be used to &quot;create&quot; resources as well. For example:</para>
            <para> QSemaphore sem(5);      // a semaphore that guards 5 resources</para>
            <para> sem.acquire(5);         // acquire all 5 resources</para>
            <para> sem.release(5);         // release the 5 resources</para>
            <para> sem.release(10);        // &quot;create&quot; 10 new resources</para>
            <para>See also acquire() and available().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSemaphore.TryAcquire(System.Int32)">
            <summary>
            <para>Tries to acquire n resources guarded by the semaphore and returns true on success. If available() &lt; n, this call immediately returns false without acquiring any resources.</para>
            <para>Example:</para>
            <para> QSemaphore sem(5);      // sem.available() == 5</para>
            <para> sem.tryAcquire(250);    // sem.available() == 5, returns false</para>
            <para> sem.tryAcquire(3);      // sem.available() == 2, returns true</para>
            <para>See also acquire().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSemaphore.TryAcquire(System.Int32,System.Int32)">
            <summary>
            <para>Tries to acquire n resources guarded by the semaphore and returns true on success. If available() &lt; n, this call will wait for at most timeout milliseconds for resources to become available.</para>
            <para>Note: Passing a negative number as the timeout is equivalent to calling acquire(), i.e. this function will wait forever for resources to become available if timeout is negative.</para>
            <para>Example:</para>
            <para> QSemaphore sem(5);            // sem.available() == 5</para>
            <para> sem.tryAcquire(250, 1000);    // sem.available() == 5, waits 1000 milliseconds and returns false</para>
            <para> sem.tryAcquire(3, 30000);     // sem.available() == 2, returns true without waiting</para>
            <para>See also acquire().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSemaphore.Finalize">
            <summary>
            <para>Destroys the semaphore.</para>
            <para>Warning: Destroying a semaphore that is in use may result in undefined behavior.</para>
            </summary>
        </member>
        <member name="T:QtCore.QSequentialAnimationGroup">
            <summary>
            The QSequentialAnimationGroup class provides a sequential group of animations.
            </summary>
            <remarks>
            <para></para>
            <para>QSequentialAnimationGroup is a QAnimationGroup that runs its animations in sequence, i.e., it starts one animation after another has finished playing. The animations are played in the order they are added to the group (using addAnimation() or insertAnimation()). The animation group finishes when its last animation has finished.</para>
            <para>At each moment there is at most one animation that is active in the group; it is returned by currentAnimation(). An empty group has no current animation.</para>
            <para>A sequential animation group can be treated as any other animation, i.e., it can be started, stopped, and added to other groups. You can also call addPause() or insertPause() to add a pause to a sequential animation group.</para>
            <para> QSequentialAnimationGroup *group = new QSequentialAnimationGroup;</para>
            <para></para>
            <para> group-&amp;gt;addAnimation(anim1);</para>
            <para> group-&amp;gt;addAnimation(anim2);</para>
            <para></para>
            <para> group-&amp;gt;start();</para>
            <para>In this example, anim1 and anim2 are two already set up QPropertyAnimations.</para>
            <para></para>
            <para>See also QAnimationGroup, QAbstractAnimation, and The Animation Framework.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QSequentialAnimationGroup.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs a QSequentialAnimationGroup. parent is passed to QObject's constructor.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSequentialAnimationGroup.AddPause(System.Int32)">
            <summary>
            <para>Adds a pause of msecs to this animation group. The pause is considered as a special type of animation, thus animationCount will be increased by one.</para>
            <para>See also insertPause() and QAnimationGroup::addAnimation().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSequentialAnimationGroup.OnCurrentAnimationChanged(QtCore.QAbstractAnimation)">
            <summary>
            <para>QSequentialAnimationGroup emits this signal when currentAnimation has been changed. current is the current animation.</para>
            <para>See also currentAnimation().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSequentialAnimationGroup.Duration">
            <summary>
            <para>Reimplemented from QAbstractAnimation::duration().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSequentialAnimationGroup.OnEvent(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QObject::event().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSequentialAnimationGroup.InsertPause(System.Int32,System.Int32)">
            <summary>
            <para>Inserts a pause of msecs milliseconds at index in this animation group.</para>
            <para>See also addPause() and QAnimationGroup::insertAnimation().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSequentialAnimationGroup.UpdateCurrentTime(System.Int32)">
            <summary>
            <para>Reimplemented from QAbstractAnimation::updateCurrentTime().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSequentialAnimationGroup.UpdateDirection(QtCore.QAbstractAnimation.Direction)">
            <summary>
            <para>Reimplemented from QAbstractAnimation::updateDirection().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSequentialAnimationGroup.UpdateState(QtCore.QAbstractAnimation.State,QtCore.QAbstractAnimation.State)">
            <summary>
            <para>Reimplemented from QAbstractAnimation::updateState().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSequentialAnimationGroup.Finalize">
            <summary>
            <para>Destroys the animation group. It will also destroy all its animations.</para>
            </summary>
        </member>
        <member name="E:QtCore.QSequentialAnimationGroup.CurrentAnimationChanged">
            <summary>
            <para>QSequentialAnimationGroup emits this signal when currentAnimation has been changed. current is the current animation.</para>
            <para>See also currentAnimation().</para>
            </summary>
        </member>
        <member name="T:QtCore.QSettings">
            <summary>
            The QSettings class provides persistent platform-independent application settings.
            </summary>
            <remarks>
            <para></para>
            <para>Users normally expect an application to remember its settings (window sizes and positions, options, etc.) across sessions. This information is often stored in the system registry on Windows, and in XML preferences files on Mac OS X. On Unix systems, in the absence of a standard, many applications (including the KDE applications) use INI text files.</para>
            <para>QSettings is an abstraction around these technologies, enabling you to save and restore application settings in a portable manner. It also supports custom storage formats.</para>
            <para>QSettings's API is based on QVariant, allowing you to save most value-based types, such as QString, QRect, and QImage, with the minimum of effort.</para>
            <para>If all you need is a non-persistent memory-based structure, consider using QMap&amp;lt;QString, QVariant&amp;gt; instead.</para>
            <para></para>
            <para>Basic Usage</para>
            <para>When creating a QSettings object, you must pass the name of your company or organization as well as the name of your application. For example, if your product is called Star Runner and your company is called MySoft, you would construct the QSettings object as follows:</para>
            <para>     QSettings settings(&amp;quot;MySoft&amp;quot;, &amp;quot;Star Runner&amp;quot;);</para>
            <para>QSettings objects can be created either on the stack or on the heap (i.e. using new). Constructing and destroying a QSettings object is very fast.</para>
            <para>If you use QSettings from many places in your application, you might want to specify the organization name and the application name using QCoreApplication::setOrganizationName() and QCoreApplication::setApplicationName(), and then use the default QSettings constructor:</para>
            <para>     QCoreApplication::setOrganizationName(&amp;quot;MySoft&amp;quot;);</para>
            <para>     QCoreApplication::setOrganizationDomain(&amp;quot;mysoft.com&amp;quot;);</para>
            <para>     QCoreApplication::setApplicationName(&amp;quot;Star Runner&amp;quot;);</para>
            <para>     ...</para>
            <para>     QSettings settings;</para>
            <para>(Here, we also specify the organization's Internet domain. When the Internet domain is set, it is used on Mac OS X instead of the organization name, since Mac OS X applications conventionally use Internet domains to identify themselves. If no domain is set, a fake domain is derived from the organization name. See the Platform-Specific Notes below for details.)</para>
            <para>QSettings stores settings. Each setting consists of a QString that specifies the setting's name (the key) and a QVariant that stores the data associated with the key. To write a setting, use setValue(). For example:</para>
            <para>     settings.setValue(&amp;quot;editor/wrapMargin&amp;quot;, 68);</para>
            <para>If there already exists a setting with the same key, the existing value is overwritten by the new value. For efficiency, the changes may not be saved to permanent storage immediately. (You can always call sync() to commit your changes.)</para>
            <para>You can get a setting's value back using value():</para>
            <para>     int margin = settings.value(&amp;quot;editor/wrapMargin&amp;quot;).toInt();</para>
            <para>If there is no setting with the specified name, QSettings returns a null QVariant (which can be converted to the integer 0). You can specify another default value by passing a second argument to value():</para>
            <para>     int margin = settings.value(&amp;quot;editor/wrapMargin&amp;quot;, 80).toInt();</para>
            <para>To test whether a given key exists, call contains(). To remove the setting associated with a key, call remove(). To obtain the list of all keys, call allKeys(). To remove all keys, call clear().</para>
            <para></para>
            <para>QVariant and GUI Types</para>
            <para>Because QVariant is part of the QtCore library, it cannot provide conversion functions to data types such as QColor, QImage, and QPixmap, which are part of QtGui. In other words, there is no toColor(), toImage(), or toPixmap() functions in QVariant.</para>
            <para>Instead, you can use the QVariant::value() or the qVariantValue() template function. For example:</para>
            <para> QSettings settings(&amp;quot;MySoft&amp;quot;, &amp;quot;Star Runner&amp;quot;);</para>
            <para> QColor color = settings.value(&amp;quot;DataPump/bgcolor&amp;quot;).value&amp;lt;QColor&amp;gt;();</para>
            <para>The inverse conversion (e.g., from QColor to QVariant) is automatic for all data types supported by QVariant, including GUI-related types:</para>
            <para> QSettings settings(&amp;quot;MySoft&amp;quot;, &amp;quot;Star Runner&amp;quot;);</para>
            <para> QColor color = palette().background().color();</para>
            <para> settings.setValue(&amp;quot;DataPump/bgcolor&amp;quot;, color);</para>
            <para>Custom types registered using qRegisterMetaType() and qRegisterMetaTypeStreamOperators() can be stored using QSettings.</para>
            <para></para>
            <para>Section and Key Syntax</para>
            <para>Setting keys can contain any Unicode characters. The Windows registry and INI files use case-insensitive keys, whereas the Carbon Preferences API on Mac OS X uses case-sensitive keys. To avoid portability problems, follow these simple rules:</para>
            <para></para>
            <para>Always refer to the same key using the same case. For example, if you refer to a key as &amp;quot;text fonts&amp;quot; in one place in your code, don't refer to it as &amp;quot;Text Fonts&amp;quot; somewhere else.</para>
            <para>Avoid key names that are identical except for the case. For example, if you have a key called &amp;quot;MainWindow&amp;quot;, don't try to save another key as &amp;quot;mainwindow&amp;quot;.</para>
            <para>Do not use slashes ('/' and '\') in section or key names; the backslash character is used to separate sub keys (see below). On windows '\' are converted by QSettings to '/', which makes them identical.</para>
            <para></para>
            <para>You can form hierarchical keys using the '/' character as a separator, similar to Unix file paths. For example:</para>
            <para>     settings.setValue(&amp;quot;mainwindow/size&amp;quot;, win-&amp;gt;size());</para>
            <para>     settings.setValue(&amp;quot;mainwindow/fullScreen&amp;quot;, win-&amp;gt;isFullScreen());</para>
            <para>     settings.setValue(&amp;quot;outputpanel/visible&amp;quot;, panel-&amp;gt;isVisible());</para>
            <para>If you want to save or restore many settings with the same prefix, you can specify the prefix using beginGroup() and call endGroup() at the end. Here's the same example again, but this time using the group mechanism:</para>
            <para>     settings.beginGroup(&amp;quot;mainwindow&amp;quot;);</para>
            <para>     settings.setValue(&amp;quot;size&amp;quot;, win-&amp;gt;size());</para>
            <para>     settings.setValue(&amp;quot;fullScreen&amp;quot;, win-&amp;gt;isFullScreen());</para>
            <para>     settings.endGroup();</para>
            <para></para>
            <para>     settings.beginGroup(&amp;quot;outputpanel&amp;quot;);</para>
            <para>     settings.setValue(&amp;quot;visible&amp;quot;, panel-&amp;gt;isVisible());</para>
            <para>     settings.endGroup();</para>
            <para>If a group is set using beginGroup(), the behavior of most functions changes consequently. Groups can be set recursively.</para>
            <para>In addition to groups, QSettings also supports an &amp;quot;array&amp;quot; concept. See beginReadArray() and beginWriteArray() for details.</para>
            <para></para>
            <para>Fallback Mechanism</para>
            <para>Let's assume that you have created a QSettings object with the organization name MySoft and the application name Star Runner. When you look up a value, up to four locations are searched in that order:</para>
            <para></para>
            <para>a user-specific location for the Star Runner application</para>
            <para>a user-specific location for all applications by MySoft</para>
            <para>a system-wide location for the Star Runner application</para>
            <para>a system-wide location for all applications by MySoft</para>
            <para></para>
            <para>(See Platform-Specific Notes below for information on what these locations are on the different platforms supported by Qt.)</para>
            <para>If a key cannot be found in the first location, the search goes on in the second location, and so on. This enables you to store system-wide or organization-wide settings and to override them on a per-user or per-application basis. To turn off this mechanism, call setFallbacksEnabled(false).</para>
            <para>Although keys from all four locations are available for reading, only the first file (the user-specific location for the application at hand) is accessible for writing. To write to any of the other files, omit the application name and/or specify QSettings::SystemScope (as opposed to QSettings::UserScope, the default).</para>
            <para>Let's see with an example:</para>
            <para>     QSettings obj1(&amp;quot;MySoft&amp;quot;, &amp;quot;Star Runner&amp;quot;);</para>
            <para>     QSettings obj2(&amp;quot;MySoft&amp;quot;);</para>
            <para>     QSettings obj3(QSettings::SystemScope, &amp;quot;MySoft&amp;quot;, &amp;quot;Star Runner&amp;quot;);</para>
            <para>     QSettings obj4(QSettings::SystemScope, &amp;quot;MySoft&amp;quot;);</para>
            <para>The table below summarizes which QSettings objects access which location. &amp;quot;X&amp;quot; means that the location is the main location associated to the QSettings object and is used both for reading and for writing; &amp;quot;o&amp;quot; means that the location is used as a fallback when reading.</para>
            <para></para>
            <para>Locationsobj1obj2obj3obj4</para>
            <para>1. User, Application	X	</para>
            <para>2. User, Organization	o	X	</para>
            <para>3. System, Application	o	X	</para>
            <para>4. System, Organization	o	o	o	X</para>
            <para></para>
            <para>The beauty of this mechanism is that it works on all platforms supported by Qt and that it still gives you a lot of flexibility, without requiring you to specify any file names or registry paths.</para>
            <para>If you want to use INI files on all platforms instead of the native API, you can pass QSettings::IniFormat as the first argument to the QSettings constructor, followed by the scope, the organization name, and the application name:</para>
            <para>     QSettings settings(QSettings::IniFormat, QSettings::UserScope,</para>
            <para>                        &amp;quot;MySoft&amp;quot;, &amp;quot;Star Runner&amp;quot;);</para>
            <para>The Settings Editor example lets you experiment with different settings location and with fallbacks turned on or off.</para>
            <para></para>
            <para>Restoring the State of a GUI Application</para>
            <para>QSettings is often used to store the state of a GUI application. The following example illustrates how to use QSettings to save and restore the geometry of an application's main window.</para>
            <para> void MainWindow::writeSettings()</para>
            <para> {</para>
            <para>     QSettings settings(&amp;quot;Moose Soft&amp;quot;, &amp;quot;Clipper&amp;quot;);</para>
            <para></para>
            <para>     settings.beginGroup(&amp;quot;MainWindow&amp;quot;);</para>
            <para>     settings.setValue(&amp;quot;size&amp;quot;, size());</para>
            <para>     settings.setValue(&amp;quot;pos&amp;quot;, pos());</para>
            <para>     settings.endGroup();</para>
            <para> }</para>
            <para></para>
            <para> void MainWindow::readSettings()</para>
            <para> {</para>
            <para>     QSettings settings(&amp;quot;Moose Soft&amp;quot;, &amp;quot;Clipper&amp;quot;);</para>
            <para></para>
            <para>     settings.beginGroup(&amp;quot;MainWindow&amp;quot;);</para>
            <para>     resize(settings.value(&amp;quot;size&amp;quot;, QSize(400, 400)).toSize());</para>
            <para>     move(settings.value(&amp;quot;pos&amp;quot;, QPoint(200, 200)).toPoint());</para>
            <para>     settings.endGroup();</para>
            <para> }</para>
            <para>See Window Geometry for a discussion on why it is better to call QWidget::resize() and QWidget::move() rather than QWidget::setGeometry() to restore a window's geometry.</para>
            <para>The readSettings() and writeSettings() functions must be called from the main window's constructor and close event handler as follows:</para>
            <para> MainWindow::MainWindow()</para>
            <para> {</para>
            <para>     ...</para>
            <para>     readSettings();</para>
            <para> }</para>
            <para></para>
            <para> void MainWindow::closeEvent(QCloseEvent *event)</para>
            <para> {</para>
            <para>     if (userReallyWantsToQuit()) {</para>
            <para>         writeSettings();</para>
            <para>         event-&amp;gt;accept();</para>
            <para>     } else {</para>
            <para>         event-&amp;gt;ignore();</para>
            <para>     }</para>
            <para> }</para>
            <para>See the Application example for a self-contained example that uses QSettings.</para>
            <para></para>
            <para>Accessing Settings from Multiple Threads or Processes Simultaneously</para>
            <para>QSettings is reentrant. This means that you can use distinct QSettings object in different threads simultaneously. This guarantee stands even when the QSettings objects refer to the same files on disk (or to the same entries in the system registry). If a setting is modified through one QSettings object, the change will immediately be visible in any other QSettings objects that operate on the same location and that live in the same process.</para>
            <para>QSettings can safely be used from different processes (which can be different instances of your application running at the same time or different applications altogether) to read and write to the same system locations. It uses advisory file locking and a smart merging algorithm to ensure data integrity. Note that sync() imports changes made by other processes (in addition to writing the changes from this QSettings).</para>
            <para></para>
            <para>Platform-Specific Notes</para>
            <para></para>
            <para>Locations Where Application Settings Are Stored</para>
            <para>As mentioned in the Fallback Mechanism section, QSettings stores settings for an application in up to four locations, depending on whether the settings are user-specific or system-wide and whether the settings are application-specific or organization-wide. For simplicity, we're assuming the organization is called MySoft and the application is called Star Runner.</para>
            <para>On Unix systems, if the file format is NativeFormat, the following files are used by default:</para>
            <para></para>
            <para>$HOME/.config/MySoft/Star Runner.conf (Qt for Embedded Linux: $HOME/Settings/MySoft/Star Runner.conf)</para>
            <para>$HOME/.config/MySoft.conf (Qt for Embedded Linux: $HOME/Settings/MySoft.conf)</para>
            <para> /etc/xdg/MySoft/Star Runner.conf</para>
            <para> /etc/xdg/MySoft.conf</para>
            <para></para>
            <para>On Mac OS X versions 10.2 and 10.3, these files are used by default:</para>
            <para></para>
            <para>$HOME/Library/Preferences/com.MySoft.Star Runner.plist</para>
            <para>$HOME/Library/Preferences/com.MySoft.plist</para>
            <para> /Library/Preferences/com.MySoft.Star Runner.plist</para>
            <para> /Library/Preferences/com.MySoft.plist</para>
            <para></para>
            <para>On Windows, NativeFormat settings are stored in the following registry paths:</para>
            <para></para>
            <para>HKEY_CURRENT_USER\Software\MySoft\Star Runner</para>
            <para>HKEY_CURRENT_USER\Software\MySoft</para>
            <para>HKEY_LOCAL_MACHINE\Software\MySoft\Star Runner</para>
            <para>HKEY_LOCAL_MACHINE\Software\MySoft</para>
            <para></para>
            <para>Note: On Windows, for 32-bit programs running in WOW64 mode, settings are stored in the following registry path: HKEY_LOCAL_MACHINE\Software\WOW6432node.</para>
            <para>If the file format is IniFormat, the following files are used on Unix and Mac OS X:</para>
            <para></para>
            <para>$HOME/.config/MySoft/Star Runner.ini (Qt for Embedded Linux: $HOME/Settings/MySoft/Star Runner.ini)</para>
            <para>$HOME/.config/MySoft.ini (Qt for Embedded Linux: $HOME/Settings/MySoft.ini)</para>
            <para> /etc/xdg/MySoft/Star Runner.ini</para>
            <para> /etc/xdg/MySoft.ini</para>
            <para></para>
            <para>On Windows, the following files are used:</para>
            <para></para>
            <para>%APPDATA%\MySoft\Star Runner.ini</para>
            <para>%APPDATA%\MySoft.ini</para>
            <para>%COMMON_APPDATA%\MySoft\Star Runner.ini</para>
            <para>%COMMON_APPDATA%\MySoft.ini</para>
            <para></para>
            <para>The %APPDATA% path is usually C:\Documents and Settings\User Name\Application Data; the %COMMON_APPDATA% path is usually C:\Documents and Settings\All Users\Application Data.</para>
            <para>On Symbian, the following files are used for both IniFormat and NativeFormat (in this example, we assume that the application is installed on the e-drive and its Secure ID is 0xECB00931):</para>
            <para></para>
            <para>c:\data\.config\MySoft\Star Runner.conf</para>
            <para>c:\data\.config\MySoft.conf</para>
            <para>e:\private\ecb00931\MySoft\Star Runner.conf</para>
            <para>e:\private\ecb00931\MySoft.conf</para>
            <para></para>
            <para>The SystemScope settings location is determined from the installation drive and Secure ID (UID3) of the application. If the application is built-in on the ROM, the drive used for SystemScope is c:.</para>
            <para>Note: Symbian SystemScope settings are by default private to the application and not shared between applications, unlike other environments.</para>
            <para>The paths for the .ini and .conf files can be changed using setPath(). On Unix and Mac OS X, the user can override them by by setting the XDG_CONFIG_HOME environment variable; see setPath() for details.</para>
            <para></para>
            <para>Accessing INI and .plist Files Directly</para>
            <para>Sometimes you do want to access settings stored in a specific file or registry path. On all platforms, if you want to read an INI file directly, you can use the QSettings constructor that takes a file name as first argument and pass QSettings::IniFormat as second argument. For example:</para>
            <para> QSettings settings(&amp;quot;/home/petra/misc/myapp.ini&amp;quot;,</para>
            <para>                    QSettings::IniFormat);</para>
            <para>You can then use the QSettings object to read and write settings in the file.</para>
            <para>On Mac OS X, you can access XML-based .plist files by passing QSettings::NativeFormat as second argument. For example:</para>
            <para> QSettings settings(&amp;quot;/Users/petra/misc/myapp.plist&amp;quot;,</para>
            <para>                    QSettings::NativeFormat);</para>
            <para></para>
            <para>Accessing the Windows Registry Directly</para>
            <para>On Windows, QSettings lets you access settings that have been written with QSettings (or settings in a supported format, e.g., string data) in the system registry. This is done by constructing a QSettings object with a path in the registry and QSettings::NativeFormat.</para>
            <para>For example:</para>
            <para> QSettings settings(&amp;quot;HKEY_CURRENT_USER\\Software\\Microsoft\\Office&amp;quot;,</para>
            <para>                    QSettings::NativeFormat);</para>
            <para>All the registry entries that appear under the specified path can be read or written through the QSettings object as usual (using forward slashes instead of backslashes). For example:</para>
            <para> settings.setValue(&amp;quot;11.0/Outlook/Security/DontTrustInstalledFiles&amp;quot;, 0);</para>
            <para>Note that the backslash character is, as mentioned, used by QSettings to separate subkeys. As a result, you cannot read or write windows registry entries that contain slashes or backslashes; you should use a native windows API if you need to do so.</para>
            <para></para>
            <para>Accessing Common Registry Settings on Windows</para>
            <para>On Windows, it is possible for a key to have both a value and subkeys. Its default value is accessed by using &amp;quot;Default&amp;quot; or &amp;quot;.&amp;quot; in place of a subkey:</para>
            <para> settings.setValue(&amp;quot;HKEY_CURRENT_USER\\MySoft\\Star Runner\\Galaxy&amp;quot;, &amp;quot;Milkyway&amp;quot;);</para>
            <para> settings.setValue(&amp;quot;HKEY_CURRENT_USER\\MySoft\\Star Runner\\Galaxy\\Sun&amp;quot;, &amp;quot;OurStar&amp;quot;);</para>
            <para> settings.value(&amp;quot;HKEY_CURRENT_USER\\MySoft\\Star Runner\\Galaxy\\Default&amp;quot;); // returns &amp;quot;Milkyway&amp;quot;</para>
            <para>On other platforms than Windows, &amp;quot;Default&amp;quot; and &amp;quot;.&amp;quot; would be treated as regular subkeys.</para>
            <para></para>
            <para>Securing application settings in Symbian</para>
            <para>UserScope settings in Symbian are writable by any application by default. To protect the application settings from access and tampering by other applications, the settings need to be placed in the private secure area of the application. This can be done by specifying the settings storage path directly to the private area. The following snippet changes the UserScope to c:/private/ecb00931/MySoft.conf (provided the application is installed on the c-drive and its Secure ID is 0xECB00931:</para>
            <para> QSettings settings(QApplication::applicationDirPath() + &amp;quot;/MySoft.conf&amp;quot;);</para>
            <para>Framework libraries (like Qt itself) may store configuration and cache settings using UserScope, which is accessible and writable by other applications. If the application is very security sensitive or uses high platform security capabilities, it may be prudent to also force framework settings to be stored in the private directory of the application. This can be done by changing the default path of UserScope before QApplication is created:</para>
            <para> #include &amp;lt;QSettings&amp;gt;</para>
            <para> #include &amp;lt;QDesktopServices&amp;gt;</para>
            <para> int main(int argc, char *argv[])</para>
            <para> {</para>
            <para> #ifdef Q_OS_SYMBIAN</para>
            <para>     // Use QDesktopServices:storageLocation as QApplication is not yet created</para>
            <para>     QSettings::setPath(</para>
            <para>         QSettings::NativeFormat, QSettings::UserScope,</para>
            <para>         QDesktopServices::storageLocation(QDesktopServices::DataLocation) + &amp;quot;/settings&amp;quot;);</para>
            <para> #endif</para>
            <para>     QApplication app(argc, argv);</para>
            <para></para>
            <para>     ...</para>
            <para> }</para>
            <para>Note that this may affect framework libraries' functionality if they expect the settings to be shared between applications.</para>
            <para></para>
            <para>Changing the location of global Qt settings on Mac OS X</para>
            <para>On Mac OS X, the global Qt settings (stored in com.trolltech.plist) are stored in the application settings file in two situations:</para>
            <para></para>
            <para>If the application runs in a Mac OS X sandbox (on Mac OS X 10.7 or later) or</para>
            <para>If the Info.plist file of the application contains the key &amp;quot;ForAppStore&amp;quot; with the value &amp;quot;yes&amp;quot;</para>
            <para></para>
            <para>In these situations, the application settings file is named using the bundle identifier of the application, which must consequently be set in the application's Info.plist file.</para>
            <para>This feature is provided to ease the acceptance of Qt applications into the Mac App Store, as the default behaviour of storing global Qt settings in the com.trolltech.plist file does not conform with Mac App Store file system usage requirements. For more information about submitting Qt applications to the Mac App Store, see Preparing a Qt application for Mac App Store submission.</para>
            <para></para>
            <para>Platform Limitations</para>
            <para>While QSettings attempts to smooth over the differences between the different supported platforms, there are still a few differences that you should be aware of when porting your application:</para>
            <para></para>
            <para>The Windows system registry has the following limitations: A subkey may not exceed 255 characters, an entry's value may not exceed 16,383 characters, and all the values of a key may not exceed 65,535 characters. One way to work around these limitations is to store the settings using the IniFormat instead of the NativeFormat.</para>
            <para>On Mac OS X, allKeys() will return some extra keys for global settings that apply to all applications. These keys can be read using value() but cannot be changed, only shadowed. Calling setFallbacksEnabled(false) will hide these global settings.</para>
            <para>On Mac OS X, the CFPreferences API used by QSettings expects Internet domain names rather than organization names. To provide a uniform API, QSettings derives a fake domain name from the organization name (unless the organization name already is a domain name, e.g. OpenOffice.org). The algorithm appends &amp;quot;.com&amp;quot; to the company name and replaces spaces and other illegal characters with hyphens. If you want to specify a different domain name, call QCoreApplication::setOrganizationDomain(), QCoreApplication::setOrganizationName(), and QCoreApplication::setApplicationName() in your main() function and then use the default QSettings constructor. Another solution is to use preprocessor directives, for example: #ifdef Q_WS_MAC</para>
            <para>     QSettings settings(&amp;quot;grenoullelogique.fr&amp;quot;, &amp;quot;Squash&amp;quot;);</para>
            <para> #else</para>
            <para>     QSettings settings(&amp;quot;Grenoulle Logique&amp;quot;, &amp;quot;Squash&amp;quot;);</para>
            <para> #endif</para>
            <para></para>
            <para>On Unix and Mac OS X systems, the advisory file locking is disabled if NFS (or AutoFS or CacheFS) is detected to work around a bug in the NFS fcntl() implementation, which hangs forever if statd or lockd aren't running. Also, the locking isn't performed when accessing .plist files.</para>
            <para></para>
            <para></para>
            <para>See also QVariant, QSessionManager, Settings Editor Example, and Application Example.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QSettings.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs a QSettings object for accessing settings of the application and organization set previously with a call to QCoreApplication::setOrganizationName(), QCoreApplication::setOrganizationDomain(), and QCoreApplication::setApplicationName().</para>
            <para>The scope is QSettings::UserScope and the format is defaultFormat() (QSettings::NativeFormat by default). Use setDefaultFormat() before calling this constructor to change the default format used by this constructor.</para>
            <para>The code</para>
            <para> QSettings settings(&quot;Moose Soft&quot;, &quot;Facturo-Pro&quot;);</para>
            <para>is equivalent to</para>
            <para> QCoreApplication::setOrganizationName(&quot;Moose Soft&quot;);</para>
            <para> QCoreApplication::setApplicationName(&quot;Facturo-Pro&quot;);</para>
            <para> QSettings settings;</para>
            <para>If QCoreApplication::setOrganizationName() and QCoreApplication::setApplicationName() has not been previously called, the QSettings object will not be able to read or write any settings, and status() will return AccessError.</para>
            <para>On Mac OS X, if both a name and an Internet domain are specified for the organization, the domain is preferred over the name. On other platforms, the name is preferred over the domain.</para>
            <para>See also QCoreApplication::setOrganizationName(), QCoreApplication::setOrganizationDomain(), QCoreApplication::setApplicationName(), and setDefaultFormat().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.#ctor(System.String,System.String,QtCore.QObject)">
            <summary>
            <para>Constructs a QSettings object for accessing settings of the application called application from the organization called organization, and with parent parent.</para>
            <para>Example:</para>
            <para> QSettings settings(&quot;Moose Tech&quot;, &quot;Facturo-Pro&quot;);</para>
            <para>The scope is set to QSettings::UserScope, and the format is set to QSettings::NativeFormat (i.e. calling setDefaultFormat() before calling this constructor has no effect).</para>
            <para>See also setDefaultFormat() and Fallback Mechanism.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.#ctor(System.String,QtCore.QSettings.Format,QtCore.QObject)">
            <summary>
            <para>Constructs a QSettings object for accessing the settings stored in the file called fileName, with parent parent. If the file doesn't already exist, it is created.</para>
            <para>If format is QSettings::NativeFormat, the meaning of fileName depends on the platform. On Unix, fileName is the name of an INI file. On Mac OS X, fileName is the name of a .plist file. On Windows, fileName is a path in the system registry.</para>
            <para>If format is QSettings::IniFormat, fileName is the name of an INI file.</para>
            <para>Warning: This function is provided for convenience. It works well for accessing INI or .plist files generated by Qt, but might fail on some syntaxes found in such files originated by other programs. In particular, be aware of the following limitations:</para>
            <para></para>
            <para>QSettings provides no way of reading INI &quot;path&quot; entries, i.e., entries with unescaped slash characters. (This is because these entries are ambiguous and cannot be resolved automatically.)</para>
            <para>In INI files, QSettings uses the @ character as a metacharacter in some contexts, to encode Qt-specific data types (e.g., @Rect), and might therefore misinterpret it when it occurs in pure INI files.</para>
            <para></para>
            <para>See also fileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.#ctor(QtCore.QSettings.Scope,System.String,System.String,QtCore.QObject)">
            <summary>
            <para>Constructs a QSettings object for accessing settings of the application called application from the organization called organization, and with parent parent.</para>
            <para>Example:</para>
            <para> QSettings settings(&quot;Moose Tech&quot;, &quot;Facturo-Pro&quot;);</para>
            <para>The scope is set to QSettings::UserScope, and the format is set to QSettings::NativeFormat (i.e. calling setDefaultFormat() before calling this constructor has no effect).</para>
            <para>See also setDefaultFormat() and Fallback Mechanism.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.#ctor(QtCore.QSettings.Format,QtCore.QSettings.Scope,System.String,System.String,QtCore.QObject)">
            <summary>
            <para>Constructs a QSettings object for accessing settings of the application called application from the organization called organization, and with parent parent.</para>
            <para>Example:</para>
            <para> QSettings settings(&quot;Moose Tech&quot;, &quot;Facturo-Pro&quot;);</para>
            <para>The scope is set to QSettings::UserScope, and the format is set to QSettings::NativeFormat (i.e. calling setDefaultFormat() before calling this constructor has no effect).</para>
            <para>See also setDefaultFormat() and Fallback Mechanism.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.AllKeys">
            <summary>
            <para>Returns a list of all keys, including subkeys, that can be read using the QSettings object.</para>
            <para>Example:</para>
            <para> QSettings settings;</para>
            <para> settings.setValue(&quot;fridge/color&quot;, Qt::white);</para>
            <para> settings.setValue(&quot;fridge/size&quot;, QSize(32, 96));</para>
            <para> settings.setValue(&quot;sofa&quot;, true);</para>
            <para> settings.setValue(&quot;tv&quot;, false);</para>
            <para></para>
            <para> QStringList keys = settings.allKeys();</para>
            <para> // keys: [&quot;fridge/color&quot;, &quot;fridge/size&quot;, &quot;sofa&quot;, &quot;tv&quot;]</para>
            <para>If a group is set using beginGroup(), only the keys in the group are returned, without the group prefix:</para>
            <para> settings.beginGroup(&quot;fridge&quot;);</para>
            <para> keys = settings.allKeys();</para>
            <para> // keys: [&quot;color&quot;, &quot;size&quot;]</para>
            <para>See also childGroups() and childKeys().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.ApplicationName">
            <summary>
            <para>Returns the application name used for storing the settings.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also QCoreApplication::applicationName(), format(), scope(), and organizationName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.BeginGroup(System.String)">
            <summary>
            <para>Appends prefix to the current group.</para>
            <para>The current group is automatically prepended to all keys specified to QSettings. In addition, query functions such as childGroups(), childKeys(), and allKeys() are based on the group. By default, no group is set.</para>
            <para>Groups are useful to avoid typing in the same setting paths over and over. For example:</para>
            <para> settings.beginGroup(&quot;mainwindow&quot;);</para>
            <para> settings.setValue(&quot;size&quot;, win-&gt;size());</para>
            <para> settings.setValue(&quot;fullScreen&quot;, win-&gt;isFullScreen());</para>
            <para> settings.endGroup();</para>
            <para></para>
            <para> settings.beginGroup(&quot;outputpanel&quot;);</para>
            <para> settings.setValue(&quot;visible&quot;, panel-&gt;isVisible());</para>
            <para> settings.endGroup();</para>
            <para>This will set the value of three settings:</para>
            <para></para>
            <para>mainwindow/size</para>
            <para>mainwindow/fullScreen</para>
            <para>outputpanel/visible</para>
            <para></para>
            <para>Call endGroup() to reset the current group to what it was before the corresponding beginGroup() call. Groups can be nested.</para>
            <para>See also endGroup() and group().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.BeginReadArray(System.String)">
            <summary>
            <para>Adds prefix to the current group and starts reading from an array. Returns the size of the array.</para>
            <para>Example:</para>
            <para> struct Login {</para>
            <para>     QString userName;</para>
            <para>     QString password;</para>
            <para> };</para>
            <para> QList&lt;Login&gt; logins;</para>
            <para> ...</para>
            <para></para>
            <para> QSettings settings;</para>
            <para> int size = settings.beginReadArray(&quot;logins&quot;);</para>
            <para> for (int i = 0; i &lt; size; ++i) {</para>
            <para>     settings.setArrayIndex(i);</para>
            <para>     Login login;</para>
            <para>     login.userName = settings.value(&quot;userName&quot;).toString();</para>
            <para>     login.password = settings.value(&quot;password&quot;).toString();</para>
            <para>     logins.append(login);</para>
            <para> }</para>
            <para> settings.endArray();</para>
            <para>Use beginWriteArray() to write the array in the first place.</para>
            <para>See also beginWriteArray(), endArray(), and setArrayIndex().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.BeginWriteArray(System.String,System.Int32)">
            <summary>
            <para>Adds prefix to the current group and starts writing an array of size size. If size is -1 (the default), it is automatically determined based on the indexes of the entries written.</para>
            <para>If you have many occurrences of a certain set of keys, you can use arrays to make your life easier. For example, let's suppose that you want to save a variable-length list of user names and passwords. You could then write:</para>
            <para> struct Login {</para>
            <para>     QString userName;</para>
            <para>     QString password;</para>
            <para> };</para>
            <para> QList&lt;Login&gt; logins;</para>
            <para> ...</para>
            <para></para>
            <para> QSettings settings;</para>
            <para> settings.beginWriteArray(&quot;logins&quot;);</para>
            <para> for (int i = 0; i &lt; logins.size(); ++i) {</para>
            <para>     settings.setArrayIndex(i);</para>
            <para>     settings.setValue(&quot;userName&quot;, list.at(i).userName);</para>
            <para>     settings.setValue(&quot;password&quot;, list.at(i).password);</para>
            <para> }</para>
            <para> settings.endArray();</para>
            <para>The generated keys will have the form</para>
            <para></para>
            <para>logins/size</para>
            <para>logins/1/userName</para>
            <para>logins/1/password</para>
            <para>logins/2/userName</para>
            <para>logins/2/password</para>
            <para>logins/3/userName</para>
            <para>logins/3/password</para>
            <para>...</para>
            <para></para>
            <para>To read back an array, use beginReadArray().</para>
            <para>See also beginReadArray(), endArray(), and setArrayIndex().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.ChildGroups">
            <summary>
            <para>Returns a list of all key top-level groups that contain keys that can be read using the QSettings object.</para>
            <para>Example:</para>
            <para> QSettings settings;</para>
            <para> settings.setValue(&quot;fridge/color&quot;, Qt::white);</para>
            <para> settings.setValue(&quot;fridge/size&quot;, QSize(32, 96));</para>
            <para> settings.setValue(&quot;sofa&quot;, true);</para>
            <para> settings.setValue(&quot;tv&quot;, false);</para>
            <para></para>
            <para> QStringList groups = settings.childGroups();</para>
            <para> // groups: [&quot;fridge&quot;]</para>
            <para>If a group is set using beginGroup(), the first-level keys in that group are returned, without the group prefix.</para>
            <para> settings.beginGroup(&quot;fridge&quot;);</para>
            <para> groups = settings.childGroups();</para>
            <para> // groups: []</para>
            <para>You can navigate through the entire setting hierarchy using childKeys() and childGroups() recursively.</para>
            <para>See also childKeys() and allKeys().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.ChildKeys">
            <summary>
            <para>Returns a list of all top-level keys that can be read using the QSettings object.</para>
            <para>Example:</para>
            <para> QSettings settings;</para>
            <para> settings.setValue(&quot;fridge/color&quot;, Qt::white);</para>
            <para> settings.setValue(&quot;fridge/size&quot;, QSize(32, 96));</para>
            <para> settings.setValue(&quot;sofa&quot;, true);</para>
            <para> settings.setValue(&quot;tv&quot;, false);</para>
            <para></para>
            <para> QStringList keys = settings.childKeys();</para>
            <para> // keys: [&quot;sofa&quot;, &quot;tv&quot;]</para>
            <para>If a group is set using beginGroup(), the top-level keys in that group are returned, without the group prefix:</para>
            <para> settings.beginGroup(&quot;fridge&quot;);</para>
            <para> keys = settings.childKeys();</para>
            <para> // keys: [&quot;color&quot;, &quot;size&quot;]</para>
            <para>You can navigate through the entire setting hierarchy using childKeys() and childGroups() recursively.</para>
            <para>See also childGroups() and allKeys().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.Clear">
            <summary>
            <para>Removes all entries in the primary location associated to this QSettings object.</para>
            <para>Entries in fallback locations are not removed.</para>
            <para>If you only want to remove the entries in the current group(), use remove(&quot;&quot;) instead.</para>
            <para>See also remove() and setFallbacksEnabled().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.Contains(System.String)">
            <summary>
            <para>Returns true if there exists a setting called key; returns false otherwise.</para>
            <para>If a group is set using beginGroup(), key is taken to be relative to that group.</para>
            <para>Note that the Windows registry and INI files use case-insensitive keys, whereas the Carbon Preferences API on Mac OS X uses case-sensitive keys. To avoid portability problems, see the Section and Key Syntax rules.</para>
            <para>See also value() and setValue().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.EndArray">
            <summary>
            <para>Closes the array that was started using beginReadArray() or beginWriteArray().</para>
            <para>See also beginReadArray() and beginWriteArray().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.EndGroup">
            <summary>
            <para>Resets the group to what it was before the corresponding beginGroup() call.</para>
            <para>Example:</para>
            <para> settings.beginGroup(&quot;alpha&quot;);</para>
            <para> // settings.group() == &quot;alpha&quot;</para>
            <para></para>
            <para> settings.beginGroup(&quot;beta&quot;);</para>
            <para> // settings.group() == &quot;alpha/beta&quot;</para>
            <para></para>
            <para> settings.endGroup();</para>
            <para> // settings.group() == &quot;alpha&quot;</para>
            <para></para>
            <para> settings.endGroup();</para>
            <para> // settings.group() == &quot;&quot;</para>
            <para>See also beginGroup() and group().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.OnEvent(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QObject::event().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.FileName">
            <summary>
            <para>Returns the path where settings written using this QSettings object are stored.</para>
            <para>On Windows, if the format is QSettings::NativeFormat, the return value is a system registry path, not a file path.</para>
            <para>See also isWritable() and format().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.format">
            <summary>
            <para>Returns the format used for storing the settings.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also defaultFormat(), fileName(), scope(), organizationName(), and applicationName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.Group">
            <summary>
            <para>Returns the current group.</para>
            <para>See also beginGroup() and endGroup().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.IsWritable">
            <summary>
            <para>Returns true if settings can be written using this QSettings object; returns false otherwise.</para>
            <para>One reason why isWritable() might return false is if QSettings operates on a read-only file.</para>
            <para>Warning: This function is not perfectly reliable, because the file permissions can change at any time.</para>
            <para>See also fileName(), status(), and sync().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.OrganizationName">
            <summary>
            <para>Returns the organization name used for storing the settings.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also QCoreApplication::organizationName(), format(), scope(), and applicationName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.RegisterFormat(System.String,System.Boolean,System.Boolean,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Registers a custom storage format. On success, returns a special Format value that can then be passed to the QSettings constructor. On failure, returns InvalidFormat.</para>
            <para>The extension is the file extension associated to the format (without the '.').</para>
            <para>The readFunc and writeFunc parameters are pointers to functions that read and write a set of key/value pairs. The QIODevice parameter to the read and write functions is always opened in binary mode (i.e., without the QIODevice::Text flag).</para>
            <para>The caseSensitivity parameter specifies whether keys are case sensitive or not. This makes a difference when looking up values using QSettings. The default is case sensitive.</para>
            <para>By default, if you use one of the constructors that work in terms of an organization name and an application name, the file system locations used are the same as for IniFormat. Use setPath() to specify other locations.</para>
            <para>Example:</para>
            <para> bool readXmlFile(QIODevice &amp;device, QSettings::SettingsMap &amp;map);</para>
            <para> bool writeXmlFile(QIODevice &amp;device, const QSettings::SettingsMap &amp;map);</para>
            <para></para>
            <para> int main(int argc, char *argv[])</para>
            <para> {</para>
            <para>     const QSettings::Format XmlFormat =</para>
            <para>             QSettings::registerFormat(&quot;xml&quot;, readXmlFile, writeXmlFile);</para>
            <para></para>
            <para>     QSettings settings(XmlFormat, QSettings::UserScope, &quot;MySoft&quot;,</para>
            <para>                        &quot;Star Runner&quot;);</para>
            <para></para>
            <para>     ...</para>
            <para> }</para>
            <para>Note: This function is thread-safe.</para>
            <para>This function was introduced in Qt 4.1.</para>
            <para>See also setPath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.Remove(System.String)">
            <summary>
            <para>Removes the setting key and any sub-settings of key.</para>
            <para>Example:</para>
            <para> QSettings settings;</para>
            <para> settings.setValue(&quot;ape&quot;);</para>
            <para> settings.setValue(&quot;monkey&quot;, 1);</para>
            <para> settings.setValue(&quot;monkey/sea&quot;, 2);</para>
            <para> settings.setValue(&quot;monkey/doe&quot;, 4);</para>
            <para></para>
            <para> settings.remove(&quot;monkey&quot;);</para>
            <para> QStringList keys = settings.allKeys();</para>
            <para> // keys: [&quot;ape&quot;]</para>
            <para>Be aware that if one of the fallback locations contains a setting with the same key, that setting will be visible after calling remove().</para>
            <para>If key is an empty string, all keys in the current group() are removed. For example:</para>
            <para> QSettings settings;</para>
            <para> settings.setValue(&quot;ape&quot;);</para>
            <para> settings.setValue(&quot;monkey&quot;, 1);</para>
            <para> settings.setValue(&quot;monkey/sea&quot;, 2);</para>
            <para> settings.setValue(&quot;monkey/doe&quot;, 4);</para>
            <para></para>
            <para> settings.beginGroup(&quot;monkey&quot;);</para>
            <para> settings.remove(&quot;&quot;);</para>
            <para> settings.endGroup();</para>
            <para></para>
            <para> QStringList keys = settings.allKeys();</para>
            <para> // keys: [&quot;ape&quot;]</para>
            <para>Note that the Windows registry and INI files use case-insensitive keys, whereas the Carbon Preferences API on Mac OS X uses case-sensitive keys. To avoid portability problems, see the Section and Key Syntax rules.</para>
            <para>See also setValue(), value(), and contains().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.scope">
            <summary>
            <para>Returns the scope used for storing the settings.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also format(), organizationName(), and applicationName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.SetArrayIndex(System.Int32)">
            <summary>
            <para>Sets the current array index to i. Calls to functions such as setValue(), value(), remove(), and contains() will operate on the array entry at that index.</para>
            <para>You must call beginReadArray() or beginWriteArray() before you can call this function.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.SetIniCodec(System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Sets the codec for accessing INI files (including .conf files on Unix) to the QTextCodec for the encoding specified by codecName. Common values for codecName include &quot;ISO 8859-1&quot;, &quot;UTF-8&quot;, and &quot;UTF-16&quot;. If the encoding isn't recognized, nothing happens.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also QTextCodec::codecForName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.SetPath(QtCore.QSettings.Format,QtCore.QSettings.Scope,System.String)">
            <summary>
            <para>Sets the path used for storing settings for the given format and scope, to path. The format can be a custom format.</para>
            <para>The table below summarizes the default values:</para>
            <para></para>
            <para>PlatformFormatScopePath</para>
            <para>Windows	IniFormat	UserScope	%APPDATA%</para>
            <para>SystemScope	%COMMON_APPDATA%</para>
            <para>Unix	NativeFormat, IniFormat	UserScope	$HOME/.config</para>
            <para>SystemScope	/etc/xdg</para>
            <para>Qt for Embedded Linux	NativeFormat, IniFormat	UserScope	$HOME/Settings</para>
            <para>SystemScope	/etc/xdg</para>
            <para>Mac OS X	IniFormat	UserScope	$HOME/.config</para>
            <para>SystemScope	/etc/xdg</para>
            <para>Symbian	NativeFormat, IniFormat	UserScope	c:/data/.config</para>
            <para>SystemScope	&lt;drive&gt;/private/&lt;uid&gt;</para>
            <para></para>
            <para>The default UserScope paths on Unix and Mac OS X ($HOME/.config or $HOME/Settings) can be overridden by the user by setting the XDG_CONFIG_HOME environment variable. The default SystemScope paths on Unix and Mac OS X (/etc/xdg) can be overridden when building the Qt library using the configure script's --sysconfdir flag (see QLibraryInfo for details).</para>
            <para>Setting the NativeFormat paths on Windows and Mac OS X has no effect.</para>
            <para>Warning: This function doesn't affect existing QSettings objects.</para>
            <para>This function was introduced in Qt 4.1.</para>
            <para>See also registerFormat().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.SetSystemIniPath(System.String)">
            <summary>
            <para>Use setPath() instead.</para>
            <para>For example, if you have code like</para>
            <para> setSystemIniPath(path);</para>
            <para>you can rewrite it as</para>
            <para> setPath(QSettings::NativeFormat, QSettings::SystemScope, path);</para>
            <para> setPath(QSettings::IniFormat, QSettings::SystemScope, path);</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.SetUserIniPath(System.String)">
            <summary>
            <para>Use setPath() instead.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.SetValue(System.String,System.Object)">
            <summary>
            <para>Sets the value of setting key to value. If the key already exists, the previous value is overwritten.</para>
            <para>Note that the Windows registry and INI files use case-insensitive keys, whereas the Carbon Preferences API on Mac OS X uses case-sensitive keys. To avoid portability problems, see the Section and Key Syntax rules.</para>
            <para>Example:</para>
            <para> QSettings settings;</para>
            <para> settings.setValue(&quot;interval&quot;, 30);</para>
            <para> settings.value(&quot;interval&quot;).toInt();     // returns 30</para>
            <para></para>
            <para> settings.setValue(&quot;interval&quot;, 6.55);</para>
            <para> settings.value(&quot;interval&quot;).toDouble();  // returns 6.55</para>
            <para>See also value(), remove(), and contains().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.status">
            <summary>
            <para>Returns a status code indicating the first error that was met by QSettings, or QSettings::NoError if no error occurred.</para>
            <para>Be aware that QSettings delays performing some operations. For this reason, you might want to call sync() to ensure that the data stored in QSettings is written to disk before calling status().</para>
            <para>See also sync().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.Sync">
            <summary>
            <para>Writes any unsaved changes to permanent storage, and reloads any settings that have been changed in the meantime by another application.</para>
            <para>This function is called automatically from QSettings's destructor and by the event loop at regular intervals, so you normally don't need to call it yourself.</para>
            <para>See also status().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.Value(System.String)">
            <summary>
            <para>Returns the value for setting key. If the setting doesn't exist, returns defaultValue.</para>
            <para>If no default value is specified, a default QVariant is returned.</para>
            <para>Note that the Windows registry and INI files use case-insensitive keys, whereas the Carbon Preferences API on Mac OS X uses case-sensitive keys. To avoid portability problems, see the Section and Key Syntax rules.</para>
            <para>Example:</para>
            <para> QSettings settings;</para>
            <para> settings.setValue(&quot;animal/snake&quot;, 58);</para>
            <para> settings.value(&quot;animal/snake&quot;, 1024).toInt();   // returns 58</para>
            <para> settings.value(&quot;animal/zebra&quot;, 1024).toInt();   // returns 1024</para>
            <para> settings.value(&quot;animal/zebra&quot;).toInt();         // returns 0</para>
            <para>See also setValue(), contains(), and remove().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.Value(System.String,System.Object)">
            <summary>
            <para>Returns the value for setting key. If the setting doesn't exist, returns defaultValue.</para>
            <para>If no default value is specified, a default QVariant is returned.</para>
            <para>Note that the Windows registry and INI files use case-insensitive keys, whereas the Carbon Preferences API on Mac OS X uses case-sensitive keys. To avoid portability problems, see the Section and Key Syntax rules.</para>
            <para>Example:</para>
            <para> QSettings settings;</para>
            <para> settings.setValue(&quot;animal/snake&quot;, 58);</para>
            <para> settings.value(&quot;animal/snake&quot;, 1024).toInt();   // returns 58</para>
            <para> settings.value(&quot;animal/zebra&quot;, 1024).toInt();   // returns 1024</para>
            <para> settings.value(&quot;animal/zebra&quot;).toInt();         // returns 0</para>
            <para>See also setValue(), contains(), and remove().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSettings.Finalize">
            <summary>
            <para>Destroys the QSettings object.</para>
            <para>Any unsaved changes will eventually be written to permanent storage.</para>
            <para>See also sync().</para>
            </summary>
        </member>
        <member name="P:QtCore.QSettings.DefaultFormat">
            <summary>
            <para>Returns default file format used for storing settings for the QSettings(QObject *) constructor. If no default format is set, QSettings::NativeFormat is used.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>Sets the default file format to the given format, which is used for storing settings for the QSettings(QObject *) constructor.</para>
            <para>If no default format is set, QSettings::NativeFormat is used. See the documentation for the QSettings constructor you are using to see if that constructor will ignore this function.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="P:QtCore.QSettings.FallbacksEnabled">
            <summary>
            <para>Returns true if fallbacks are enabled; returns false otherwise.</para>
            <para>By default, fallbacks are enabled.</para>
            <para>Sets whether fallbacks are enabled to b.</para>
            <para>By default, fallbacks are enabled.</para>
            </summary>
        </member>
        <member name="P:QtCore.QSettings.IniCodec">
            <summary>
            <para>Returns the codec that is used for accessing INI files. By default, no codec is used, so a null pointer is returned.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>Sets the codec for accessing INI files (including .conf files on Unix) to codec. The codec is used for decoding any data that is read from the INI file, and for encoding any data that is written to the file. By default, no codec is used, and non-ASCII characters are encoded using standard INI escape sequences.</para>
            <para>Warning: The codec must be set immediately after creating the QSettings object, before accessing any data.</para>
            <para>This function was introduced in Qt 4.5.</para>
            </summary>
        </member>
        <member name="T:QtCore.QSettings.Format">
            <summary>
            <para>This enum type specifies the storage format used by QSettings.</para>
            <para>On Unix, NativeFormat and IniFormat mean the same thing, except that the file extension is different (.conf for NativeFormat, .ini for IniFormat).</para>
            <para>The INI file format is a Windows file format that Qt supports on all platforms. In the absence of an INI standard, we try to follow what Microsoft does, with the following exceptions:</para>
            <para></para>
            <para>If you store types that QVariant can't convert to QString (e.g., QPoint, QRect, and QSize), Qt uses an @-based syntax to encode the type. For example: pos = @Point(100 100)</para>
            <para>To minimize compatibility issues, any @ that doesn't appear at the first position in the value or that isn't followed by a Qt type (Point, Rect, Size, etc.) is treated as a normal character.</para>
            <para></para>
            <para>Although backslash is a special character in INI files, most Windows applications don't escape backslashes (\) in file paths: windir = C:\Windows</para>
            <para>QSettings always treats backslash as a special character and provides no API for reading or writing such entries.</para>
            <para></para>
            <para>The INI file format has severe restrictions on the syntax of a key. Qt works around this by using % as an escape character in keys. In addition, if you save a top-level setting (a key with no slashes in it, e.g., &quot;someKey&quot;), it will appear in the INI file's &quot;General&quot; section. To avoid overwriting other keys, if you save something using the a key such as &quot;General/someKey&quot;, the key will be located in the &quot;%General&quot; section, not in the &quot;General&quot; section.</para>
            <para>Following the philosophy that we should be liberal in what we accept and conservative in what we generate, QSettings will accept Latin-1 encoded INI files, but generate pure ASCII files, where non-ASCII values are encoded using standard INI escape sequences. To make the INI files more readable (but potentially less compatible), call setIniCodec().</para>
            <para></para>
            <para>See also registerFormat() and setPath().</para>
            </summary>
        </member>
        <member name="F:QtCore.QSettings.Format.IniFormat">
            <summary>
            <para>Store the settings in INI files.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSettings.Format.InvalidFormat">
            <summary>
            <para>Special value returned by registerFormat().</para>
            </summary>
        </member>
        <member name="F:QtCore.QSettings.Format.NativeFormat">
            <summary>
            <para>Store the settings using the most appropriate storage format for the platform. On Windows, this means the system registry; on Mac OS X, this means the CFPreferences API; on Unix, this means textual configuration files in INI format.</para>
            </summary>
        </member>
        <member name="T:QtCore.QSettings.Scope">
            <summary>
            <para>This enum specifies whether settings are user-specific or shared by all users of the same system.</para>
            <para>See also setPath().</para>
            </summary>
        </member>
        <member name="F:QtCore.QSettings.Scope.SystemScope">
            <summary>
            <para>Store settings in a global location, so that all users on the same machine access the same set of settings.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSettings.Scope.UserScope">
            <summary>
            <para>Store settings in a location specific to the current user (e.g., in the user's home directory).</para>
            </summary>
        </member>
        <member name="T:QtCore.QSettings.Status">
            <summary>
            <para>The following status values are possible:</para>
            <para>See also status().</para>
            </summary>
        </member>
        <member name="F:QtCore.QSettings.Status.AccessError">
            <summary>
            <para>An access error occurred (e.g. trying to write to a read-only file).</para>
            </summary>
        </member>
        <member name="F:QtCore.QSettings.Status.FormatError">
            <summary>
            <para>A format error occurred (e.g. loading a malformed INI file).</para>
            </summary>
        </member>
        <member name="F:QtCore.QSettings.Status.NoError">
            <summary>
            <para>No error occurred.</para>
            </summary>
        </member>
        <member name="T:QtCore.QSharedData">
            <summary>
            The QSharedData class is a base class for shared data objects.
            </summary>
            <remarks>
            <para></para>
            <para>QSharedData is designed to be used with QSharedDataPointer or QExplicitlySharedDataPointer to implement custom implicitly shared or explicitly shared classes. QSharedData provides thread-safe reference counting.</para>
            <para>See QSharedDataPointer and QExplicitlySharedDataPointer for details.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QSharedData.#ctor">
            <summary>
            <para>Constructs a QSharedData object with a reference count of 0.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSharedData.#ctor(QtCore.IQSharedData)">
            <summary>
            <para>Constructs a QSharedData object with reference count 0. other is ignored.</para>
            </summary>
        </member>
        <member name="T:QtCore.QSharedMemory">
            <summary>
            The QSharedMemory class provides access to a shared memory segment.
            </summary>
            <remarks>
            <para></para>
            <para>QSharedMemory provides access to a shared memory segment by multiple threads and processes. It also provides a way for a single thread or process to lock the memory for exclusive access.</para>
            <para>When using this class, be aware of the following platform differences:</para>
            <para></para>
            <para>Windows: QSharedMemory does not &amp;quot;own&amp;quot; the shared memory segment. When all threads or processes that have an instance of QSharedMemory attached to a particular shared memory segment have either destroyed their instance of QSharedMemory or exited, the Windows kernel releases the shared memory segment automatically.</para>
            <para>Unix: QSharedMemory &amp;quot;owns&amp;quot; the shared memory segment. When the last thread or process that has an instance of QSharedMemory attached to a particular shared memory segment detaches from the segment by destroying its instance of QSharedMemory, the Unix kernel release the shared memory segment. But if that last thread or process crashes without running the QSharedMemory destructor, the shared memory segment survives the crash.</para>
            <para>QNX: Due to possible race conditions in the POSIX IPC implementation, create() should be called prior to any attach() calls (even across multiple threads).</para>
            <para>HP-UX: Only one attach to a shared memory segment is allowed per process. This means that QSharedMemory should not be used across multiple threads in the same process in HP-UX.</para>
            <para>Symbian: QSharedMemory does not &amp;quot;own&amp;quot; the shared memory segment. When all threads or processes that have an instance of QSharedMemory attached to a particular shared memory segment have either destroyed their instance of QSharedMemory or exited, the Symbian kernel releases the shared memory segment automatically. Also, access to a shared memory segment cannot be limited to read-only in Symbian.</para>
            <para></para>
            <para>Remember to lock the shared memory with lock() before reading from or writing to the shared memory, and remember to release the lock with unlock() after you are done.</para>
            <para>Unlike QtSharedMemory, QSharedMemory automatically destroys the shared memory segment when the last instance of QSharedMemory is detached from the segment, and no references to the segment remain. Do not mix using QtSharedMemory and QSharedMemory. Port everything to QSharedMemory.</para>
            <para>Warning: QSharedMemory changes the key in a Qt-specific way, unless otherwise specified. Interoperation with non-Qt applications is achieved by first creating a default shared memory with QSharedMemory() and then setting a native key with setNativeKey(). When using native keys, shared memory is not protected against multiple accesses on it (e.g. unable to lock()) and a user-defined mechanism should be used to achieve a such protection.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QSharedMemory.#ctor(QtCore.QObject)">
            <summary>
            <para>This function overloads QSharedMemory().</para>
            <para>Constructs a shared memory object with the given parent. The shared memory object's key is not set by the constructor, so the shared memory object does not have an underlying shared memory segment attached. The key must be set with setKey() or setNativeKey() before create() or attach() can be used.</para>
            <para>See also setKey().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSharedMemory.#ctor(System.String,QtCore.QObject)">
            <summary>
            <para>Constructs a shared memory object with the given parent and with its key set to key. Because its key is set, its create() and attach() functions can be called.</para>
            <para>See also setKey(), create(), and attach().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSharedMemory.Attach(QtCore.QSharedMemory.AccessMode)">
            <summary>
            <para>Attempts to attach the process to the shared memory segment identified by the key that was passed to the constructor or to a call to setKey() or setNativeKey(). The access mode is ReadWrite by default. It can also be ReadOnly. Returns true if the attach operation is successful. If false is returned, call error() to determine which error occurred. After attaching the shared memory segment, a pointer to the shared memory can be obtained by calling data().</para>
            <para>See also isAttached(), detach(), and create().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSharedMemory.Create(System.Int32,QtCore.QSharedMemory.AccessMode)">
            <summary>
            <para>Creates a shared memory segment of size bytes with the key passed to the constructor, set with setKey() or set with setNativeKey(), then attaches to the new shared memory segment with the given access mode and returns true. If a shared memory segment identified by the key already exists, the attach operation is not performed and false is returned. When the return value is false, call error() to determine which error occurred.</para>
            <para>See also error().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSharedMemory.Detach">
            <summary>
            <para>Detaches the process from the shared memory segment. If this was the last process attached to the shared memory segment, then the shared memory segment is released by the system, i.e., the contents are destroyed. The function returns true if it detaches the shared memory segment. If it returns false, it usually means the segment either isn't attached, or it is locked by another process.</para>
            <para>See also attach() and isAttached().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSharedMemory.Error">
            <summary>
            <para>Returns a value indicating whether an error occurred, and, if so, which error it was.</para>
            <para>See also errorString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSharedMemory.ErrorString">
            <summary>
            <para>Returns a text description of the last error that occurred. If error() returns an error value, call this function to get a text string that describes the error.</para>
            <para>See also error().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSharedMemory.IsAttached">
            <summary>
            <para>Returns true if this process is attached to the shared memory segment.</para>
            <para>See also attach() and detach().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSharedMemory.Lock">
            <summary>
            <para>This is a semaphore that locks the shared memory segment for access by this process and returns true. If another process has locked the segment, this function blocks until the lock is released. Then it acquires the lock and returns true. If this function returns false, it means that you have ignored a false return from create() or attach(), that you have set the key with setNativeKey() or that QSystemSemaphore::acquire() failed due to an unknown system error.</para>
            <para>See also unlock(), data(), and QSystemSemaphore::acquire().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSharedMemory.Size">
            <summary>
            <para>Returns the size of the attached shared memory segment. If no shared memory segment is attached, 0 is returned.</para>
            <para>See also create() and attach().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSharedMemory.Unlock">
            <summary>
            <para>Releases the lock on the shared memory segment and returns true, if the lock is currently held by this process. If the segment is not locked, or if the lock is held by another process, nothing happens and false is returned.</para>
            <para>See also lock().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSharedMemory.Finalize">
            <summary>
            <para>The destructor clears the key, which forces the shared memory object to detach from its underlying shared memory segment. If this shared memory object is the last one connected to the shared memory segment, the detach() operation destroys the shared memory segment.</para>
            <para>See also detach() and isAttached().</para>
            </summary>
        </member>
        <member name="P:QtCore.QSharedMemory.Key">
            <summary>
            <para>Returns the key assigned with setKey() to this shared memory, or a null key if no key has been assigned, or if the segment is using a nativeKey(). The key is the identifier used by Qt applications to identify the shared memory segment.</para>
            <para>You can find the native, platform specific, key used by the operating system by calling nativeKey().</para>
            <para>Sets the platform independent key for this shared memory object. If key is the same as the current key, the function returns without doing anything.</para>
            <para>You can call key() to retrieve the platform independent key. Internally, QSharedMemory converts this key into a platform specific key. If you instead call nativeKey(), you will get the platform specific, converted key.</para>
            <para>If the shared memory object is attached to an underlying shared memory segment, it will detach from it before setting the new key. This function does not do an attach().</para>
            </summary>
        </member>
        <member name="P:QtCore.QSharedMemory.NativeKey">
            <summary>
            <para>Returns the native, platform specific, key for this shared memory object. The native key is the identifier used by the operating system to identify the shared memory segment.</para>
            <para>You can use the native key to access shared memory segments that have not been created by Qt, or to grant shared memory access to non-Qt applications.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>Sets the native, platform specific, key for this shared memory object. If key is the same as the current native key, the function returns without doing anything. If all you want is to assign a key to a segment, you should call setKey() instead.</para>
            <para>You can call nativeKey() to retrieve the native key. If a native key has been assigned, calling key() will return a null string.</para>
            <para>If the shared memory object is attached to an underlying shared memory segment, it will detach from it before setting the new key. This function does not do an attach().</para>
            <para>The application will not be portable if you set a native key.</para>
            <para>This function was introduced in Qt 4.8.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSharedMemory.AccessMode.ReadOnly">
            <summary>
            <para>The shared memory segment is read-only. Writing to the shared memory segment is not allowed. An attempt to write to a shared memory segment created with ReadOnly causes the program to abort.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSharedMemory.AccessMode.ReadWrite">
            <summary>
            <para>Reading and writing the shared memory segment are both allowed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSharedMemory.SharedMemoryError.AlreadyExists">
            <summary>
            <para>A create() operation failed because a shared memory segment with the specified key already existed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSharedMemory.SharedMemoryError.InvalidSize">
            <summary>
            <para>A create operation failed because the requested size was invalid.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSharedMemory.SharedMemoryError.KeyError">
            <summary>
            <para>The operation failed because of an invalid key.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSharedMemory.SharedMemoryError.LockError">
            <summary>
            <para>The attempt to lock() the shared memory segment failed because create() or attach() failed and returned false, or because a system error occurred in QSystemSemaphore::acquire().</para>
            </summary>
        </member>
        <member name="F:QtCore.QSharedMemory.SharedMemoryError.NoError">
            <summary>
            <para>No error occurred.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSharedMemory.SharedMemoryError.NotFound">
            <summary>
            <para>An attach() failed because a shared memory segment with the specified key could not be found.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSharedMemory.SharedMemoryError.OutOfResources">
            <summary>
            <para>A create() operation failed because there was not enough memory available to fill the request.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSharedMemory.SharedMemoryError.PermissionDenied">
            <summary>
            <para>The operation failed because the caller didn't have the required permissions.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSharedMemory.SharedMemoryError.UnknownError">
            <summary>
            <para>Something else happened and it was bad.</para>
            </summary>
        </member>
        <member name="T:QtCore.QSignalMapper">
            <summary>
            The QSignalMapper class bundles signals from identifiable senders.
            </summary>
            <remarks>
            <para></para>
            <para>This class collects a set of parameterless signals, and re-emits them with integer, string or widget parameters corresponding to the object that sent the signal.</para>
            <para>The class supports the mapping of particular strings or integers with particular objects using setMapping(). The objects' signals can then be connected to the map() slot which will emit the mapped() signal with the string or integer associated with the original signalling object. Mappings can be removed later using removeMappings().</para>
            <para>Example: Suppose we want to create a custom widget that contains a group of buttons (like a tool palette). One approach is to connect each button's clicked() signal to its own custom slot; but in this example we want to connect all the buttons to a single slot and parameterize the slot by the button that was clicked.</para>
            <para>Here's the definition of a simple custom widget that has a single signal, clicked(), which is emitted with the text of the button that was clicked:</para>
            <para> class ButtonWidget : public QWidget</para>
            <para> {</para>
            <para>     Q_OBJECT</para>
            <para></para>
            <para> public:</para>
            <para>     ButtonWidget(QStringList texts, QWidget *parent = 0);</para>
            <para></para>
            <para> signals:</para>
            <para>     void clicked(const QString &amp;amp;text);</para>
            <para></para>
            <para> private:</para>
            <para>     QSignalMapper *signalMapper;</para>
            <para> };</para>
            <para>The only function that we need to implement is the constructor:</para>
            <para> ButtonWidget::ButtonWidget(QStringList texts, QWidget *parent)</para>
            <para>     : QWidget(parent)</para>
            <para> {</para>
            <para>     signalMapper = new QSignalMapper(this);</para>
            <para></para>
            <para>     QGridLayout *gridLayout = new QGridLayout;</para>
            <para>     for (int i = 0; i &amp;lt; texts.size(); ++i) {</para>
            <para>         QPushButton *button = new QPushButton(texts[i]);</para>
            <para>         connect(button, SIGNAL(clicked()), signalMapper, SLOT(map()));</para>
            <para>         signalMapper-&amp;gt;setMapping(button, texts[i]);</para>
            <para>         gridLayout-&amp;gt;addWidget(button, i / 3, i % 3);</para>
            <para>     }</para>
            <para></para>
            <para>     connect(signalMapper, SIGNAL(mapped(const QString &amp;amp;)),</para>
            <para>             this, SIGNAL(clicked(const QString &amp;amp;)));</para>
            <para></para>
            <para>     setLayout(gridLayout);</para>
            <para> }</para>
            <para>A list of texts is passed to the constructor. A signal mapper is constructed and for each text in the list a QPushButton is created. We connect each button's clicked() signal to the signal mapper's map() slot, and create a mapping in the signal mapper from each button to the button's text. Finally we connect the signal mapper's mapped() signal to the custom widget's clicked() signal. When the user clicks a button, the custom widget will emit a single clicked() signal whose argument is the text of the button the user clicked.</para>
            <para></para>
            <para>See also QObject, QButtonGroup, and QActionGroup.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QSignalMapper.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs a QSignalMapper with parent parent.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSignalMapper.Map">
            <summary>
            <para>This slot emits signals based on which object sends signals to it.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSignalMapper.Map(QtCore.QObject)">
            <summary>
            <para>This slot emits signals based on the sender object.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSignalMapper.OnMapped(QtCore.QObject)">
            <summary>
            <para>This signal is emitted when map() is signalled from an object that has an object mapping set. The object provided by the map is passed in object.</para>
            <para>See also setMapping().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSignalMapper.OnMapped(System.Int32)">
            <summary>
            <para>This signal is emitted when map() is signalled from an object that has an integer mapping set. The object's mapped integer is passed in i.</para>
            <para>See also setMapping().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSignalMapper.OnMapped(System.String)">
            <summary>
            <para>This signal is emitted when map() is signalled from an object that has a string mapping set. The object's mapped string is passed in text.</para>
            <para>See also setMapping().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSignalMapper.Mapping(QtCore.QObject)">
            <summary>
            <para>This function overloads mapping().</para>
            <para>Returns the sender QObject that is associated with the object.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSignalMapper.Mapping(System.Int32)">
            <summary>
            <para>Returns the sender QObject that is associated with the id.</para>
            <para>See also setMapping().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSignalMapper.Mapping(System.String)">
            <summary>
            <para>This function overloads mapping().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSignalMapper.RemoveMappings(QtCore.QObject)">
            <summary>
            <para>Removes all mappings for sender.</para>
            <para>This is done automatically when mapped objects are destroyed.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSignalMapper.SetMapping(QtCore.QObject,QtCore.QObject)">
            <summary>
            <para>Adds a mapping so that when map() is signalled from the sender, the signal mapped(object ) is emitted.</para>
            <para>There may be at most one object for each sender.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSignalMapper.SetMapping(QtCore.QObject,System.Int32)">
            <summary>
            <para>Adds a mapping so that when map() is signalled from the given sender, the signal mapped(id) is emitted.</para>
            <para>There may be at most one integer ID for each sender.</para>
            <para>See also mapping().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSignalMapper.SetMapping(QtCore.QObject,System.String)">
            <summary>
            <para>Adds a mapping so that when map() is signalled from the sender, the signal mapped(text ) is emitted.</para>
            <para>There may be at most one text for each sender.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSignalMapper.Finalize">
            <summary>
            <para>Destroys the QSignalMapper.</para>
            </summary>
        </member>
        <member name="E:QtCore.QSignalMapper.Mapped">
            <summary>
            <para>This signal is emitted when map() is signalled from an object that has an object mapping set. The object provided by the map is passed in object.</para>
            <para>See also setMapping().</para>
            </summary>
        </member>
        <member name="T:QtCore.QSignalTransition">
            <summary>
            The QSignalTransition class provides a transition based on a Qt signal.
            </summary>
            <remarks>
            <para></para>
            <para>Typically you would use the overload of QState::addTransition() that takes a sender and signal as arguments, rather than creating QSignalTransition objects directly. QSignalTransition is part of The State Machine Framework.</para>
            <para>You can subclass QSignalTransition and reimplement eventTest() to make a signal transition conditional; the event object passed to eventTest() will be a QStateMachine::SignalEvent object. Example:</para>
            <para> class CheckedTransition : public QSignalTransition</para>
            <para> {</para>
            <para> public:</para>
            <para>     CheckedTransition(QCheckBox *check)</para>
            <para>         : QSignalTransition(check, SIGNAL(stateChanged(int))) {}</para>
            <para> protected:</para>
            <para>     bool eventTest(QEvent *e) {</para>
            <para>         if (!QSignalTransition::eventTest(e))</para>
            <para>             return false;</para>
            <para>         QStateMachine::SignalEvent *se = static_cast&amp;lt;QStateMachine::SignalEvent*&amp;gt;(e);</para>
            <para>         return (se-&amp;gt;arguments().at(0).toInt() == Qt::Checked);</para>
            <para>     }</para>
            <para> };</para>
            <para></para>
            <para> ...</para>
            <para></para>
            <para> QCheckBox *check = new QCheckBox();</para>
            <para> check-&amp;gt;setTristate(true);</para>
            <para></para>
            <para> QState *s1 = new QState();</para>
            <para> QState *s2 = new QState();</para>
            <para> CheckedTransition *t1 = new CheckedTransition(check);</para>
            <para> t1-&amp;gt;setTargetState(s2);</para>
            <para> s1-&amp;gt;addTransition(t1);</para>
            </remarks>
        </member>
        <member name="M:QtCore.QSignalTransition.#ctor(QtCore.QState)">
            <summary>
            <para>Constructs a new signal transition with the given sourceState.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSignalTransition.#ctor(QtCore.QObject,System.String,QtCore.QState)">
            <summary>
            <para>Constructs a new signal transition associated with the given signal of the given sender, and with the given sourceState.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSignalTransition.OnEvent(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QObject::event().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSignalTransition.EventTest(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QAbstractTransition::eventTest().</para>
            <para>The default implementation returns true if the event is a QStateMachine::SignalEvent object and the event's sender and signal index match this transition, and returns false otherwise.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSignalTransition.OnTransition(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QAbstractTransition::onTransition().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSignalTransition.Finalize">
            <summary>
            <para>Destroys this signal transition.</para>
            </summary>
        </member>
        <member name="P:QtCore.QSignalTransition.Signal">
            <summary>
            <para>This property holds the signal that this signal transition is associated with.</para>
            </summary>
        </member>
        <member name="T:QtCore.QSize">
            <summary>
            The QSize class defines the size of a two-dimensional object using integer point precision.
            </summary>
            <remarks>
            <para></para>
            <para>A size is specified by a width() and a height(). It can be set in the constructor and changed using the setWidth(), setHeight(), or scale() functions, or using arithmetic operators. A size can also be manipulated directly by retrieving references to the width and height using the rwidth() and rheight() functions. Finally, the width and height can be swapped using the transpose() function.</para>
            <para>The isValid() function determines if a size is valid (a valid size has both width and height greater than zero). The isEmpty() function returns true if either of the width and height is less than, or equal to, zero, while the isNull() function returns true only if both the width and the height is zero.</para>
            <para>Use the expandedTo() function to retrieve a size which holds the maximum height and width of this size and a given size. Similarly, the boundedTo() function returns a size which holds the minimum height and width of this size and a given size.</para>
            <para>QSize objects can be streamed as well as compared.</para>
            <para></para>
            <para>See also QSizeF, QPoint, and QRect.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QSize.#ctor">
            <summary>
            <para>Constructs a size with an invalid width and height (i.e., isValid() returns false).</para>
            <para>See also isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSize.#ctor(QtCore.QSize)">
            <summary>
            <para>Constructs a size with an invalid width and height (i.e., isValid() returns false).</para>
            <para>See also isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSize.#ctor(System.Int32,System.Int32)">
            <summary>
            <para>Constructs a size with the given width and height.</para>
            <para>See also setWidth() and setHeight().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSize.op_Multiply(QtCore.QSize,System.Double)">
            <summary>
            <para>Multiplies the given size by the given factor, and returns the result rounded to the nearest integer.</para>
            <para>See also QSize::scale().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSize.op_Addition(QtCore.QSize,QtCore.QSize)">
            <summary>
            <para>Returns the sum of s1 and s2; each component is added separately.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSize.op_Subtraction(QtCore.QSize,QtCore.QSize)">
            <summary>
            <para>Returns s2 subtracted from s1; each component is subtracted separately.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSize.op_Division(QtCore.QSize,System.Double)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Divides the given size by the given divisor, and returns the result rounded to the nearest integer.</para>
            <para>See also QSize::scale().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSize.BoundedTo(QtCore.QSize)">
            <summary>
            <para>Returns a size holding the minimum width and height of this size and the given otherSize.</para>
            <para>See also expandedTo() and scale().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSize.ExpandedTo(QtCore.QSize)">
            <summary>
            <para>Returns a size holding the maximum width and height of this size and the given otherSize.</para>
            <para>See also boundedTo() and scale().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSize.IsEmpty">
            <summary>
            <para>Returns true if either of the width and height is less than or equal to 0; otherwise returns false.</para>
            <para>See also isNull() and isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSize.IsNull">
            <summary>
            <para>Returns true if both the width and height is 0; otherwise returns false.</para>
            <para>See also isValid() and isEmpty().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSize.IsValid">
            <summary>
            <para>Returns true if both the width and height is equal to or greater than 0; otherwise returns false.</para>
            <para>See also isNull() and isEmpty().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSize.Rheight">
            <summary>
            <para>Returns a reference to the height.</para>
            <para>Using a reference makes it possible to manipulate the height directly. For example:</para>
            <para> QSize size(100, 10);</para>
            <para> size.rheight() += 5;</para>
            <para></para>
            <para> // size becomes (100,15)</para>
            <para>See also rwidth() and setHeight().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSize.Rwidth">
            <summary>
            <para>Returns a reference to the width.</para>
            <para>Using a reference makes it possible to manipulate the width directly. For example:</para>
            <para> QSize size(100, 10);</para>
            <para> size.rwidth() += 20;</para>
            <para></para>
            <para> // size becomes (120,10)</para>
            <para>See also rheight() and setWidth().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSize.Scale(QtCore.QSize,QtCore.Qt.AspectRatioMode)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Scales the size to a rectangle with the given size, according to the specified mode.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSize.Scale(System.Int32,System.Int32,QtCore.Qt.AspectRatioMode)">
            <summary>
            <para>Scales the size to a rectangle with the given width and height, according to the specified mode:</para>
            <para></para>
            <para>If mode is Qt::IgnoreAspectRatio, the size is set to (width, height).</para>
            <para>If mode is Qt::KeepAspectRatio, the current size is scaled to a rectangle as large as possible inside (width, height), preserving the aspect ratio.</para>
            <para>If mode is Qt::KeepAspectRatioByExpanding, the current size is scaled to a rectangle as small as possible outside (width, height), preserving the aspect ratio.</para>
            <para></para>
            <para>Example:</para>
            <para> QSize t1(10, 12);</para>
            <para> t1.scale(60, 60, Qt::IgnoreAspectRatio);</para>
            <para> // t1 is (60, 60)</para>
            <para></para>
            <para> QSize t2(10, 12);</para>
            <para> t2.scale(60, 60, Qt::KeepAspectRatio);</para>
            <para> // t2 is (50, 60)</para>
            <para></para>
            <para> QSize t3(10, 12);</para>
            <para> t3.scale(60, 60, Qt::KeepAspectRatioByExpanding);</para>
            <para> // t3 is (60, 72)</para>
            <para>See also setWidth() and setHeight().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSize.Transpose">
            <summary>
            <para>Swaps the width and height values.</para>
            <para>See also setWidth() and setHeight().</para>
            </summary>
        </member>
        <member name="P:QtCore.QSize.Height">
            <summary>
            <para>Returns the height.</para>
            <para>Sets the height to the given height.</para>
            </summary>
        </member>
        <member name="P:QtCore.QSize.Width">
            <summary>
            <para>Returns the width.</para>
            <para>Sets the width to the given width.</para>
            </summary>
        </member>
        <member name="T:QtCore.QSocketNotifier">
            <summary>
            The QSocketNotifier class provides support for monitoring activity on a file descriptor.
            </summary>
            <remarks>
            <para></para>
            <para>The QSocketNotifier makes it possible to integrate Qt's event loop with other event loops based on file descriptors. For example, the CORBA Framework uses it to process CORBA events. File descriptor action is detected in Qt's main event loop (QCoreApplication::exec()).</para>
            <para>Once you have opened a device using a low-level (usually platform-specific) API, you can create a socket notifier to monitor the file descriptor. The socket notifier is enabled by default, i.e. it emits the activated() signal whenever a socket event corresponding to its type occurs. Connect the activated() signal to the slot you want to be called when an event corresponding to your socket notifier's type occurs.</para>
            <para>There are three types of socket notifiers: read, write, and exception. The type is described by the Type enum, and must be specified when constructing the socket notifier. After construction it can be determined using the type() function. Note that if you need to monitor both reads and writes for the same file descriptor, you must create two socket notifiers. Note also that it is not possible to install two socket notifiers of the same type (Read, Write, Exception) on the same socket.</para>
            <para>The setEnabled() function allows you to disable as well as enable the socket notifier. It is generally advisable to explicitly enable or disable the socket notifier, especially for write notifiers. A disabled notifier ignores socket events (the same effect as not creating the socket notifier). Use the isEnabled() function to determine the notifier's current status.</para>
            <para>Finally, you can use the socket() function to retrieve the socket identifier. Although the class is called QSocketNotifier, it is normally used for other types of devices than sockets. QTcpSocket and QUdpSocket provide notification through signals, so there is normally no need to use a QSocketNotifier on them.</para>
            <para></para>
            <para>Notes for Windows Users</para>
            <para>The socket passed to QSocketNotifier will become non-blocking, even if it was created as a blocking socket. The activated() signal is sometimes triggered by high general activity on the host, even if there is nothing to read. A subsequent read from the socket can then fail, the error indicating that there is no data available (e.g., WSAEWOULDBLOCK). This is an operating system limitation, and not a bug in QSocketNotifier.</para>
            <para>To ensure that the socket notifier handles read notifications correctly, follow these steps when you receive a notification:</para>
            <para></para>
            <para>Disable the notifier.</para>
            <para>Read data from the socket.</para>
            <para>Re-enable the notifier if you are interested in more data (such as after having written a new command to a remote server).</para>
            <para></para>
            <para>To ensure that the socket notifier handles write notifications correctly, follow these steps when you receive a notification:</para>
            <para></para>
            <para>Disable the notifier.</para>
            <para>Write as much data as you can (before EWOULDBLOCK is returned).</para>
            <para>Re-enable notifier if you have more data to write.</para>
            <para></para>
            <para>Further information: On Windows, Qt always disables the notifier after getting a notification, and only re-enables it if more data is expected. For example, if data is read from the socket and it can be used to read more, or if reading or writing is not possible because the socket would block, in which case it is necessary to wait before attempting to read or write again.</para>
            <para></para>
            <para>See also QFile, QProcess, QTcpSocket, and QUdpSocket.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QSocketNotifier.#ctor(System.Int32,QtCore.QSocketNotifier.Type,QtCore.QObject)">
            <summary>
            <para>Constructs a socket notifier with the given parent. It enables the socket, and watches for events of the given type.</para>
            <para>It is generally advisable to explicitly enable or disable the socket notifier, especially for write notifiers.</para>
            <para>Note for Windows users: The socket passed to QSocketNotifier will become non-blocking, even if it was created as a blocking socket.</para>
            <para>See also setEnabled() and isEnabled().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSocketNotifier.OnActivated(System.Int32)">
            <summary>
            <para>This signal is emitted whenever the socket notifier is enabled and a socket event corresponding to its type occurs.</para>
            <para>The socket identifier is passed in the socket parameter.</para>
            <para>See also type() and socket().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSocketNotifier.OnEvent(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QObject::event().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSocketNotifier.IsEnabled">
            <summary>
            <para>Returns true if the notifier is enabled; otherwise returns false.</para>
            <para>See also setEnabled().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSocketNotifier.SetEnabled(System.Boolean)">
            <summary>
            <para>If enable is true, the notifier is enabled; otherwise the notifier is disabled.</para>
            <para>The notifier is enabled by default, i.e. it emits the activated() signal whenever a socket event corresponding to its type occurs. If it is disabled, it ignores socket events (the same effect as not creating the socket notifier).</para>
            <para>Write notifiers should normally be disabled immediately after the activated() signal has been emitted</para>
            <para>See also isEnabled() and activated().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSocketNotifier.Socket">
            <summary>
            <para>Returns the socket identifier specified to the constructor.</para>
            <para>See also type().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSocketNotifier.type">
            <summary>
            <para>Returns the socket event type specified to the constructor.</para>
            <para>See also socket().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSocketNotifier.Finalize">
            <summary>
            <para>Destroys this socket notifier.</para>
            </summary>
        </member>
        <member name="E:QtCore.QSocketNotifier.Activated">
            <summary>
            <para>This signal is emitted whenever the socket notifier is enabled and a socket event corresponding to its type occurs.</para>
            <para>The socket identifier is passed in the socket parameter.</para>
            <para>See also type() and socket().</para>
            </summary>
        </member>
        <member name="T:QtCore.QSocketNotifier.Type">
            <summary>
            <para>This enum describes the various types of events that a socket notifier can recognize. The type must be specified when constructing the socket notifier.</para>
            <para>Note that if you need to monitor both reads and writes for the same file descriptor, you must create two socket notifiers. Note also that it is not possible to install two socket notifiers of the same type (Read, Write, Exception) on the same socket.</para>
            <para>See also QSocketNotifier() and type().</para>
            </summary>
        </member>
        <member name="F:QtCore.QSocketNotifier.Type.Exception">
            <summary>
            <para>An exception has occurred. We recommend against using this.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSocketNotifier.Type.Read">
            <summary>
            <para>There is data to be read.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSocketNotifier.Type.Write">
            <summary>
            <para>Data can be written.</para>
            </summary>
        </member>
        <member name="T:QtCore.QState">
            <summary>
            The QState class provides a general-purpose state for QStateMachine.
            </summary>
            <remarks>
            <para></para>
            <para>QState objects can have child states, and can have transitions to other states. QState is part of The State Machine Framework.</para>
            <para>The addTransition() function adds a transition. The removeTransition() function removes a transition. The transitions() function returns the state's outgoing transitions.</para>
            <para>The assignProperty() function is used for defining property assignments that should be performed when a state is entered.</para>
            <para>Top-level states must be passed a QStateMachine object as their parent state, or added to a state machine using QStateMachine::addState().</para>
            <para></para>
            <para>States with Child States</para>
            <para>The childMode property determines how child states are treated. For non-parallel state groups, the setInitialState() function must be called to set the initial state. The child states are mutually exclusive states, and the state machine needs to know which child state to enter when the parent state is the target of a transition.</para>
            <para>The state emits the QState::finished() signal when a final child state (QFinalState) is entered.</para>
            <para>The setErrorState() sets the state's error state. The error state is the state that the state machine will transition to if an error is detected when attempting to enter the state (e.g. because no initial state has been set).</para>
            </remarks>
        </member>
        <member name="M:QtCore.QState.#ctor(QtCore.QState)">
            <summary>
            <para>Constructs a new state with the given parent state.</para>
            </summary>
        </member>
        <member name="M:QtCore.QState.#ctor(QtCore.QState.ChildMode,QtCore.QState)">
            <summary>
            <para>Constructs a new state with the given childMode and the given parent state.</para>
            </summary>
        </member>
        <member name="M:QtCore.QState.AddTransition(QtCore.QAbstractTransition)">
            <summary>
            <para>Adds the given transition. The transition has this state as the source. This state takes ownership of the transition.</para>
            </summary>
        </member>
        <member name="M:QtCore.QState.AddTransition(QtCore.QAbstractState)">
            <summary>
            <para>Adds an unconditional transition from this state to the given target state, and returns then new transition object.</para>
            </summary>
        </member>
        <member name="M:QtCore.QState.AddTransition(QtCore.QObject,System.String,QtCore.QAbstractState)">
            <summary>
            <para>Adds a transition associated with the given signal of the given sender object, and returns the new QSignalTransition object. The transition has this state as the source, and the given target as the target state.</para>
            </summary>
        </member>
        <member name="M:QtCore.QState.AssignProperty(QtCore.QObject,System.String,System.Object)">
            <summary>
            <para>Instructs this state to set the property with the given name of the given object to the given value when the state is entered.</para>
            <para>See also propertiesAssigned().</para>
            </summary>
        </member>
        <member name="M:QtCore.QState.OnEvent(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QObject::event().</para>
            </summary>
        </member>
        <member name="M:QtCore.QState.OnFinished">
            <summary>
            <para>This signal is emitted when a final child state of this state is entered.</para>
            <para>See also QFinalState.</para>
            </summary>
        </member>
        <member name="M:QtCore.QState.OnEntry(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QAbstractState::onEntry().</para>
            </summary>
        </member>
        <member name="M:QtCore.QState.OnExit(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QAbstractState::onExit().</para>
            </summary>
        </member>
        <member name="M:QtCore.QState.OnPropertiesAssigned">
            <summary>
            <para>This signal is emitted when all properties have been assigned their final value. If the state assigns a value to one or more properties for which an animation exists (either set on the transition or as a default animation on the state machine), then the signal will not be emitted until all such animations have finished playing.</para>
            <para>If there are no relevant animations, or no property assignments defined for the state, then the signal will be emitted immediately before the state is entered.</para>
            <para>See also QState::assignProperty() and QAbstractTransition::addAnimation().</para>
            </summary>
        </member>
        <member name="M:QtCore.QState.RemoveTransition(QtCore.QAbstractTransition)">
            <summary>
            <para>Removes the given transition from this state. The state releases ownership of the transition.</para>
            <para>See also addTransition().</para>
            </summary>
        </member>
        <member name="M:QtCore.QState.Transitions">
            <summary>
            <para>Returns this state's outgoing transitions (i.e. transitions where this state is the source state), or an empty list if this state has no outgoing transitions.</para>
            <para>This function was introduced in Qt 4.7.</para>
            <para>See also addTransition().</para>
            </summary>
        </member>
        <member name="M:QtCore.QState.Finalize">
            <summary>
            <para>Destroys this state.</para>
            </summary>
        </member>
        <member name="E:QtCore.QState.Finished">
            <summary>
            <para>This signal is emitted when a final child state of this state is entered.</para>
            <para>See also QFinalState.</para>
            </summary>
        </member>
        <member name="E:QtCore.QState.PropertiesAssigned">
            <summary>
            <para>This signal is emitted when all properties have been assigned their final value. If the state assigns a value to one or more properties for which an animation exists (either set on the transition or as a default animation on the state machine), then the signal will not be emitted until all such animations have finished playing.</para>
            <para>If there are no relevant animations, or no property assignments defined for the state, then the signal will be emitted immediately before the state is entered.</para>
            <para>See also QState::assignProperty() and QAbstractTransition::addAnimation().</para>
            </summary>
        </member>
        <member name="P:QtCore.QState.childMode">
            <summary>
            <para>This property holds the child mode of this state.</para>
            <para>The default value of this property is QState::ExclusiveStates.</para>
            </summary>
        </member>
        <member name="T:QtCore.QState.ChildMode">
            <summary>
            <para>This enum specifies how a state's child states are treated.</para>
            </summary>
        </member>
        <member name="F:QtCore.QState.ChildMode.ExclusiveStates">
            <summary>
            <para>The child states are mutually exclusive and an initial state must be set by calling QState::setInitialState().</para>
            </summary>
        </member>
        <member name="F:QtCore.QState.ChildMode.ParallelStates">
            <summary>
            <para>The child states are parallel. When the parent state is entered, all its child states are entered in parallel.</para>
            </summary>
        </member>
        <member name="T:QtCore.QStateMachine">
            <summary>
            The QStateMachine class provides a hierarchical finite state machine.
            </summary>
            <remarks>
            <para></para>
            <para>QStateMachine is based on the concepts and notation of Statecharts. QStateMachine is part of The State Machine Framework.</para>
            <para>A state machine manages a set of states (classes that inherit from QAbstractState) and transitions (descendants of QAbstractTransition) between those states; these states and transitions define a state graph. Once a state graph has been built, the state machine can execute it. QStateMachine's execution algorithm is based on the State Chart XML (SCXML) algorithm. The framework's overview gives several state graphs and the code to build them.</para>
            <para>Use the addState() function to add a top-level state to the state machine. States are removed with the removeState() function. Removing states while the machine is running is discouraged.</para>
            <para>Before the machine can be started, the initial state must be set. The initial state is the state that the machine enters when started. You can then start() the state machine. The started() signal is emitted when the initial state is entered.</para>
            <para>The machine is event driven and keeps its own event loop. Events are posted to the machine through postEvent(). Note that this means that it executes asynchronously, and that it will not progress without a running event loop. You will normally not have to post events to the machine directly as Qt's transitions, e.g., QEventTransition and its subclasses, handle this. But for custom transitions triggered by events, postEvent() is useful.</para>
            <para>The state machine processes events and takes transitions until a top-level final state is entered; the state machine then emits the finished() signal. You can also stop() the state machine explicitly. The stopped() signal is emitted in this case.</para>
            <para>The following snippet shows a state machine that will finish when a button is clicked:</para>
            <para> QPushButton button;</para>
            <para></para>
            <para> QStateMachine machine;</para>
            <para> QState *s1 = new QState();</para>
            <para> s1-&amp;gt;assignProperty(&amp;amp;button, &amp;quot;text&amp;quot;, &amp;quot;Click me&amp;quot;);</para>
            <para></para>
            <para> QFinalState *s2 = new QFinalState();</para>
            <para> s1-&amp;gt;addTransition(&amp;amp;button, SIGNAL(clicked()), s2);</para>
            <para></para>
            <para> machine.addState(s1);</para>
            <para> machine.addState(s2);</para>
            <para> machine.setInitialState(s1);</para>
            <para> machine.start();</para>
            <para>This code example uses QState, which inherits QAbstractState. The QState class provides a state that you can use to set properties and invoke methods on QObjects when the state is entered or exited. It also contains convenience functions for adding transitions, e.g., QSignalTransitions as in this example. See the QState class description for further details.</para>
            <para>If an error is encountered, the machine will look for an error state, and if one is available, it will enter this state. The types of errors possible are described by the Error enum. After the error state is entered, the type of the error can be retrieved with error(). The execution of the state graph will not stop when the error state is entered. If no error state applies to the erroneous state, the machine will stop executing and an error message will be printed to the console.</para>
            <para></para>
            <para>See also QAbstractState, QAbstractTransition, QState, and The State Machine Framework.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QStateMachine.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs a new state machine with the given parent.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStateMachine.AddDefaultAnimation(QtCore.QAbstractAnimation)">
            <summary>
            <para>Adds a default animation to be considered for any transition.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStateMachine.AddState(QtCore.QAbstractState)">
            <summary>
            <para>Adds the given state to this state machine. The state becomes a top-level state.</para>
            <para>If the state is already in a different machine, it will first be removed from its old machine, and then added to this machine.</para>
            <para>See also removeState() and setInitialState().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStateMachine.OnCancelDelayedEvent(System.Int32)">
            <summary>
            <para>Cancels the delayed event identified by the given id. The id should be a value returned by a call to postDelayedEvent(). Returns true if the event was successfully cancelled, otherwise returns false.</para>
            <para>Note: This function is thread-safe.</para>
            <para>See also postDelayedEvent().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStateMachine.ClearError">
            <summary>
            <para>Clears the error string and error code of the state machine.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStateMachine.Configuration">
            <summary>
            <para>Returns the maximal consistent set of states (including parallel and final states) that this state machine is currently in. If a state s is in the configuration, it is always the case that the parent of s is also in c. Note, however, that the machine itself is not an explicit member of the configuration.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStateMachine.DefaultAnimations">
            <summary>
            <para>Returns the list of default animations that will be considered for any transition.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStateMachine.error">
            <summary>
            <para>Returns the error code of the last error that occurred in the state machine.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStateMachine.OnEvent(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QObject::event().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStateMachine.EventFilter(QtCore.QObject,QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QObject::eventFilter().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStateMachine.IsRunning">
            <summary>
            <para>Returns whether this state machine is running.</para>
            <para>start(), stop()</para>
            </summary>
        </member>
        <member name="M:QtCore.QStateMachine.OnEntry(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QAbstractState::onEntry().</para>
            <para>This function will call start() to start the state machine.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStateMachine.OnExit(QtCore.QEvent)">
            <summary>
            <para>Reimplemented from QAbstractState::onExit().</para>
            <para>This function will call stop() to stop the state machine and subsequently emit the stopped() signal.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStateMachine.OnPostDelayedEvent(QtCore.QEvent,System.Int32)">
            <summary>
            <para>Posts the given event for processing by this state machine, with the given delay in milliseconds. Returns an identifier associated with the delayed event, or -1 if the event could not be posted.</para>
            <para>This function returns immediately. When the delay has expired, the event will be added to the state machine's event queue for processing. The state machine takes ownership of the event and deletes it once it has been processed.</para>
            <para>You can only post events when the state machine is running.</para>
            <para>Note: This function is thread-safe.</para>
            <para>See also cancelDelayedEvent() and postEvent().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStateMachine.OnPostEvent(QtCore.QEvent)">
            <summary>
            <para>Posts the given event of the given priority for processing by this state machine.</para>
            <para>This function returns immediately. The event is added to the state machine's event queue. Events are processed in the order posted. The state machine takes ownership of the event and deletes it once it has been processed.</para>
            <para>You can only post events when the state machine is running.</para>
            <para>Note: This function is thread-safe.</para>
            <para>See also postDelayedEvent().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStateMachine.OnPostEvent(QtCore.QEvent,QtCore.QStateMachine.EventPriority)">
            <summary>
            <para>Posts the given event of the given priority for processing by this state machine.</para>
            <para>This function returns immediately. The event is added to the state machine's event queue. Events are processed in the order posted. The state machine takes ownership of the event and deletes it once it has been processed.</para>
            <para>You can only post events when the state machine is running.</para>
            <para>Note: This function is thread-safe.</para>
            <para>See also postDelayedEvent().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStateMachine.RemoveDefaultAnimation(QtCore.QAbstractAnimation)">
            <summary>
            <para>Removes animation from the list of default animations.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStateMachine.RemoveState(QtCore.QAbstractState)">
            <summary>
            <para>Removes the given state from this state machine. The state machine releases ownership of the state.</para>
            <para>See also addState().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStateMachine.Start">
            <summary>
            <para>Starts this state machine. The machine will reset its configuration and transition to the initial state. When a final top-level state (QFinalState) is entered, the machine will emit the finished() signal.</para>
            <para>Note: A state machine will not run without a running event loop, such as the main application event loop started with QCoreApplication::exec() or QApplication::exec().</para>
            <para>See also started(), finished(), stop(), and initialState().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStateMachine.OnStarted">
            <summary>
            <para>This signal is emitted when the state machine has entered its initial state (QStateMachine::initialState).</para>
            <para>See also QStateMachine::finished() and QStateMachine::start().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStateMachine.Stop">
            <summary>
            <para>Stops this state machine. The state machine will stop processing events and then emit the stopped() signal.</para>
            <para>See also stopped() and start().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStateMachine.OnStopped">
            <summary>
            <para>This signal is emitted when the state machine has stopped.</para>
            <para>See also QStateMachine::stop() and QStateMachine::finished().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStateMachine.Finalize">
            <summary>
            <para>Destroys this state machine.</para>
            </summary>
        </member>
        <member name="E:QtCore.QStateMachine.PostEvent">
            <summary>
            <para>Posts the given event of the given priority for processing by this state machine.</para>
            <para>This function returns immediately. The event is added to the state machine's event queue. Events are processed in the order posted. The state machine takes ownership of the event and deletes it once it has been processed.</para>
            <para>You can only post events when the state machine is running.</para>
            <para>Note: This function is thread-safe.</para>
            <para>See also postDelayedEvent().</para>
            </summary>
        </member>
        <member name="E:QtCore.QStateMachine.Started">
            <summary>
            <para>This signal is emitted when the state machine has entered its initial state (QStateMachine::initialState).</para>
            <para>See also QStateMachine::finished() and QStateMachine::start().</para>
            </summary>
        </member>
        <member name="E:QtCore.QStateMachine.Stopped">
            <summary>
            <para>This signal is emitted when the state machine has stopped.</para>
            <para>See also QStateMachine::stop() and QStateMachine::finished().</para>
            </summary>
        </member>
        <member name="P:QtCore.QStateMachine.ErrorString">
            <summary>
            <para>This property holds the error string of this state machine.</para>
            </summary>
        </member>
        <member name="P:QtCore.QStateMachine.GlobalRestorePolicy">
            <summary>
            <para>This property holds the restore policy for states of this state machine.</para>
            <para>The default value of this property is QStateMachine::DontRestoreProperties.</para>
            </summary>
        </member>
        <member name="P:QtCore.QStateMachine.Animated">
            <summary>
            <para>This property holds whether animations are enabled.</para>
            <para>The default value of this property is true.</para>
            </summary>
        </member>
        <member name="T:QtCore.QStateMachine.Error">
            <summary>
            <para>This enum type defines errors that can occur in the state machine at run time. When the state machine encounters an unrecoverable error at run time, it will set the error code returned by error(), the error message returned by errorString(), and enter an error state based on the context of the error.</para>
            <para>See also setErrorState().</para>
            </summary>
        </member>
        <member name="F:QtCore.QStateMachine.Error.NoCommonAncestorForTransitionError">
            <summary>
            <para>The machine has selected a transition whose source and targets are not part of the same tree of states, and thus are not part of the same state machine. Commonly, this could mean that one of the states has not been given any parent or added to any machine. The context of this error is the source state of the transition.</para>
            </summary>
        </member>
        <member name="F:QtCore.QStateMachine.Error.NoDefaultStateInHistoryStateError">
            <summary>
            <para>The machine has entered a QHistoryState which does not have a default state set. The context of this error is the QHistoryState which is missing a default state.</para>
            </summary>
        </member>
        <member name="F:QtCore.QStateMachine.Error.NoError">
            <summary>
            <para>No error has occurred.</para>
            </summary>
        </member>
        <member name="F:QtCore.QStateMachine.Error.NoInitialStateError">
            <summary>
            <para>The machine has entered a QState with children which does not have an initial state set. The context of this error is the state which is missing an initial state.</para>
            </summary>
        </member>
        <member name="T:QtCore.QStateMachine.EventPriority">
            <summary>
            <para>This enum type specifies the priority of an event posted to the state machine using postEvent().</para>
            <para>Events of high priority are processed before events of normal priority.</para>
            </summary>
        </member>
        <member name="F:QtCore.QStateMachine.EventPriority.HighPriority">
            <summary>
            <para>The event has high priority.</para>
            </summary>
        </member>
        <member name="F:QtCore.QStateMachine.EventPriority.NormalPriority">
            <summary>
            <para>The event has normal priority.</para>
            </summary>
        </member>
        <member name="T:QtCore.QStateMachine.RestorePolicy">
            <summary>
            <para>This enum specifies the restore policy type. The restore policy takes effect when the machine enters a state which sets one or more properties. If the restore policy is set to RestoreProperties, the state machine will save the original value of the property before the new value is set.</para>
            <para>Later, when the machine either enters a state which does not set a value for the given property, the property will automatically be restored to its initial value.</para>
            <para>Only one initial value will be saved for any given property. If a value for a property has already been saved by the state machine, it will not be overwritten until the property has been successfully restored.</para>
            <para>See also QStateMachine::globalRestorePolicy and QState::assignProperty().</para>
            </summary>
        </member>
        <member name="F:QtCore.QStateMachine.RestorePolicy.DontRestoreProperties">
            <summary>
            <para>The state machine should not save the initial values of properties and restore them later.</para>
            </summary>
        </member>
        <member name="F:QtCore.QStateMachine.RestorePolicy.RestoreProperties">
            <summary>
            <para>The state machine should save the initial values of properties and restore them later.</para>
            </summary>
        </member>
        <member name="T:QtCore.QStringMatcher">
            <summary>
            The QStringMatcher class holds a sequence of characters that can be quickly matched in a Unicode string.
            </summary>
            <remarks>
            <para></para>
            <para>This class is useful when you have a sequence of QChars that you want to repeatedly match against some strings (perhaps in a loop), or when you want to search for the same sequence of characters multiple times in the same string. Using a matcher object and indexIn() is faster than matching a plain QString with QString::indexOf() if repeated matching takes place. This class offers no benefit if you are doing one-off string matches.</para>
            <para>Create the QStringMatcher with the QString you want to search for. Then call indexIn() on the QString that you want to search.</para>
            <para></para>
            <para>See also QString, QByteArrayMatcher, and QRegExp.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QStringMatcher.#ctor">
            <summary>
            <para>Constructs an empty string matcher that won't match anything. Call setPattern() to give it a pattern to match.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringMatcher.#ctor(QtCore.QStringMatcher)">
            <summary>
            <para>Copies the other string matcher to this string matcher.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringMatcher.#ctor(QtCore.QChar,System.Int32,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Constructs an empty string matcher that won't match anything. Call setPattern() to give it a pattern to match.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringMatcher.#ctor(System.String,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Constructs an empty string matcher that won't match anything. Call setPattern() to give it a pattern to match.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringMatcher.IndexIn(QtCore.QChar,System.Int32,System.Int32)">
            <summary>
            <para>Searches the string starting at str (of length length) from character position from (default 0, i.e. from the first character), for the string pattern() that was set in the constructor or in the most recent call to setPattern(). Returns the position where the pattern() matched in str, or -1 if no match was found.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also setPattern() and setCaseSensitivity().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringMatcher.IndexIn(System.String,System.Int32)">
            <summary>
            <para>Searches the string str from character position from (default 0, i.e. from the first character), for the string pattern() that was set in the constructor or in the most recent call to setPattern(). Returns the position where the pattern() matched in str, or -1 if no match was found.</para>
            <para>See also setPattern() and setCaseSensitivity().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringMatcher.Finalize">
            <summary>
            <para>Destroys the string matcher.</para>
            </summary>
        </member>
        <member name="P:QtCore.QStringMatcher.CaseSensitivity">
            <summary>
            <para>Returns the case sensitivity setting for this string matcher.</para>
            <para>Sets the case sensitivity setting of this string matcher to cs.</para>
            </summary>
        </member>
        <member name="P:QtCore.QStringMatcher.Pattern">
            <summary>
            <para>Returns the string pattern that this string matcher will search for.</para>
            <para>Sets the string that this string matcher will search for to pattern.</para>
            </summary>
        </member>
        <member name="T:QtCore.QStringRef">
            <summary>
            The QStringRef class provides a thin wrapper around QString substrings.
            </summary>
            <remarks>
            <para></para>
            <para>QStringRef provides a read-only subset of the QString API.</para>
            <para>A string reference explicitly references a portion of a string() with a given size(), starting at a specific position(). Calling toString() returns a copy of the data as a real QString instance.</para>
            <para>This class is designed to improve the performance of substring handling when manipulating substrings obtained from existing QString instances. QStringRef avoids the memory allocation and reference counting overhead of a standard QString by simply referencing a part of the original string. This can prove to be advantageous in low level code, such as that used in a parser, at the expense of potentially more complex code.</para>
            <para>For most users, there are no semantic benefits to using QStringRef instead of QString since QStringRef requires attention to be paid to memory management issues, potentially making code more complex to write and maintain.</para>
            <para>Warning: A QStringRef is only valid as long as the referenced string exists. If the original string is deleted, the string reference points to an invalid memory location.</para>
            <para>We suggest that you only use this class in stable code where profiling has clearly identified that performance improvements can be made by replacing standard string operations with the optimized substring handling provided by this class.</para>
            <para></para>
            <para>See also Implicitly Shared Classes.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QStringRef.#ctor">
            <summary>
            <para>Constructs an empty string reference.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.#ctor(QtCore.QStringRef)">
            <summary>
            <para>Constructs a copy of the other string reference.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.#ctor(System.Text.StringBuilder)">
            <summary>
            <para>Constructs a string reference to the given string.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.#ctor(System.Text.StringBuilder,System.Int32,System.Int32)">
            <summary>
            <para>Constructs a string reference to the range of characters in the given string specified by the starting position and length in characters.</para>
            <para>Warning: This function exists to improve performance as much as possible, and performs no bounds checking. For program correctness, position and length must describe a valid substring of string.</para>
            <para>This means that the starting position must be positive or 0 and smaller than string's length, and length must be positive or 0 but smaller than the string's length minus the starting position; i.e, 0 &lt;= position &lt; string-&gt;length() and 0 &lt;= length &lt;= string-&gt;length() - position must both be satisfied.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.AppendTo(System.Text.StringBuilder)">
            <summary>
            <para>Appends the string reference to string, and returns a new reference to the combined string data.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.At(System.Int32)">
            <summary>
            <para>Returns the character at the given index position in the string reference.</para>
            <para>The position must be a valid index position in the string (i.e., 0 &lt;= position &lt; size()).</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.Clear">
            <summary>
            <para>Clears the contents of the string reference by making it null and empty.</para>
            <para>See also isEmpty() and isNull().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.Compare(QtCore.QStringRef,QtCore.QStringRef,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Compares the string s1 with the string s2 and returns an integer less than, equal to, or greater than zero if s1 is less than, equal to, or greater than s2.</para>
            <para>If cs is Qt::CaseSensitive, the comparison is case sensitive; otherwise the comparison is case insensitive.</para>
            <para>This function was introduced in Qt 4.5.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.Compare(QtCore.QStringRef,QtCore.QLatin1String,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Compares the string s1 with the string s2 and returns an integer less than, equal to, or greater than zero if s1 is less than, equal to, or greater than s2.</para>
            <para>If cs is Qt::CaseSensitive, the comparison is case sensitive; otherwise the comparison is case insensitive.</para>
            <para>This function was introduced in Qt 4.5.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.Compare(QtCore.QStringRef,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Compares the string s1 with the string s2 and returns an integer less than, equal to, or greater than zero if s1 is less than, equal to, or greater than s2.</para>
            <para>If cs is Qt::CaseSensitive, the comparison is case sensitive; otherwise the comparison is case insensitive.</para>
            <para>This function was introduced in Qt 4.5.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.Compare(QtCore.QLatin1String,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Compares the string s1 with the string s2 and returns an integer less than, equal to, or greater than zero if s1 is less than, equal to, or greater than s2.</para>
            <para>If cs is Qt::CaseSensitive, the comparison is case sensitive; otherwise the comparison is case insensitive.</para>
            <para>This function was introduced in Qt 4.5.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.Compare(QtCore.QStringRef,System.String,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Compares the string s1 with the string s2 and returns an integer less than, equal to, or greater than zero if s1 is less than, equal to, or greater than s2.</para>
            <para>If cs is Qt::CaseSensitive, the comparison is case sensitive; otherwise the comparison is case insensitive.</para>
            <para>This function was introduced in Qt 4.5.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.Compare(System.String,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Compares the string s1 with the string s2 and returns an integer less than, equal to, or greater than zero if s1 is less than, equal to, or greater than s2.</para>
            <para>If cs is Qt::CaseSensitive, the comparison is case sensitive; otherwise the comparison is case insensitive.</para>
            <para>This function was introduced in Qt 4.5.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.ConstData">
            <summary>
            <para>Same as unicode().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.Contains(QtCore.QChar,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Returns true if this string reference contains an occurrence of the string str; otherwise returns false.</para>
            <para>If cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also indexOf() and count().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.Contains(QtCore.QLatin1String,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Returns true if this string reference contains an occurrence of the string str; otherwise returns false.</para>
            <para>If cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also indexOf() and count().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.Contains(QtCore.QStringRef,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Returns true if this string reference contains an occurrence of the string str; otherwise returns false.</para>
            <para>If cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also indexOf() and count().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.Contains(System.String,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Returns true if this string reference contains an occurrence of the string str; otherwise returns false.</para>
            <para>If cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also indexOf() and count().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.Count">
            <summary>
            <para>Returns the number of characters referred to by the string reference. Equivalent to size() and length().</para>
            <para>See also position() and string().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.Count(QtCore.QChar,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Returns the number of characters referred to by the string reference. Equivalent to size() and length().</para>
            <para>See also position() and string().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.Count(QtCore.QStringRef,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Returns the number of characters referred to by the string reference. Equivalent to size() and length().</para>
            <para>See also position() and string().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.Count(System.String,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Returns the number of characters referred to by the string reference. Equivalent to size() and length().</para>
            <para>See also position() and string().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.Data">
            <summary>
            <para>Same as unicode().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.EndsWith(QtCore.QLatin1String,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Returns true if the string reference ends with str; otherwise returns false.</para>
            <para>If cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also QString::endsWith() and startsWith().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.EndsWith(QtCore.QChar,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Returns true if the string reference ends with str; otherwise returns false.</para>
            <para>If cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also QString::endsWith() and startsWith().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.EndsWith(QtCore.QStringRef,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Returns true if the string reference ends with str; otherwise returns false.</para>
            <para>If cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also QString::endsWith() and startsWith().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.EndsWith(System.String,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Returns true if the string reference ends with str; otherwise returns false.</para>
            <para>If cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also QString::endsWith() and startsWith().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.IndexOf(QtCore.QChar,System.Int32,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Returns the index position of the first occurrence of the string str in this string reference, searching forward from index position from. Returns -1 if str is not found.</para>
            <para>If cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.</para>
            <para>If from is -1, the search starts at the last character; if it is -2, at the next to last character and so on.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also QString::indexOf(), lastIndexOf(), contains(), and count().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.IndexOf(QtCore.QLatin1String,System.Int32,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Returns the index position of the first occurrence of the string str in this string reference, searching forward from index position from. Returns -1 if str is not found.</para>
            <para>If cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.</para>
            <para>If from is -1, the search starts at the last character; if it is -2, at the next to last character and so on.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also QString::indexOf(), lastIndexOf(), contains(), and count().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.IndexOf(QtCore.QStringRef,System.Int32,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Returns the index position of the first occurrence of the string str in this string reference, searching forward from index position from. Returns -1 if str is not found.</para>
            <para>If cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.</para>
            <para>If from is -1, the search starts at the last character; if it is -2, at the next to last character and so on.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also QString::indexOf(), lastIndexOf(), contains(), and count().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.IndexOf(System.String,System.Int32,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Returns the index position of the first occurrence of the string str in this string reference, searching forward from index position from. Returns -1 if str is not found.</para>
            <para>If cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.</para>
            <para>If from is -1, the search starts at the last character; if it is -2, at the next to last character and so on.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also QString::indexOf(), lastIndexOf(), contains(), and count().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.IsEmpty">
            <summary>
            <para>Returns true if the string reference has no characters; otherwise returns false.</para>
            <para>A string reference is empty if its size is zero.</para>
            <para>See also size().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.IsNull">
            <summary>
            <para>Returns true if string() returns a null pointer or a pointer to a null string; otherwise returns true.</para>
            <para>See also size().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.LastIndexOf(QtCore.QChar,System.Int32,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Returns the index position of the last occurrence of the string str in this string reference, searching backward from index position from. If from is -1 (default), the search starts at the last character; if from is -2, at the next to last character and so on. Returns -1 if str is not found.</para>
            <para>If cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also QString::lastIndexOf(), indexOf(), contains(), and count().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.LastIndexOf(QtCore.QLatin1String,System.Int32,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Returns the index position of the last occurrence of the string str in this string reference, searching backward from index position from. If from is -1 (default), the search starts at the last character; if from is -2, at the next to last character and so on. Returns -1 if str is not found.</para>
            <para>If cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also QString::lastIndexOf(), indexOf(), contains(), and count().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.LastIndexOf(QtCore.QStringRef,System.Int32,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Returns the index position of the last occurrence of the string str in this string reference, searching backward from index position from. If from is -1 (default), the search starts at the last character; if from is -2, at the next to last character and so on. Returns -1 if str is not found.</para>
            <para>If cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also QString::lastIndexOf(), indexOf(), contains(), and count().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.LastIndexOf(System.String,System.Int32,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Returns the index position of the last occurrence of the string str in this string reference, searching backward from index position from. If from is -1 (default), the search starts at the last character; if from is -2, at the next to last character and so on. Returns -1 if str is not found.</para>
            <para>If cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also QString::lastIndexOf(), indexOf(), contains(), and count().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.Length">
            <summary>
            <para>Returns the number of characters referred to by the string reference. Equivalent to size() and count().</para>
            <para>See also position() and string().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.LocaleAwareCompare(QtCore.QStringRef)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Compares this string with the other string and returns an integer less than, equal to, or greater than zero if this string is less than, equal to, or greater than the other string.</para>
            <para>The comparison is performed in a locale- and also platform-dependent manner. Use this function to present sorted lists of strings to the user.</para>
            <para>This function was introduced in Qt 4.5.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.LocaleAwareCompare(QtCore.QStringRef,QtCore.QStringRef)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Compares s1 with s2 and returns an integer less than, equal to, or greater than zero if s1 is less than, equal to, or greater than s2.</para>
            <para>The comparison is performed in a locale- and also platform-dependent manner. Use this function to present sorted lists of strings to the user.</para>
            <para>This function was introduced in Qt 4.5.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.LocaleAwareCompare(QtCore.QStringRef,System.String)">
            <summary>
            <para>Compares s1 with s2 and returns an integer less than, equal to, or greater than zero if s1 is less than, equal to, or greater than s2.</para>
            <para>The comparison is performed in a locale- and also platform-dependent manner. Use this function to present sorted lists of strings to the user.</para>
            <para>On Mac OS X, this function compares according the &quot;Order for sorted lists&quot; setting in the International prefereces panel.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also compare() and QTextCodec::locale().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.LocaleAwareCompare(System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Compares this string with the other string and returns an integer less than, equal to, or greater than zero if this string is less than, equal to, or greater than the other string.</para>
            <para>The comparison is performed in a locale- and also platform-dependent manner. Use this function to present sorted lists of strings to the user.</para>
            <para>This function was introduced in Qt 4.5.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.Position">
            <summary>
            <para>Returns the starting position in the referenced string that is referred to by the string reference.</para>
            <para>See also size() and string().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.Size">
            <summary>
            <para>Returns the number of characters referred to by the string reference. Equivalent to length() and count().</para>
            <para>See also position() and string().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.StartsWith(QtCore.QLatin1String,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Returns true if the string reference starts with str; otherwise returns false.</para>
            <para>If cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also QString::startsWith() and endsWith().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.StartsWith(QtCore.QChar,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Returns true if the string reference starts with str; otherwise returns false.</para>
            <para>If cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also QString::startsWith() and endsWith().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.StartsWith(QtCore.QStringRef,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Returns true if the string reference starts with str; otherwise returns false.</para>
            <para>If cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also QString::startsWith() and endsWith().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.StartsWith(System.String,QtCore.Qt.CaseSensitivity)">
            <summary>
            <para>Returns true if the string reference starts with str; otherwise returns false.</para>
            <para>If cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also QString::startsWith() and endsWith().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.String">
            <summary>
            <para>Returns a pointer to the string referred to by the string reference, or 0 if it does not reference a string.</para>
            <para>See also unicode().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.ToAscii">
            <summary>
            <para>Returns an 8-bit representation of the string as a QByteArray.</para>
            <para>If a codec has been set using QTextCodec::setCodecForCStrings(), it is used to convert Unicode to 8-bit char; otherwise this function does the same as toLatin1().</para>
            <para>Note that, despite the name, this function does not necessarily return an US-ASCII (ANSI X3.4-1986) string and its result may not be US-ASCII compatible.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also toLatin1(), toUtf8(), toLocal8Bit(), and QTextCodec.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.ToLatin1">
            <summary>
            <para>Returns a Latin-1 representation of the string as a QByteArray.</para>
            <para>The returned byte array is undefined if the string contains non-Latin1 characters. Those characters may be suppressed or replaced with a question mark.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also toAscii(), toUtf8(), toLocal8Bit(), and QTextCodec.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.ToLocal8Bit">
            <summary>
            <para>Returns the local 8-bit representation of the string as a QByteArray. The returned byte array is undefined if the string contains characters not supported by the local 8-bit encoding.</para>
            <para>QTextCodec::codecForLocale() is used to perform the conversion from Unicode. If the locale encoding could not be determined, this function does the same as toLatin1().</para>
            <para>If this string contains any characters that cannot be encoded in the locale, the returned byte array is undefined. Those characters may be suppressed or replaced by another.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also toAscii(), toLatin1(), toUtf8(), and QTextCodec.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.ToString">
            <summary>
            <para>Returns a copy of the string reference as a QString object.</para>
            <para>If the string reference is not a complete reference of the string (meaning that position() is 0 and size() equals string()-&gt;size()), this function will allocate a new string to return.</para>
            <para>See also string().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.ToUcs4">
            <summary>
            <para>Returns a UCS-4/UTF-32 representation of the string as a QVector&lt;uint&gt;.</para>
            <para>UCS-4 is a Unicode codec and is lossless. All characters from this string can be encoded in UCS-4.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also toAscii(), toLatin1(), toLocal8Bit(), and QTextCodec.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.ToUtf8">
            <summary>
            <para>Returns a UTF-8 representation of the string as a QByteArray.</para>
            <para>UTF-8 is a Unicode codec and can represent all characters in a Unicode string like QString.</para>
            <para>However, in the Unicode range, there are certain codepoints that are not considered characters. The Unicode standard reserves the last two codepoints in each Unicode Plane (U+FFFE, U+FFFF, U+1FFFE, U+1FFFF, U+2FFFE, etc.), as well as 16 codepoints in the range U+FDD0..U+FDDF, inclusive, as non-characters. If any of those appear in the string, they may be discarded and will not appear in the UTF-8 representation, or they may be replaced by one or more replacement characters.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also toAscii(), toLatin1(), toLocal8Bit(), and QTextCodec.</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.Unicode">
            <summary>
            <para>Returns a Unicode representation of the string reference. Since the data stems directly from the referenced string, it is not null-terminated unless the string reference includes the string's null terminator.</para>
            <para>See also string().</para>
            </summary>
        </member>
        <member name="M:QtCore.QStringRef.Finalize">
            <summary>
            <para>Destroys the string reference.</para>
            <para>Since this class is only used to refer to string data, and does not take ownership of it, no memory is freed when instances are destroyed.</para>
            </summary>
        </member>
        <member name="T:QtCore.QSysInfo">
            <summary>
            The QSysInfo class provides information about the system.
            </summary>
            <remarks>
            <para></para>
            <para></para>
            <para>WordSize specifies the size of a pointer for the platform on which the application is compiled.</para>
            <para>ByteOrder specifies whether the platform is big-endian or little-endian.</para>
            <para>WindowsVersion specifies the version of the Windows operating system on which the application is run (Windows only)</para>
            <para>MacintoshVersion specifies the version of the Macintosh operating system on which the application is run (Mac only).</para>
            <para></para>
            <para>Some constants are defined only on certain platforms. You can use the preprocessor symbols Q_WS_WIN and Q_WS_MAC to test that the application is compiled under Windows or Mac.</para>
            <para></para>
            <para>See also QLibraryInfo.</para>
            </remarks>
        </member>
        <member name="F:QtCore.QSysInfo.Endian.BigEndian">
            <summary>
            <para>Big-endian byte order (also called Network byte order)</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.Endian.ByteOrder">
            <summary>
            <para>Equals BigEndian or LittleEndian, depending on the platform's byte order.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.Endian.LittleEndian">
            <summary>
            <para>Little-endian byte order</para>
            </summary>
        </member>
        <member name="T:QtCore.QSysInfo.Sizes">
            <summary>
            <para>This enum provides platform-specific information about the sizes of data structures used by the underlying architecture.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.Sizes.WordSize">
            <summary>
            <para>The size in bits of a pointer for the platform on which the application is compiled (32 or 64).</para>
            </summary>
        </member>
        <member name="T:QtCore.QSysInfo.WinVersion">
            <summary>
            <para>This enum provides symbolic names for the various versions of the Windows operating system. On Windows, the QSysInfo::WindowsVersion variable gives the version of the system on which the application is run.</para>
            <para>MS-DOS-based versions:</para>
            <para>NT-based versions (note that each operating system version is only represented once rather than each Windows edition):</para>
            <para>Alternatively, you may use the following macros which correspond directly to the Windows operating system version number:</para>
            <para>CE-based versions:</para>
            <para>The following masks can be used for testing whether a Windows version is MS-DOS-based, NT-based, or CE-based:</para>
            <para>See also MacVersion and SymbianVersion.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.WinVersion.WV_2000">
            <summary>
            <para>Windows 2000 (operating system version 5.0)</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.WinVersion.WV_2003">
            <summary>
            <para>Windows Server 2003, Windows Server 2003 R2, Windows Home Server, Windows XP Professional x64 Edition (operating system version 5.2)</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.WinVersion.WV_32s">
            <summary>
            <para>Windows 3.1 with Win 32s</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.WinVersion.WV_4_0">
            <summary>
            <para>Operating system version 4.0, corresponds to Windows NT</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.WinVersion.WV_5_0">
            <summary>
            <para>Operating system version 5.0, corresponds to Windows 2000</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.WinVersion.WV_5_1">
            <summary>
            <para>Operating system version 5.1, corresponds to Windows XP</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.WinVersion.WV_5_2">
            <summary>
            <para>Operating system version 5.2, corresponds to Windows Server 2003, Windows Server 2003 R2, Windows Home Server, and Windows XP Professional x64 Edition</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.WinVersion.WV_6_0">
            <summary>
            <para>Operating system version 6.0, corresponds to Windows Vista and Windows Server 2008</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.WinVersion.WV_6_1">
            <summary>
            <para>Operating system version 6.1, corresponds to Windows 7 and Windows Server 2008 R2</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.WinVersion.WV_95">
            <summary>
            <para>Windows 95</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.WinVersion.WV_98">
            <summary>
            <para>Windows 98</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.WinVersion.WV_CE">
            <summary>
            <para>Windows CE</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.WinVersion.WV_CENET">
            <summary>
            <para>Windows CE .NET</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.WinVersion.WV_CE_5">
            <summary>
            <para>Windows CE 5.x</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.WinVersion.WV_CE_6">
            <summary>
            <para>Windows CE 6.x</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.WinVersion.WV_CE_based">
            <summary>
            <para>CE-based version of Windows</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.WinVersion.WV_DOS_based">
            <summary>
            <para>MS-DOS-based version of Windows</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.WinVersion.WV_Me">
            <summary>
            <para>Windows Me</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.WinVersion.WV_NT">
            <summary>
            <para>Windows NT (operating system version 4.0)</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.WinVersion.WV_NT_based">
            <summary>
            <para>NT-based version of Windows</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.WinVersion.WV_VISTA">
            <summary>
            <para>Windows Vista, Windows Server 2008 (operating system version 6.0)</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.WinVersion.WV_WINDOWS7">
            <summary>
            <para>Windows 7, Windows Server 2008 R2 (operating system version 6.1)</para>
            </summary>
        </member>
        <member name="F:QtCore.QSysInfo.WinVersion.WV_XP">
            <summary>
            <para>Windows XP (operating system version 5.1)</para>
            </summary>
        </member>
        <member name="T:QtCore.QSystemLocale">
            <summary>
            The QSystemLocale class can be used to finetune the system locale of the user.
            </summary>
            <remarks>
            <para></para>
            <para>Warning: This class is only useful in very rare cases. Usually QLocale offers all the functionality required for application development.</para>
            <para>QSystemLocale allows to override the values provided by the system locale (QLocale::system()).</para>
            <para></para>
            <para>See also QLocale.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QSystemLocale.#ctor">
            <summary>
            <para>Constructs a QSystemLocale object. The constructor will automatically install this object as the system locale and remove any earlier installed system locales.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSystemLocale.#ctor(QtCore.QSystemLocale)">
            <summary>
            <para>Constructs a QSystemLocale object. The constructor will automatically install this object as the system locale and remove any earlier installed system locales.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSystemLocale.FallbackLocale">
            <summary>
            <para>Returns the fallback locale obtained from the system.</para>
            <para>This function was introduced in Qt 4.6.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSystemLocale.Query(QtCore.QSystemLocale.QueryType,System.Object)">
            <summary>
            <para>Generic query method for locale data. Provides indirection. Denotes the type of the query with in as input data depending on the query.</para>
            <para>See also QSystemLocale::QueryType.</para>
            </summary>
        </member>
        <member name="M:QtCore.QSystemLocale.Finalize">
            <summary>
            <para>Deletes the object.</para>
            </summary>
        </member>
        <member name="T:QtCore.QSystemLocale.QueryType">
            <summary>
            <para>Specifies the type of information queried by query(). For each value the type of information to return from the query() method is listed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.AMText">
            <summary>
            <para>A string that represents the system AM designator associated with a 12-hour clock.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.CountryId">
            <summary>
            <para>A uint specifying the country.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.CurrencySymbol">
            <summary>
            <para>A string that represents a currency in a format QLocale::CurrencyFormat.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.CurrencyToString">
            <summary>
            <para>A localized string representation of a number with a currency symbol. Converts a QSystemLocale::CurrencyToStringArgument stored in the in variant to a QString.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.DateFormatLong">
            <summary>
            <para>A QString specifying the long date format</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.DateFormatShort">
            <summary>
            <para>A QString specifying the short date format</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.DateTimeFormatLong">
            <summary>
            <para>A QString specifying the long date time format</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.DateTimeFormatShort">
            <summary>
            <para>A QString specifying the short date time format</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.DateTimeToStringLong">
            <summary>
            <para>Converts the QDateTime in the in variant to a QString using the long datetime format</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.DateTimeToStringShort">
            <summary>
            <para>Converts the QDateTime in the in variant to a QString using the short datetime format</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.DateToStringLong">
            <summary>
            <para>Converts the QDate stored in the in variant to a QString using the long date format</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.DateToStringShort">
            <summary>
            <para>Converts the QDate stored in the in variant to a QString using the short date format</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.DayNameLong">
            <summary>
            <para>A QString specifying the name of a weekday. the in variant contains an integer between 1 and 7 (Monday - Sunday)</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.DayNameShort">
            <summary>
            <para>A QString specifying the short name of a weekday. the in variant contains an integer between 1 and 7 (Monday - Sunday)</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.DecimalPoint">
            <summary>
            <para>A QString specifying the decimal point.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.FirstDayOfWeek">
            <summary>
            <para>A Qt::DayOfWeek enum specifiying the first day of the week</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.GroupSeparator">
            <summary>
            <para>A QString specifying the group separator.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.LanguageId">
            <summary>
            <para>A uint specifying the language.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.ListToSeparatedString">
            <summary>
            <para>A string that represents a join of a given QStringList with a locale-defined separator.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.LocaleChanged">
            <summary>
            <para>This type is queried whenever the system locale is changed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.MeasurementSystem">
            <summary>
            <para>A QLocale::MeasurementSystem enum specifying the measurement system</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.MonthNameLong">
            <summary>
            <para>A QString specifying the name of a month. the in variant contains an integer between 1 and 12</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.MonthNameShort">
            <summary>
            <para>A QString specifying the short name of a month. the in variant contains an integer between 1 and 12</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.NativeCountryName">
            <summary>
            <para>A string that represents the name of the native country.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.NativeLanguageName">
            <summary>
            <para>A string that represents the name of the native language.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.NegativeSign">
            <summary>
            <para>A QString specifying the minus sign.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.PMText">
            <summary>
            <para>A string that represents the system PM designator associated with a 12-hour clock.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.PositiveSign">
            <summary>
            <para>A QString specifying the plus sign.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.ScriptId">
            <summary>
            <para>A uint specifying the script.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.StringToAlternateQuotation">
            <summary>
            <para>A QString containing a quoted version of the string ref stored in the in variant using alternate quotes.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.StringToStandardQuotation">
            <summary>
            <para>A QString containing a quoted version of the string ref stored in the in variant using standard quotes.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.TimeFormatLong">
            <summary>
            <para>A QString specifying the long time format</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.TimeFormatShort">
            <summary>
            <para>A QString specifying the short time format</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.TimeToStringLong">
            <summary>
            <para>Converts the QTime stored in the in variant to a QString using the long time format</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.TimeToStringShort">
            <summary>
            <para>Converts the QTime stored in the in variant to a QString using the short time format</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.UILanguages">
            <summary>
            <para>A list of strings representing locale names that could be used for UI translation.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.Weekdays">
            <summary>
            <para>A QList&lt;Qt::DayOfWeek&gt; specifying the regular weekdays</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemLocale.QueryType.ZeroDigit">
            <summary>
            <para>A QString specifying the zero digit.</para>
            </summary>
        </member>
        <member name="T:QtCore.QSystemSemaphore">
            <summary>
            The QSystemSemaphore class provides a general counting system semaphore.
            </summary>
            <remarks>
            <para></para>
            <para>A semaphore is a generalization of a mutex. While a mutex can be locked only once, a semaphore can be acquired multiple times. Typically, a semaphore is used to protect a certain number of identical resources.</para>
            <para>Like its lighter counterpart QSemaphore, a QSystemSemaphore can be accessed from multiple threads. Unlike QSemaphore, a QSystemSemaphore can also be accessed from multiple processes. This means QSystemSemaphore is a much heavier class, so if your application doesn't need to access your semaphores across multiple processes, you will probably want to use QSemaphore.</para>
            <para>Semaphores support two fundamental operations, acquire() and release():</para>
            <para>acquire() tries to acquire one resource. If there isn't a resource available, the call blocks until a resource becomes available. Then the resource is acquired and the call returns.</para>
            <para>release() releases one resource so it can be acquired by another process. The function can also be called with a parameter n &amp;gt; 1, which releases n resources.</para>
            <para>A system semaphore is created with a string key that other processes can use to use the same semaphore.</para>
            <para>Example: Create a system semaphore</para>
            <para> QSystemSemaphore sem(&amp;quot;market&amp;quot;, 3, QSystemSemaphore::Create);</para>
            <para>                              // resources available == 3</para>
            <para> sem.acquire();               // resources available == 2</para>
            <para> sem.acquire();               // resources available == 1</para>
            <para> sem.acquire();               // resources available == 0</para>
            <para> sem.release();               // resources available == 1</para>
            <para> sem.release(2);              // resources available == 3</para>
            <para>A typical application of system semaphores is for controlling access to a circular buffer shared by a producer process and a consumer processes.</para>
            <para></para>
            <para>Platform-Specific Behavior</para>
            <para>When using this class, be aware of the following platform differences:</para>
            <para>Windows: QSystemSemaphore does not own its underlying system semaphore. Windows owns it. This means that when all instances of QSystemSemaphore for a particular key have been destroyed, either by having their destructors called, or because one or more processes crash, Windows removes the underlying system semaphore.</para>
            <para>Unix:</para>
            <para></para>
            <para>QSystemSemaphore owns the underlying system semaphore in Unix systems. This means that the last process having an instance of QSystemSemaphore for a particular key must remove the underlying system semaphore in its destructor. If the last process crashes without running the QSystemSemaphore destructor, Unix does not automatically remove the underlying system semaphore, and the semaphore survives the crash. A subsequent process that constructs a QSystemSemaphore with the same key will then be given the existing system semaphore. In that case, if the QSystemSemaphore constructor has specified its access mode as Open, its initial resource count will not be reset to the one provided but remain set to the value it received in the crashed process. To protect against this, the first process to create a semaphore for a particular key (usually a server), must pass its access mode as Create, which will force Unix to reset the resource count in the underlying system semaphore.</para>
            <para>When a process using QSystemSemaphore terminates for any reason, Unix automatically reverses the effect of all acquire operations that were not released. Thus if the process acquires a resource and then exits without releasing it, Unix will release that resource.</para>
            <para>Symbian: QSystemSemaphore behaves the same as Windows semaphores. In other words, the operating system owns the semaphore and ignores QSystemSemaphore::AccessMode.</para>
            <para></para>
            <para></para>
            <para>See also QSharedMemory and QSemaphore.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QSystemSemaphore.#ctor(System.String,System.Int32,QtCore.QSystemSemaphore.AccessMode)">
            <summary>
            <para>Requests a system semaphore for the specified key. The parameters initialValue and mode are used according to the following rules, which are system dependent.</para>
            <para>In Unix, if the mode is Open and the system already has a semaphore identified by key, that semaphore is used, and the semaphore's resource count is not changed, i.e., initialValue is ignored. But if the system does not already have a semaphore identified by key, it creates a new semaphore for that key and sets its resource count to initialValue.</para>
            <para>In Unix, if the mode is Create and the system already has a semaphore identified by key, that semaphore is used, and its resource count is set to initialValue. If the system does not already have a semaphore identified by key, it creates a new semaphore for that key and sets its resource count to initialValue.</para>
            <para>In QNX, if the mode is Create and the system already has a semaphore identified by key, that semaphore will be deleted and the new one will be created for that key with a resource count set to initialValue.</para>
            <para>In Windows and in Symbian, mode is ignored, and the system always tries to create a semaphore for the specified key. If the system does not already have a semaphore identified as key, it creates the semaphore and sets its resource count to initialValue. But if the system already has a semaphore identified as key it uses that semaphore and ignores initialValue.</para>
            <para>The mode parameter is only used in Unix systems to handle the case where a semaphore survives a process crash. In that case, the next process to allocate a semaphore with the same key will get the semaphore that survived the crash, and unless mode is Create, the resource count will not be reset to initialValue but will retain the initial value it had been given by the crashed process.</para>
            <para>See also acquire() and key().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSystemSemaphore.Acquire">
            <summary>
            <para>Acquires one of the resources guarded by this semaphore, if there is one available, and returns true. If all the resources guarded by this semaphore have already been acquired, the call blocks until one of them is released by another process or thread having a semaphore with the same key.</para>
            <para>If false is returned, a system error has occurred. Call error() to get a value of QSystemSemaphore::SystemSemaphoreError that indicates which error occurred.</para>
            <para>See also release().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSystemSemaphore.Error">
            <summary>
            <para>Returns a value indicating whether an error occurred, and, if so, which error it was.</para>
            <para>See also errorString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSystemSemaphore.ErrorString">
            <summary>
            <para>Returns a text description of the last error that occurred. If error() returns an error value, call this function to get a text string that describes the error.</para>
            <para>See also error().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSystemSemaphore.Release(System.Int32)">
            <summary>
            <para>Releases n resources guarded by the semaphore. Returns true unless there is a system error.</para>
            <para>Example: Create a system semaphore having five resources; acquire them all and then release them all.</para>
            <para> QSystemSemaphore sem(&quot;market&quot;, 5, QSystemSemaphore::Create);</para>
            <para> sem.acquire(5);           // acquire all 5 resources</para>
            <para> sem.release(5);           // release the 5 resources</para>
            <para>This function can also &quot;create&quot; resources. For example, immediately following the sequence of statements above, suppose we add the statement:</para>
            <para> sem.release(10);          // &quot;create&quot; 10 new resources</para>
            <para>Ten new resources are now guarded by the semaphore, in addition to the five that already existed. You would not normally use this function to create more resources.</para>
            <para>See also acquire().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSystemSemaphore.SetKey(System.String,System.Int32,QtCore.QSystemSemaphore.AccessMode)">
            <summary>
            <para>This function works the same as the constructor. It reconstructs this QSystemSemaphore object. If the new key is different from the old key, calling this function is like calling the destructor of the semaphore with the old key, then calling the constructor to create a new semaphore with the new key. The initialValue and mode parameters are as defined for the constructor.</para>
            <para>See also QSystemSemaphore() and key().</para>
            </summary>
        </member>
        <member name="M:QtCore.QSystemSemaphore.Finalize">
            <summary>
            <para>The destructor destroys the QSystemSemaphore object, but the underlying system semaphore is not removed from the system unless this instance of QSystemSemaphore is the last one existing for that system semaphore.</para>
            <para>Two important side effects of the destructor depend on the system. In Windows, if acquire() has been called for this semaphore but not release(), release() will not be called by the destructor, nor will the resource be released when the process exits normally. This would be a program bug which could be the cause of a deadlock in another process trying to acquire the same resource. In Unix, acquired resources that are not released before the destructor is called are automatically released when the process exits.</para>
            </summary>
        </member>
        <member name="P:QtCore.QSystemSemaphore.Key">
            <summary>
            <para>Returns the key assigned to this system semaphore. The key is the name by which the semaphore can be accessed from other processes.</para>
            <para>See also setKey().</para>
            </summary>
        </member>
        <member name="T:QtCore.QSystemSemaphore.AccessMode">
            <summary>
            <para>This enum is used by the constructor and setKey(). Its purpose is to enable handling the problem in Unix implementations of semaphores that survive a crash. In Unix, when a semaphore survives a crash, we need a way to force it to reset its resource count, when the system reuses the semaphore. In Windows and in Symbian, where semaphores can't survive a crash, this enum has no effect.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemSemaphore.AccessMode.Create">
            <summary>
            <para>QSystemSemaphore takes ownership of the semaphore and sets its resource count to the requested value, regardless of whether the semaphore already exists by having survived a crash. This value should be passed to the constructor, when the first semaphore for a particular key is constructed and you know that if the semaphore already exists it could only be because of a crash. In Windows and in Symbian, where a semaphore can't survive a crash, Create and Open have the same behavior.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemSemaphore.AccessMode.Open">
            <summary>
            <para>If the semaphore already exists, its initial resource count is not reset. If the semaphore does not already exist, it is created and its initial resource count set.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemSemaphore.SystemSemaphoreError.AlreadyExists">
            <summary>
            <para>The operation failed because a system semaphore with the specified key already existed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemSemaphore.SystemSemaphoreError.KeyError">
            <summary>
            <para>The operation failed because of an invalid key.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemSemaphore.SystemSemaphoreError.NoError">
            <summary>
            <para>No error occurred.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemSemaphore.SystemSemaphoreError.NotFound">
            <summary>
            <para>The operation failed because a system semaphore with the specified key could not be found.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemSemaphore.SystemSemaphoreError.OutOfResources">
            <summary>
            <para>The operation failed because there was not enough memory available to fill the request.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemSemaphore.SystemSemaphoreError.PermissionDenied">
            <summary>
            <para>The operation failed because the caller didn't have the required permissions.</para>
            </summary>
        </member>
        <member name="F:QtCore.QSystemSemaphore.SystemSemaphoreError.UnknownError">
            <summary>
            <para>Something else happened and it was bad.</para>
            </summary>
        </member>
        <member name="T:QtCore.QTemporaryFile">
            <summary>
            The QTemporaryFile class is an I/O device that operates on temporary files.
            </summary>
            <remarks>
            <para></para>
            <para>QTemporaryFile is used to create unique temporary files safely. The file itself is created by calling open(). The name of the temporary file is guaranteed to be unique (i.e., you are guaranteed to not overwrite an existing file), and the file will subsequently be removed upon destruction of the QTemporaryFile object. This is an important technique that avoids data corruption for applications that store data in temporary files. The file name is either auto-generated, or created based on a template, which is passed to QTemporaryFile's constructor.</para>
            <para>Example:</para>
            <para>     // Within a function/method...</para>
            <para></para>
            <para>     QTemporaryFile file;</para>
            <para>     if (file.open()) {</para>
            <para>         // file.fileName() returns the unique file name</para>
            <para>     }</para>
            <para></para>
            <para>     // The QTemporaryFile destructor removes the temporary file</para>
            <para>     // as it goes out of scope.</para>
            <para>Reopening a QTemporaryFile after calling close() is safe. For as long as the QTemporaryFile object itself is not destroyed, the unique temporary file will exist and be kept open internally by QTemporaryFile.</para>
            <para>The file name of the temporary file can be found by calling fileName(). Note that this is only defined after the file is first opened; the function returns an empty string before this.</para>
            <para>A temporary file will have some static part of the name and some part that is calculated to be unique. The default filename qt_temp will be placed into the temporary path as returned by QDir::tempPath(). If you specify your own filename, a relative file path will not be placed in the temporary directory by default, but be relative to the current working directory.</para>
            <para>Specified filenames can contain the following template XXXXXX (six upper case &amp;quot;X&amp;quot; characters), which will be replaced by the auto-generated portion of the filename. Note that the template is case sensitive. If the template is not present in the filename, QTemporaryFile appends the generated part to the filename given.</para>
            <para></para>
            <para>See also QDir::tempPath() and QFile.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QTemporaryFile.#ctor">
            <summary>
            <para>Constructs a QTemporaryFile in QDir::tempPath(), using the file template &quot;qt_temp.XXXXXX&quot;. The file is stored in the system's temporary directory.</para>
            <para>See also setFileTemplate() and QDir::tempPath().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTemporaryFile.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs a QTemporaryFile (with the given parent) in QDir::tempPath(), using the file template &quot;qt_temp.XXXXXX&quot;.</para>
            <para>See also setFileTemplate().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTemporaryFile.#ctor(System.String)">
            <summary>
            <para>Constructs a QTemporaryFile with a template filename of templateName. Upon opening the temporary file this will be used to create a unique filename.</para>
            <para>If the templateName does not contain XXXXXX it will automatically be appended and used as the dynamic portion of the filename.</para>
            <para>If templateName is a relative path, the path will be relative to the current working directory. You can use QDir::tempPath() to construct templateName if you want use the system's temporary directory.</para>
            <para>See also open() and fileTemplate().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTemporaryFile.#ctor(System.String,QtCore.QObject)">
            <summary>
            <para>Constructs a QTemporaryFile with a template filename of templateName and the specified parent. Upon opening the temporary file this will be used to create a unique filename.</para>
            <para>If the templateName does not contain XXXXXX it will automatically be appended and used as the dynamic portion of the filename.</para>
            <para>If templateName is a relative path, the path will be relative to the current working directory. You can use QDir::tempPath() to construct templateName if you want use the system's temporary directory.</para>
            <para>See also open() and fileTemplate().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTemporaryFile.CreateLocalFile(QtCore.QFile)">
            <summary>
            <para>If file is not on a local disk, a temporary file is created on a local disk, file is copied into the temporary local file, and a pointer to the temporary local file is returned. If file is already on a local disk, a copy is not created and 0 is returned.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTemporaryFile.CreateLocalFile(System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Works on the given fileName rather than an existing QFile object.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTemporaryFile.FileName">
            <summary>
            <para>Returns the complete unique filename backing the QTemporaryFile object. This string is null before the QTemporaryFile is opened, afterwards it will contain the fileTemplate() plus additional characters to make it unique.</para>
            <para>See also fileTemplate().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTemporaryFile.Open">
            <summary>
            <para>A QTemporaryFile will always be opened in QIODevice::ReadWrite mode, this allows easy access to the data in the file. This function will return true upon success and will set the fileName() to the unique filename used.</para>
            <para>See also fileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTemporaryFile.Open(QtCore.QIODevice.OpenModeFlag)">
            <summary>
            <para>A QTemporaryFile will always be opened in QIODevice::ReadWrite mode, this allows easy access to the data in the file. This function will return true upon success and will set the fileName() to the unique filename used.</para>
            <para>See also fileName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTemporaryFile.Finalize">
            <summary>
            <para>Destroys the temporary file object, the file is automatically closed if necessary and if in auto remove mode it will automatically delete the file.</para>
            <para>See also autoRemove().</para>
            </summary>
        </member>
        <member name="P:QtCore.QTemporaryFile.AutoRemove">
            <summary>
            <para>Returns true if the QTemporaryFile is in auto remove mode. Auto-remove mode will automatically delete the filename from disk upon destruction. This makes it very easy to create your QTemporaryFile object on the stack, fill it with data, read from it, and finally on function return it will automatically clean up after itself.</para>
            <para>Auto-remove is on by default.</para>
            <para>Sets the QTemporaryFile into auto-remove mode if b is true.</para>
            <para>Auto-remove is on by default.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTemporaryFile.FileTemplate">
            <summary>
            <para>Returns the set file template. The default file template will be called qt_temp and be placed in QDir::tempPath().</para>
            <para>Sets the static portion of the file name to name. If the file template ends in XXXXXX that will automatically be replaced with the unique part of the filename, otherwise a filename will be determined automatically based on the static portion specified.</para>
            <para>If name contains a relative file path, the path will be relative to the current working directory. You can use QDir::tempPath() to construct name if you want use the system's temporary directory.</para>
            </summary>
        </member>
        <member name="T:QtCore.QTextBoundaryFinder">
            <summary>
            The QTextBoundaryFinder class provides a way of finding Unicode text boundaries in a string.
            </summary>
            <remarks>
            <para></para>
            <para>QTextBoundaryFinder allows to find Unicode text boundaries in a string, similar to the Unicode text boundary specification (see http://www.unicode.org/reports/tr29/tr29-11.html).</para>
            <para>QTextBoundaryFinder can operate on a QString in four possible modes depending on the value of BoundaryType.</para>
            <para>Units of Unicode characters that make up what the user thinks of as a character or basic unit of the language are here called Grapheme clusters. The two unicode characters 'A' + diaeresis do for example form one grapheme cluster as the user thinks of them as one character, yet it is in this case represented by two unicode code points.</para>
            <para>Word boundaries are there to locate the start and end of what a language considers to be a word.</para>
            <para>Line break boundaries give possible places where a line break might happen and sentence boundaries will show the beginning and end of whole sentences.</para>
            <para>The first position in a string is always a valid boundary and refers to the position before the first character. The last position at the length of the string is also valid and refers to the position after the last character.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QTextBoundaryFinder.#ctor">
            <summary>
            <para>Constructs an invalid QTextBoundaryFinder object.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextBoundaryFinder.#ctor(QtCore.QTextBoundaryFinder)">
            <summary>
            <para>Copies the QTextBoundaryFinder object, other.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextBoundaryFinder.#ctor(QtCore.QTextBoundaryFinder.BoundaryType,QtCore.QChar,System.Int32,QtCore.Pointer{System.Byte},System.Int32)">
            <summary>
            <para>Creates a QTextBoundaryFinder object of type operating on chars with length.</para>
            <para>buffer is an optional working buffer of size bufferSize you can pass to the QTextBoundaryFinder. If the buffer is large enough to hold the working data required, it will use this instead of allocating its own buffer.</para>
            <para>Warning: QTextBoundaryFinder does not create a copy of chars. It is the application programmer's responsibility to ensure the array is allocated for as long as the QTextBoundaryFinder object stays alive. The same applies to buffer.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextBoundaryFinder.#ctor(QtCore.QTextBoundaryFinder.BoundaryType,System.String)">
            <summary>
            <para>Creates a QTextBoundaryFinder object of type operating on string.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextBoundaryFinder.BoundaryReasons">
            <summary>
            <para>Returns the reasons for the boundary finder to have chosen the current position as a boundary.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextBoundaryFinder.IsAtBoundary">
            <summary>
            <para>Returns true if the object's position() is currently at a valid text boundary.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextBoundaryFinder.IsValid">
            <summary>
            <para>Returns true if the text boundary finder is valid; otherwise returns false. A default QTextBoundaryFinder is invalid.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextBoundaryFinder.String">
            <summary>
            <para>Returns the string the QTextBoundaryFinder object operates on.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextBoundaryFinder.ToEnd">
            <summary>
            <para>Moves the finder to the end of the string. This is equivalent to setPosition(string.length()).</para>
            <para>See also setPosition() and position().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextBoundaryFinder.ToNextBoundary">
            <summary>
            <para>Moves the QTextBoundaryFinder to the next boundary position and returns that position.</para>
            <para>Returns -1 if there is no next boundary.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextBoundaryFinder.ToPreviousBoundary">
            <summary>
            <para>Moves the QTextBoundaryFinder to the previous boundary position and returns that position.</para>
            <para>Returns -1 if there is no previous boundary.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextBoundaryFinder.ToStart">
            <summary>
            <para>Moves the finder to the start of the string. This is equivalent to setPosition(0).</para>
            <para>See also setPosition() and position().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextBoundaryFinder.Type">
            <summary>
            <para>Returns the type of the QTextBoundaryFinder.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextBoundaryFinder.Finalize">
            <summary>
            <para>Destructs the QTextBoundaryFinder object.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTextBoundaryFinder.Position">
            <summary>
            <para>Returns the current position of the QTextBoundaryFinder.</para>
            <para>The range is from 0 (the beginning of the string) to the length of the string inclusive.</para>
            <para>Sets the current position of the QTextBoundaryFinder to position.</para>
            <para>If position is out of bounds, it will be bound to only valid positions. In this case, valid positions are from 0 to the length of the string inclusive.</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextBoundaryFinder.BoundaryReason.EndWord">
            <summary>
            <para>The boundary finder is at the end of a word.</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextBoundaryFinder.BoundaryReason.NotAtBoundary">
            <summary>
            <para>The boundary finder is not at a boundary position.</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextBoundaryFinder.BoundaryReason.StartWord">
            <summary>
            <para>The boundary finder is at the start of a word.</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextBoundaryFinder.BoundaryType.Grapheme">
            <summary>
            <para>Finds a grapheme which is the smallest boundary. It including letters, punctation marks, numerals and more.</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextBoundaryFinder.BoundaryType.Line">
            <summary>
            <para>Finds possible positions for breaking the text into multiple lines.</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextBoundaryFinder.BoundaryType.Sentence">
            <summary>
            <para>Finds sentence boundaries. These include periods, question marks etc.</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextBoundaryFinder.BoundaryType.Word">
            <summary>
            <para>Finds a word.</para>
            </summary>
        </member>
        <member name="T:QtCore.QTextCodec">
            <summary>
            The QTextCodec class provides conversions between text encodings.
            </summary>
            <remarks>
            <para></para>
            <para>Qt uses Unicode to store, draw and manipulate strings. In many situations you may wish to deal with data that uses a different encoding. For example, most Japanese documents are still stored in Shift-JIS or ISO 2022-JP, while Russian users often have their documents in KOI8-R or Windows-1251.</para>
            <para>Qt provides a set of QTextCodec classes to help with converting non-Unicode formats to and from Unicode. You can also create your own codec classes.</para>
            <para>The supported encodings are:</para>
            <para></para>
            <para>Apple Roman</para>
            <para>Big5</para>
            <para>Big5-HKSCS</para>
            <para>CP949</para>
            <para>EUC-JP</para>
            <para>EUC-KR</para>
            <para>GB18030-0</para>
            <para>IBM 850</para>
            <para>IBM 866</para>
            <para>IBM 874</para>
            <para>ISO 2022-JP</para>
            <para>ISO 8859-1 to 10</para>
            <para>ISO 8859-13 to 16</para>
            <para>Iscii-Bng, Dev, Gjr, Knd, Mlm, Ori, Pnj, Tlg, and Tml</para>
            <para>JIS X 0201</para>
            <para>JIS X 0208</para>
            <para>KOI8-R</para>
            <para>KOI8-U</para>
            <para>MuleLao-1</para>
            <para>ROMAN8</para>
            <para>Shift-JIS</para>
            <para>TIS-620</para>
            <para>TSCII</para>
            <para>UTF-8</para>
            <para>UTF-16</para>
            <para>UTF-16BE</para>
            <para>UTF-16LE</para>
            <para>UTF-32</para>
            <para>UTF-32BE</para>
            <para>UTF-32LE</para>
            <para>Windows-1250 to 1258</para>
            <para>WINSAMI2</para>
            <para></para>
            <para>QTextCodecs can be used as follows to convert some locally encoded string to Unicode. Suppose you have some string encoded in Russian KOI8-R encoding, and want to convert it to Unicode. The simple way to do it is like this:</para>
            <para> QByteArray encodedString = &amp;quot;...&amp;quot;;</para>
            <para> QTextCodec *codec = QTextCodec::codecForName(&amp;quot;KOI8-R&amp;quot;);</para>
            <para> QString string = codec-&amp;gt;toUnicode(encodedString);</para>
            <para>After this, string holds the text converted to Unicode. Converting a string from Unicode to the local encoding is just as easy:</para>
            <para> QString string = &amp;quot;...&amp;quot;;</para>
            <para> QTextCodec *codec = QTextCodec::codecForName(&amp;quot;KOI8-R&amp;quot;);</para>
            <para> QByteArray encodedString = codec-&amp;gt;fromUnicode(string);</para>
            <para>To read or write files in various encodings, use QTextStream and its setCodec() function. See the Codecs example for an application of QTextCodec to file I/O.</para>
            <para>Some care must be taken when trying to convert the data in chunks, for example, when receiving it over a network. In such cases it is possible that a multi-byte character will be split over two chunks. At best this might result in the loss of a character and at worst cause the entire conversion to fail.</para>
            <para>The approach to use in these situations is to create a QTextDecoder object for the codec and use this QTextDecoder for the whole decoding process, as shown below:</para>
            <para> QTextCodec *codec = QTextCodec::codecForName(&amp;quot;Shift-JIS&amp;quot;);</para>
            <para> QTextDecoder *decoder = codec-&amp;gt;makeDecoder();</para>
            <para></para>
            <para> QString string;</para>
            <para> while (new_data_available()) {</para>
            <para>     QByteArray chunk = get_new_data();</para>
            <para>     string += decoder-&amp;gt;toUnicode(chunk);</para>
            <para> }</para>
            <para> delete decoder;</para>
            <para>The QTextDecoder object maintains state between chunks and therefore works correctly even if a multi-byte character is split between chunks.</para>
            <para></para>
            <para>Creating Your Own Codec Class</para>
            <para>Support for new text encodings can be added to Qt by creating QTextCodec subclasses.</para>
            <para>The pure virtual functions describe the encoder to the system and the coder is used as required in the different text file formats supported by QTextStream, and under X11, for the locale-specific character input and output.</para>
            <para>To add support for another encoding to Qt, make a subclass of QTextCodec and implement the functions listed in the table below.</para>
            <para></para>
            <para>FunctionDescription</para>
            <para>name()	Returns the official name for the encoding. If the encoding is listed in the IANA character-sets encoding file, the name should be the preferred MIME name for the encoding.</para>
            <para>aliases()	Returns a list of alternative names for the encoding. QTextCodec provides a default implementation that returns an empty list. For example, &amp;quot;ISO-8859-1&amp;quot; has &amp;quot;latin1&amp;quot;, &amp;quot;CP819&amp;quot;, &amp;quot;IBM819&amp;quot;, and &amp;quot;iso-ir-100&amp;quot; as aliases.</para>
            <para>mibEnum()	Return the MIB enum for the encoding if it is listed in the IANA character-sets encoding file.</para>
            <para>convertToUnicode()	Converts an 8-bit character string to Unicode.</para>
            <para>convertFromUnicode()	Converts a Unicode string to an 8-bit character string.</para>
            <para></para>
            <para>You may find it more convenient to make your codec class available as a plugin; see How to Create Qt Plugins for details.</para>
            <para></para>
            <para>See also QTextStream, QTextDecoder, QTextEncoder, and Codecs Example.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QTextCodec.#ctor">
            <summary>
            <para>Constructs a QTextCodec, and gives it the highest precedence. The QTextCodec should always be constructed on the heap (i.e. with new). Qt takes ownership and will delete it when the application terminates.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.Aliases">
            <summary>
            <para>Subclasses can return a number of aliases for the codec in question.</para>
            <para>Standard aliases for codecs can be found in the IANA character-sets encoding file.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.AvailableCodecs">
            <summary>
            <para>Returns the list of all available codecs, by name. Call QTextCodec::codecForName() to obtain the QTextCodec for the name.</para>
            <para>The list may contain many mentions of the same codec if the codec has aliases.</para>
            <para>See also availableMibs(), name(), and aliases().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.AvailableMibs">
            <summary>
            <para>Returns the list of MIBs for all available codecs. Call QTextCodec::codecForMib() to obtain the QTextCodec for the MIB.</para>
            <para>See also availableCodecs() and mibEnum().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.CanEncode(QtCore.QChar)">
            <summary>
            <para>Returns true if the Unicode character ch can be fully encoded with this codec; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.CanEncode(System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>s contains the string being tested for encode-ability.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.CodecForHtml(QtCore.QByteArray)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Tries to detect the encoding of the provided snippet of HTML in the given byte array, ba, by checking the BOM (Byte Order Mark) and the content-type meta header and returns a QTextCodec instance that is capable of decoding the html to unicode. If the codec cannot be detected, this overload returns a Latin-1 QTextCodec.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.CodecForHtml(QtCore.QByteArray,QtCore.QTextCodec)">
            <summary>
            <para>Tries to detect the encoding of the provided snippet of HTML in the given byte array, ba, by checking the BOM (Byte Order Mark) and the content-type meta header and returns a QTextCodec instance that is capable of decoding the html to unicode. If the codec cannot be detected from the content provided, defaultCodec is returned.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also codecForUtfText().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.CodecForMib(System.Int32)">
            <summary>
            <para>Returns the QTextCodec which matches the MIBenum mib.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.CodecForName(QtCore.QByteArray)">
            <summary>
            <para>Searches all installed QTextCodec objects and returns the one which best matches name; the match is case-insensitive. Returns 0 if no codec matching the name name could be found.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.CodecForName(System.String)">
            <summary>
            <para>Searches all installed QTextCodec objects and returns the one which best matches name; the match is case-insensitive. Returns 0 if no codec matching the name name could be found.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.CodecForUtfText(QtCore.QByteArray)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Tries to detect the encoding of the provided snippet ba by using the BOM (Byte Order Mark) and returns a QTextCodec instance that is capable of decoding the text to unicode. If the codec cannot be detected, this overload returns a Latin-1 QTextCodec.</para>
            <para>See also codecForHtml().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.CodecForUtfText(QtCore.QByteArray,QtCore.QTextCodec)">
            <summary>
            <para>Tries to detect the encoding of the provided snippet ba by using the BOM (Byte Order Mark) and returns a QTextCodec instance that is capable of decoding the text to unicode. If the codec cannot be detected from the content provided, defaultCodec is returned.</para>
            <para>This function was introduced in Qt 4.6.</para>
            <para>See also codecForHtml().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.ConvertFromUnicode(QtCore.QChar,System.Int32,QtCore.QTextCodec.ConverterState)">
            <summary>
            <para>QTextCodec subclasses must reimplement this function.</para>
            <para>Converts the first number of characters from the input array from Unicode to the encoding of the subclass, and returns the result in a QByteArray.</para>
            <para>state can be 0 in which case the conversion is stateless and default conversion rules should be used. If state is not 0, the codec should save the state after the conversion in state, and adjust the remainingChars and invalidChars members of the struct.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.ConvertToUnicode(System.String,System.Int32,QtCore.QTextCodec.ConverterState)">
            <summary>
            <para>QTextCodec subclasses must reimplement this function.</para>
            <para>Converts the first len characters of chars from the encoding of the subclass to Unicode, and returns the result in a QString.</para>
            <para>state can be 0, in which case the conversion is stateless and default conversion rules should be used. If state is not 0, the codec should save the state after the conversion in state, and adjust the remainingChars and invalidChars members of the struct.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.FromUnicode(QtCore.QChar,System.Int32,QtCore.QTextCodec.ConverterState)">
            <summary>
            <para>Converts the first number of characters from the input array from Unicode to the encoding of this codec, and returns the result in a QByteArray.</para>
            <para>The state of the convertor used is updated.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.FromUnicode(System.String)">
            <summary>
            <para>Converts str from Unicode to the encoding of this codec, and returns the result in a QByteArray.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.MakeDecoder">
            <summary>
            <para>Creates a QTextDecoder which stores enough state to decode chunks of char * data to create chunks of Unicode data.</para>
            <para>The caller is responsible for deleting the returned object.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.MakeDecoder(QtCore.QTextCodec.ConversionFlag)">
            <summary>
            <para>Creates a QTextDecoder which stores enough state to decode chunks of char * data to create chunks of Unicode data.</para>
            <para>The caller is responsible for deleting the returned object.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.MakeEncoder">
            <summary>
            <para>Creates a QTextEncoder which stores enough state to encode chunks of Unicode data as char * data.</para>
            <para>The caller is responsible for deleting the returned object.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.MakeEncoder(QtCore.QTextCodec.ConversionFlag)">
            <summary>
            <para>Creates a QTextEncoder which stores enough state to encode chunks of Unicode data as char * data.</para>
            <para>The caller is responsible for deleting the returned object.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.MibEnum">
            <summary>
            <para>Subclasses of QTextCodec must reimplement this function. It returns the MIBenum (see IANA character-sets encoding file for more information). It is important that each QTextCodec subclass returns the correct unique value for this function.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.Name">
            <summary>
            <para>QTextCodec subclasses must reimplement this function. It returns the name of the encoding supported by the subclass.</para>
            <para>If the codec is registered as a character set in the IANA character-sets encoding file this method should return the preferred mime name for the codec if defined, otherwise its name.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.ToUnicode(QtCore.QByteArray)">
            <summary>
            <para>Converts a from the encoding of this codec to Unicode, and returns the result in a QString.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.ToUnicode(System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>chars contains the source characters.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.ToUnicode(System.String,System.Int32,QtCore.QTextCodec.ConverterState)">
            <summary>
            <para>Converts the first size characters from the input from the encoding of this codec to Unicode, and returns the result in a QString.</para>
            <para>The state of the convertor used is updated.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.Finalize">
            <summary>
            <para>Destroys the QTextCodec. Note that you should not delete codecs yourself: once created they become Qt's responsibility.</para>
            <para>Warning: This function is not reentrant.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTextCodec.CodecForCStrings">
            <summary>
            <para>Returns the codec used by QString to convert to and from const char * and QByteArrays. If this function returns 0 (the default), QString assumes Latin-1.</para>
            <para>Sets the codec used by QString to convert to and from const char * and QByteArrays. If the codec is 0 (the default), QString assumes Latin-1.</para>
            <para>Warning: Some codecs do not preserve the characters in the ASCII range (0x00 to 0x7F). For example, the Japanese Shift-JIS encoding maps the backslash character (0x5A) to the Yen character. To avoid undesirable side-effects, we recommend avoiding such codecs with setCodecsForCString().</para>
            <para>Warning: This function is not reentrant.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTextCodec.CodecForLocale">
            <summary>
            <para>Returns a pointer to the codec most suitable for this locale.</para>
            <para>On Windows, the codec will be based on a system locale. On Unix systems, starting with Qt 4.2, the codec will be using the iconv library. Note that in both cases the codec's name will be &quot;System&quot;.</para>
            <para>Set the codec to c; this will be returned by codecForLocale(). If c is a null pointer, the codec is reset to the default.</para>
            <para>This might be needed for some applications that want to use their own mechanism for setting the locale.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTextCodec.CodecForTr">
            <summary>
            <para>Returns the codec used by QObject::tr() on its argument. If this function returns 0 (the default), tr() assumes Latin-1.</para>
            <para>Sets the codec used by QObject::tr() on its argument to c. If c is 0 (the default), tr() assumes Latin-1.</para>
            <para>If the literal quoted text in the program is not in the Latin-1 encoding, this function can be used to set the appropriate encoding. For example, software developed by Korean programmers might use eucKR for all the text in the program, in which case the main() function might look like this:</para>
            <para> int main(int argc, char *argv[])</para>
            <para> {</para>
            <para>     QApplication app(argc, argv);</para>
            <para>     QTextCodec::setCodecForTr(QTextCodec::codecForName(&quot;eucKR&quot;));</para>
            <para>     ...</para>
            <para> }</para>
            <para>Note that this is not the way to select the encoding that the user has chosen. For example, to convert an application containing literal English strings to Korean, all that is needed is for the English strings to be passed through tr() and for translation files to be loaded. For details of internationalization, see Internationalization with Qt.</para>
            <para>Warning: This function is not reentrant.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.ConverterState.#ctor(QtCore.QTextCodec.ConversionFlag)">
            <summary>
            <para>Constructs a ConverterState object initialized with the given flags.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodec.ConverterState.Finalize">
            <summary>
            <para>Destroys the ConverterState object.</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextCodec.ConversionFlag.ConvertInvalidToNull">
            <summary>
            <para>If this flag is set, each invalid input character is output as a null character.</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextCodec.ConversionFlag.DefaultConversion">
            <summary>
            <para>No flag is set.</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextCodec.ConversionFlag.IgnoreHeader">
            <summary>
            <para>Ignore any Unicode byte-order mark and don't generate any.</para>
            </summary>
        </member>
        <member name="T:QtCore.QTextCodecPlugin">
            <summary>
            The QTextCodecPlugin class provides an abstract base for custom QTextCodec plugins.
            </summary>
            <remarks>
            <para></para>
            <para>The text codec plugin is a simple plugin interface that makes it easy to create custom text codecs that can be loaded dynamically into applications.</para>
            <para>Writing a text codec plugin is achieved by subclassing this base class, reimplementing the pure virtual functions names(), aliases(), createForName(), mibEnums() and createForMib(), and exporting the class with the Q_EXPORT_PLUGIN2() macro. See How to Create Qt Plugins for details.</para>
            <para>See the IANA character-sets encoding file for more information on mime names and mib enums.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QTextCodecPlugin.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs a text codec plugin with the given parent. This is invoked automatically by the Q_EXPORT_PLUGIN2() macro.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodecPlugin.Aliases">
            <summary>
            <para>Returns the list of aliases supported by this plugin.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodecPlugin.CreateForMib(System.Int32)">
            <summary>
            <para>Creates a QTextCodec object for the mib enum mib.</para>
            <para>See the IANA character-sets encoding file for more information.</para>
            <para>See also mibEnums().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodecPlugin.CreateForName(QtCore.QByteArray)">
            <summary>
            <para>Creates a QTextCodec object for the codec called name. The name must come from the list of encodings returned by names(). Encoding names are case sensitive.</para>
            <para>Example:</para>
            <para> QList&lt;QByteArray&gt; MyCodecPlugin::names() const</para>
            <para> {</para>
            <para>     return QList&lt;QByteArray&gt; &lt;&lt; &quot;IBM01140&quot; &lt;&lt; &quot;hp15-tw&quot;;</para>
            <para> }</para>
            <para></para>
            <para> QTextCodec *MyCodecPlugin::createForName(const QByteArray &amp;name)</para>
            <para> {</para>
            <para>     if (name == &quot;IBM01140&quot;) {</para>
            <para>         return new Ibm01140Codec;</para>
            <para>     } else if (name == &quot;hp15-tw&quot;) {</para>
            <para>         return new Hp15TwCodec;</para>
            <para>     }</para>
            <para>     return 0;</para>
            <para> }</para>
            <para>See also names().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodecPlugin.MibEnums">
            <summary>
            <para>Returns the list of mib enums supported by this plugin.</para>
            <para>See also createForMib().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodecPlugin.Names">
            <summary>
            <para>Returns the list of MIME names supported by this plugin.</para>
            <para>If a codec has several names, the extra names are returned by aliases().</para>
            <para>See also createForName() and aliases().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextCodecPlugin.Finalize">
            <summary>
            <para>Destroys the text codec plugin.</para>
            <para>You never have to call this explicitly. Qt destroys a plugin automatically when it is no longer used.</para>
            </summary>
        </member>
        <member name="T:QtCore.QTextDecoder">
            <summary>
            The QTextDecoder class provides a state-based decoder.
            </summary>
            <remarks>
            <para></para>
            <para>A text decoder converts text from an encoded text format into Unicode using a specific codec.</para>
            <para>The decoder converts text in this format into Unicode, remembering any state that is required between calls.</para>
            <para></para>
            <para>See also QTextCodec::makeDecoder() and QTextEncoder.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QTextDecoder.#ctor(QtCore.QTextCodec)">
            <summary>
            <para>Constructs a text decoder for the given codec.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextDecoder.#ctor(QtCore.QTextCodec,QtCore.QTextCodec.ConversionFlag)">
            <summary>
            <para>Constructs a text decoder for the given codec.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextDecoder.ToUnicode(QtCore.QByteArray)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Converts the bytes in the byte array specified by ba to Unicode and returns the result.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextDecoder.ToUnicode(System.String,System.Int32)">
            <summary>
            <para>Converts the first len bytes in chars to Unicode, returning the result.</para>
            <para>If not all characters are used (e.g. if only part of a multi-byte encoding is at the end of the characters), the decoder remembers enough state to continue with the next call to this function.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextDecoder.ToUnicode(System.Text.StringBuilder,System.String,System.Int32)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>The converted string is returned in target.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextDecoder.Finalize">
            <summary>
            <para>Destroys the decoder.</para>
            </summary>
        </member>
        <member name="T:QtCore.QTextEncoder">
            <summary>
            The QTextEncoder class provides a state-based encoder.
            </summary>
            <remarks>
            <para></para>
            <para>A text encoder converts text from Unicode into an encoded text format using a specific codec.</para>
            <para>The encoder converts Unicode into another format, remembering any state that is required between calls.</para>
            <para></para>
            <para>See also QTextCodec::makeEncoder() and QTextDecoder.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QTextEncoder.#ctor(QtCore.QTextCodec)">
            <summary>
            <para>Constructs a text encoder for the given codec.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextEncoder.#ctor(QtCore.QTextCodec,QtCore.QTextCodec.ConversionFlag)">
            <summary>
            <para>Constructs a text encoder for the given codec.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextEncoder.FromUnicode(QtCore.QChar,System.Int32)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Converts len characters (not bytes) from uc, and returns the result in a QByteArray.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextEncoder.FromUnicode(System.String)">
            <summary>
            <para>Converts the Unicode string str into an encoded QByteArray.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextEncoder.Finalize">
            <summary>
            <para>Destroys the encoder.</para>
            </summary>
        </member>
        <member name="T:QtCore.QTextStream">
            <summary>
            The QTextStream class provides a convenient interface for reading and writing text.
            </summary>
            <remarks>
            <para></para>
            <para>QTextStream can operate on a QIODevice, a QByteArray or a QString. Using QTextStream's streaming operators, you can conveniently read and write words, lines and numbers. For generating text, QTextStream supports formatting options for field padding and alignment, and formatting of numbers. Example:</para>
            <para> QFile data(&amp;quot;output.txt&amp;quot;);</para>
            <para> if (data.open(QFile::WriteOnly | QFile::Truncate)) {</para>
            <para>     QTextStream out(&amp;amp;data);</para>
            <para>     out &amp;lt;&amp;lt; &amp;quot;Result: &amp;quot; &amp;lt;&amp;lt; qSetFieldWidth(10) &amp;lt;&amp;lt; left &amp;lt;&amp;lt; 3.14 &amp;lt;&amp;lt; 2.7;</para>
            <para>     // writes &amp;quot;Result: 3.14      2.7       &amp;quot;</para>
            <para> }</para>
            <para>It's also common to use QTextStream to read console input and write console output. QTextStream is locale aware, and will automatically decode standard input using the correct codec. Example:</para>
            <para> QTextStream stream(stdin);</para>
            <para> QString line;</para>
            <para> do {</para>
            <para>     line = stream.readLine();</para>
            <para> } while (!line.isNull());</para>
            <para>Besides using QTextStream's constructors, you can also set the device or string QTextStream operates on by calling setDevice() or setString(). You can seek to a position by calling seek(), and atEnd() will return true when there is no data left to be read. If you call flush(), QTextStream will empty all data from its write buffer into the device and call flush() on the device.</para>
            <para>Internally, QTextStream uses a Unicode based buffer, and QTextCodec is used by QTextStream to automatically support different character sets. By default, QTextCodec::codecForLocale() is used for reading and writing, but you can also set the codec by calling setCodec(). Automatic Unicode detection is also supported. When this feature is enabled (the default behavior), QTextStream will detect the UTF-16 or the UTF-32 BOM (Byte Order Mark) and switch to the appropriate UTF codec when reading. QTextStream does not write a BOM by default, but you can enable this by calling setGenerateByteOrderMark(true). When QTextStream operates on a QString directly, the codec is disabled.</para>
            <para>There are three general ways to use QTextStream when reading text files:</para>
            <para></para>
            <para>Chunk by chunk, by calling readLine() or readAll().</para>
            <para>Word by word. QTextStream supports streaming into QStrings, QByteArrays and char* buffers. Words are delimited by space, and leading white space is automatically skipped.</para>
            <para>Character by character, by streaming into QChar or char types. This method is often used for convenient input handling when parsing files, independent of character encoding and end-of-line semantics. To skip white space, call skipWhiteSpace().</para>
            <para></para>
            <para>Since the text stream uses a buffer, you should not read from the stream using the implementation of a superclass. For instance, if you have a QFile and read from it directly using QFile::readLine() instead of using the stream, the text stream's internal position will be out of sync with the file's position.</para>
            <para>By default, when reading numbers from a stream of text, QTextStream will automatically detect the number's base representation. For example, if the number starts with &amp;quot;0x&amp;quot;, it is assumed to be in hexadecimal form. If it starts with the digits 1-9, it is assumed to be in decimal form, and so on. You can set the integer base, thereby disabling the automatic detection, by calling setIntegerBase(). Example:</para>
            <para> QTextStream in(&amp;quot;0x50 0x20&amp;quot;);</para>
            <para> int firstNumber, secondNumber;</para>
            <para></para>
            <para> in &amp;gt;&amp;gt; firstNumber;             // firstNumber == 80</para>
            <para> in &amp;gt;&amp;gt; dec &amp;gt;&amp;gt; secondNumber;     // secondNumber == 0</para>
            <para></para>
            <para> char ch;</para>
            <para> in &amp;gt;&amp;gt; ch;                      // ch == 'x'</para>
            <para>QTextStream supports many formatting options for generating text. You can set the field width and pad character by calling setFieldWidth() and setPadChar(). Use setFieldAlignment() to set the alignment within each field. For real numbers, call setRealNumberNotation() and setRealNumberPrecision() to set the notation (SmartNotation, ScientificNotation, FixedNotation) and precision in digits of the generated number. Some extra number formatting options are also available through setNumberFlags().</para>
            <para>Like &amp;lt;iostream&amp;gt; in the standard C++ library, QTextStream also defines several global manipulator functions:</para>
            <para></para>
            <para>ManipulatorDescription</para>
            <para>bin	Same as setIntegerBase(2).</para>
            <para>oct	Same as setIntegerBase(8).</para>
            <para>dec	Same as setIntegerBase(10).</para>
            <para>hex	Same as setIntegerBase(16).</para>
            <para>showbase	Same as setNumberFlags(numberFlags() | ShowBase).</para>
            <para>forcesign	Same as setNumberFlags(numberFlags() | ForceSign).</para>
            <para>forcepoint	Same as setNumberFlags(numberFlags() | ForcePoint).</para>
            <para>noshowbase	Same as setNumberFlags(numberFlags() &amp;amp; ~ShowBase).</para>
            <para>noforcesign	Same as setNumberFlags(numberFlags() &amp;amp; ~ForceSign).</para>
            <para>noforcepoint	Same as setNumberFlags(numberFlags() &amp;amp; ~ForcePoint).</para>
            <para>uppercasebase	Same as setNumberFlags(numberFlags() | UppercaseBase).</para>
            <para>uppercasedigits	Same as setNumberFlags(numberFlags() | UppercaseDigits).</para>
            <para>lowercasebase	Same as setNumberFlags(numberFlags() &amp;amp; ~UppercaseBase).</para>
            <para>lowercasedigits	Same as setNumberFlags(numberFlags() &amp;amp; ~UppercaseDigits).</para>
            <para>fixed	Same as setRealNumberNotation(FixedNotation).</para>
            <para>scientific	Same as setRealNumberNotation(ScientificNotation).</para>
            <para>left	Same as setFieldAlignment(AlignLeft).</para>
            <para>right	Same as setFieldAlignment(AlignRight).</para>
            <para>center	Same as setFieldAlignment(AlignCenter).</para>
            <para>endl	Same as operator&amp;lt;&amp;lt;('\n') and flush().</para>
            <para>flush	Same as flush().</para>
            <para>reset	Same as reset().</para>
            <para>ws	Same as skipWhiteSpace().</para>
            <para>bom	Same as setGenerateByteOrderMark(true).</para>
            <para></para>
            <para>In addition, Qt provides three global manipulators that take a parameter: qSetFieldWidth(), qSetPadChar(), and qSetRealNumberPrecision().</para>
            <para></para>
            <para>See also QDataStream, QIODevice, QFile, QBuffer, QTcpSocket, and Codecs Example.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QTextStream.#ctor">
            <summary>
            <para>Constructs a QTextStream. Before you can use it for reading or writing, you must assign a device or a string.</para>
            <para>See also setDevice() and setString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.#ctor(QtCore.QIODevice)">
            <summary>
            <para>Constructs a QTextStream that operates on device.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.#ctor(QtCore.QByteArray,QtCore.QIODevice.OpenModeFlag)">
            <summary>
            <para>Constructs a QTextStream. Before you can use it for reading or writing, you must assign a device or a string.</para>
            <para>See also setDevice() and setString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.#ctor(System.Text.StringBuilder,QtCore.QIODevice.OpenModeFlag)">
            <summary>
            <para>Constructs a QTextStream. Before you can use it for reading or writing, you must assign a device or a string.</para>
            <para>See also setDevice() and setString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.AtEnd">
            <summary>
            <para>Returns true if there is no more data to be read from the QTextStream; otherwise returns false. This is similar to, but not the same as calling QIODevice::atEnd(), as QTextStream also takes into account its internal Unicode buffer.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Flush">
            <summary>
            <para>Flushes any buffered data waiting to be written to the device.</para>
            <para>If QTextStream operates on a string, this function does nothing.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Write(QtCore.QBool)">
            <summary>
            <para>Writes the character c to the stream, then returns a reference to the QTextStream.</para>
            <para>See also setFieldWidth().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Write(QtCore.QChar)">
            <summary>
            <para>Writes the character c to the stream, then returns a reference to the QTextStream.</para>
            <para>See also setFieldWidth().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Write(QtCore.QByteArray)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Writes array to the stream. The contents of array are converted with QString::fromAscii().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Write(System.SByte)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Converts c from ASCII to a QChar, then writes it to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Write(System.Int16)">
            <summary>
            <para>Writes the integer number i to the stream, then returns a reference to the QTextStream. By default, the number is stored in decimal form, but you can also set the base by calling setIntegerBase().</para>
            <para>See also setFieldWidth() and setNumberFlags().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Write(System.UInt16)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Writes the unsigned short i to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Write(System.Int32)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Writes the signed int i to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Write(System.UInt32)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Writes the unsigned int i to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Write(NativeLong)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Writes the signed long i to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Write(NativeULong)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Writes the unsigned long i to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Write(System.Int64)">
            <summary>
            <para>Writes the character c to the stream, then returns a reference to the QTextStream.</para>
            <para>See also setFieldWidth().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Write(System.UInt64)">
            <summary>
            <para>Writes the character c to the stream, then returns a reference to the QTextStream.</para>
            <para>See also setFieldWidth().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Write(System.Single)">
            <summary>
            <para>Writes the real number f to the stream, then returns a reference to the QTextStream. By default, QTextStream stores it using SmartNotation, with up to 6 digits of precision. You can change the textual representation QTextStream will use for real numbers by calling setRealNumberNotation(), setRealNumberPrecision() and setNumberFlags().</para>
            <para>See also setFieldWidth(), setRealNumberNotation(), setRealNumberPrecision(), and setNumberFlags().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Write(System.Double)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Writes the double f to the stream.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Write(System.String)">
            <summary>
            <para>Writes the string string to the stream, and returns a reference to the QTextStream. The string is first encoded using the assigned codec (the default codec is QTextCodec::codecForLocale()) before it is written to the stream.</para>
            <para>See also setFieldWidth() and setCodec().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Read(QtCore.QChar)">
            <summary>
            <para>Reads a character from the stream and stores it in c. Returns a reference to the QTextStream, so several operators can be nested. Example:</para>
            <para> QTextStream in(file);</para>
            <para> QChar ch1, ch2, ch3;</para>
            <para> in &gt;&gt; ch1 &gt;&gt; ch2 &gt;&gt; ch3;</para>
            <para>Whitespace is not skipped.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Read(QtCore.QByteArray)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Converts the word to ISO-8859-1, then stores it in array.</para>
            <para>See also QString::toLatin1().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Read(System.SByte@)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Reads a character from the stream and stores it in c. The character from the stream is converted to ISO-5589-1 before it is stored.</para>
            <para>See also QChar::toLatin1().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Read(System.Int16@)">
            <summary>
            <para>Reads an integer from the stream and stores it in i, then returns a reference to the QTextStream. The number is cast to the correct type before it is stored. If no number was detected on the stream, i is set to 0.</para>
            <para>By default, QTextStream will attempt to detect the base of the number using the following rules:</para>
            <para></para>
            <para>PrefixBase</para>
            <para>&quot;0b&quot; or &quot;0B&quot;	2 (binary)</para>
            <para>&quot;0&quot; followed by &quot;0-7&quot;	8 (octal)</para>
            <para>&quot;0&quot; otherwise	10 (decimal)</para>
            <para>&quot;0x&quot; or &quot;0X&quot;	16 (hexadecimal)</para>
            <para>&quot;1&quot; to &quot;9&quot;	10 (decimal)</para>
            <para></para>
            <para>By calling setIntegerBase(), you can specify the integer base explicitly. This will disable the auto-detection, and speed up QTextStream slightly.</para>
            <para>Leading whitespace is skipped.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Read(System.UInt16@)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Stores the integer in the unsigned short i.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Read(System.Int32@)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Stores the integer in the signed int i.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Read(System.UInt32@)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Stores the integer in the unsigned int i.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Read(NativeLong)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Stores the integer in the signed long i.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Read(NativeULong)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Stores the integer in the unsigned long i.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Read(System.Int64@)">
            <summary>
            <para>Reads a character from the stream and stores it in c. Returns a reference to the QTextStream, so several operators can be nested. Example:</para>
            <para> QTextStream in(file);</para>
            <para> QChar ch1, ch2, ch3;</para>
            <para> in &gt;&gt; ch1 &gt;&gt; ch2 &gt;&gt; ch3;</para>
            <para>Whitespace is not skipped.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Read(System.UInt64@)">
            <summary>
            <para>Reads a character from the stream and stores it in c. Returns a reference to the QTextStream, so several operators can be nested. Example:</para>
            <para> QTextStream in(file);</para>
            <para> QChar ch1, ch2, ch3;</para>
            <para> in &gt;&gt; ch1 &gt;&gt; ch2 &gt;&gt; ch3;</para>
            <para>Whitespace is not skipped.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Read(System.Single@)">
            <summary>
            <para>Reads a real number from the stream and stores it in f, then returns a reference to the QTextStream. The number is cast to the correct type. If no real number is detect on the stream, f is set to 0.0.</para>
            <para>As a special exception, QTextStream allows the strings &quot;nan&quot; and &quot;inf&quot; to represent NAN and INF floats or doubles.</para>
            <para>Leading whitespace is skipped.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Read(System.Double@)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Stores the real number in the double f.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Read(System.String)">
            <summary>
            <para>Reads a word from the stream and stores it in str, then returns a reference to the stream. Words are separated by whitespace (i.e., all characters for which QChar::isSpace() returns true).</para>
            <para>Leading whitespace is skipped.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Read(QtCore.Pointer{System.SByte})">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Stores the word in c, terminated by a '\0' character. If no word is available, only the '\0' character is stored.</para>
            <para>Warning: Although convenient, this operator is dangerous and must be used with care. QTextStream assumes that c points to a buffer with enough space to hold the word. If the buffer is too small, your application may crash.</para>
            <para>If possible, use the QByteArray operator instead.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Pos">
            <summary>
            <para>Returns the device position corresponding to the current position of the stream, or -1 if an error occurs (e.g., if there is no device or string, or if there's a device error).</para>
            <para>Because QTextStream is buffered, this function may have to seek the device to reconstruct a valid device position. This operation can be expensive, so you may want to avoid calling this function in a tight loop.</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also seek().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Read(System.Int64)">
            <summary>
            <para>Reads at most maxlen characters from the stream, and returns the data read as a QString.</para>
            <para>This function was introduced in Qt 4.1.</para>
            <para>See also readAll(), readLine(), and QIODevice::read().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.ReadAll">
            <summary>
            <para>Reads the entire content of the stream, and returns it as a QString. Avoid this function when working on large files, as it will consume a significant amount of memory.</para>
            <para>Calling readLine() is better if you do not know how much data is available.</para>
            <para>See also readLine().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.ReadLine(System.Int64)">
            <summary>
            <para>Reads one line of text from the stream, and returns it as a QString. The maximum allowed line length is set to maxlen. If the stream contains lines longer than this, then the lines will be split after maxlen characters and returned in parts.</para>
            <para>If maxlen is 0, the lines can be of any length. A common value for maxlen is 75.</para>
            <para>The returned line has no trailing end-of-line characters (&quot;\n&quot; or &quot;\r\n&quot;), so calling QString::trimmed() is unnecessary.</para>
            <para>If the stream has read to the end of the file, readLine() will return a null QString. For strings, or for devices that support it, you can explicitly test for the end of the stream using atEnd().</para>
            <para>See also readAll() and QIODevice::readLine().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Reset">
            <summary>
            <para>Resets QTextStream's formatting options, bringing it back to its original constructed state. The device, string and any buffered data is left untouched.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.ResetStatus">
            <summary>
            <para>Resets the status of the text stream.</para>
            <para>This function was introduced in Qt 4.1.</para>
            <para>See also QTextStream::Status, status(), and setStatus().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Seek(System.Int64)">
            <summary>
            <para>Seeks to the position pos in the device. Returns true on success; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.SetCodec(System.String)">
            <summary>
            <para>Sets the codec for this stream to the QTextCodec for the encoding specified by codecName. Common values for codecName include &quot;ISO 8859-1&quot;, &quot;UTF-8&quot;, and &quot;UTF-16&quot;. If the encoding isn't recognized, nothing happens.</para>
            <para>Example:</para>
            <para> QTextStream out(&amp;file);</para>
            <para> out.setCodec(&quot;UTF-8&quot;);</para>
            <para>See also QTextCodec::codecForName() and setLocale().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.SetString(System.Text.StringBuilder,QtCore.QIODevice.OpenModeFlag)">
            <summary>
            <para>Sets the current string to string, using the given openMode. If a device has already been assigned, QTextStream will call flush() before replacing it.</para>
            <para>See also string() and setDevice().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.SkipWhiteSpace">
            <summary>
            <para>Reads and discards whitespace from the stream until either a non-space character is detected, or until atEnd() returns true. This function is useful when reading a stream character by character.</para>
            <para>Whitespace characters are all characters for which QChar::isSpace() returns true.</para>
            <para>See also operator&gt;&gt;().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTextStream.Finalize">
            <summary>
            <para>Destroys the QTextStream.</para>
            <para>If the stream operates on a device, flush() will be called implicitly. Otherwise, the device is unaffected.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTextStream.AutoDetectUnicode">
            <summary>
            <para>Returns true if automatic Unicode detection is enabled, otherwise returns false. Automatic Unicode detection is enabled by default.</para>
            <para>If enabled is true, QTextStream will attempt to detect Unicode encoding by peeking into the stream data to see if it can find the UTF-16 or UTF-32 BOM (Byte Order Mark). If this mark is found, QTextStream will replace the current codec with the UTF codec.</para>
            <para>This function can be used together with setCodec(). It is common to set the codec to UTF-8, and then enable UTF-16 detection.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTextStream.Codec">
            <summary>
            <para>Returns the codec that is current assigned to the stream.</para>
            <para>Sets the codec for this stream to codec. The codec is used for decoding any data that is read from the assigned device, and for encoding any data that is written. By default, QTextCodec::codecForLocale() is used, and automatic unicode detection is enabled.</para>
            <para>If QTextStream operates on a string, this function does nothing.</para>
            <para>Warning: If you call this function while the text stream is reading from an open sequential socket, the internal buffer may still contain text decoded using the old codec.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTextStream.Device">
            <summary>
            <para>Returns the current device associated with the QTextStream, or 0 if no device has been assigned.</para>
            <para>Sets the current device to device. If a device has already been assigned, QTextStream will call flush() before the old device is replaced.</para>
            <para>Note: This function resets locale to the default locale ('C') and codec to the default codec, QTextCodec::codecForLocale().</para>
            </summary>
        </member>
        <member name="P:QtCore.QTextStream.fieldAlignment">
            <summary>
            <para>Returns the current field alignment.</para>
            <para>Sets the field alignment to mode. When used together with setFieldWidth(), this function allows you to generate formatted output with text aligned to the left, to the right or center aligned.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTextStream.FieldWidth">
            <summary>
            <para>Returns the current field width.</para>
            <para>Sets the current field width to width. If width is 0 (the default), the field width is equal to the length of the generated text.</para>
            <para>Note: The field width applies to every element appended to this stream after this function has been called (e.g., it also pads endl). This behavior is different from similar classes in the STL, where the field width only applies to the next element.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTextStream.GenerateByteOrderMark">
            <summary>
            <para>Returns true if QTextStream is set to generate the UTF BOM (Byte Order Mark) when using a UTF codec; otherwise returns false. UTF BOM generation is set to false by default.</para>
            <para>If generate is true and a UTF codec is used, QTextStream will insert the BOM (Byte Order Mark) before any data has been written to the device. If generate is false, no BOM will be inserted. This function must be called before any data is written. Otherwise, it does nothing.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTextStream.IntegerBase">
            <summary>
            <para>Returns the current base of integers. 0 means that the base is detected when reading, or 10 (decimal) when generating numbers.</para>
            <para>Sets the base of integers to base, both for reading and for generating numbers. base can be either 2 (binary), 8 (octal), 10 (decimal) or 16 (hexadecimal). If base is 0, QTextStream will attempt to detect the base by inspecting the data on the stream. When generating numbers, QTextStream assumes base is 10 unless the base has been set explicitly.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTextStream.Locale">
            <summary>
            <para>Returns the locale for this stream. The default locale is C.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>Sets the locale for this stream to locale. The specified locale is used for conversions between numbers and their string representations.</para>
            <para>The default locale is C and it is a special case - the thousands group separator is not used for backward compatibility reasons.</para>
            <para>This function was introduced in Qt 4.5.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTextStream.NumberFlags">
            <summary>
            <para>Returns the current number flags.</para>
            <para>Sets the current number flags to flags. flags is a set of flags from the NumberFlag enum, and describes options for formatting generated code (e.g., whether or not to always write the base or sign of a number).</para>
            </summary>
        </member>
        <member name="P:QtCore.QTextStream.PadChar">
            <summary>
            <para>Returns the current pad character.</para>
            <para>Sets the pad character to ch. The default value is the ASCII space character (' '), or QChar(0x20). This character is used to fill in the space in fields when generating text.</para>
            <para>Example:</para>
            <para> QString s;</para>
            <para> QTextStream out(&amp;s);</para>
            <para> out.setFieldWidth(10);</para>
            <para> out.setFieldAlignment(QTextStream::AlignCenter);</para>
            <para> out.setPadChar('-');</para>
            <para> out &lt;&lt; &quot;Qt&quot; &lt;&lt; &quot;rocks!&quot;;</para>
            <para>The string s contains:</para>
            </summary>
        </member>
        <member name="P:QtCore.QTextStream.realNumberNotation">
            <summary>
            <para>Returns the current real number notation.</para>
            <para>Sets the real number notation to notation (SmartNotation, FixedNotation, ScientificNotation). When reading and generating numbers, QTextStream uses this value to detect the formatting of real numbers.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTextStream.RealNumberPrecision">
            <summary>
            <para>Returns the current real number precision, or the number of fraction digits QTextStream will write when generating real numbers.</para>
            <para>Sets the precision of real numbers to precision. This value describes the number of fraction digits QTextStream should write when generating real numbers.</para>
            <para>The precision cannot be a negative value. The default value is 6.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTextStream.status">
            <summary>
            <para>Returns the status of the text stream.</para>
            <para>Sets the status of the text stream to the status given.</para>
            <para>Subsequent calls to setStatus() are ignored until resetStatus() is called.</para>
            <para>This function was introduced in Qt 4.1.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTextStream.String">
            <summary>
            <para>Returns the current string assigned to the QTextStream, or 0 if no string has been assigned.</para>
            <para>See also setString() and device().</para>
            </summary>
        </member>
        <member name="T:QtCore.QTextStream.FieldAlignment">
            <summary>
            <para>This enum specifies how to align text in fields when the field is wider than the text that occupies it.</para>
            <para>See also setFieldAlignment().</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextStream.FieldAlignment.AlignAccountingStyle">
            <summary>
            <para>Same as AlignRight, except that the sign of a number is flush left.</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextStream.FieldAlignment.AlignCenter">
            <summary>
            <para>Pad on both sides of field.</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextStream.FieldAlignment.AlignLeft">
            <summary>
            <para>Pad on the right side of fields.</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextStream.FieldAlignment.AlignRight">
            <summary>
            <para>Pad on the left side of fields.</para>
            </summary>
        </member>
        <member name="T:QtCore.QTextStream.NumberFlag">
            <summary>
            <para>This enum specifies various flags that can be set to affect the output of integers, floats, and doubles.</para>
            <para></para>
            <para>See also setNumberFlags().</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextStream.NumberFlag.ForcePoint">
            <summary>
            <para>Always put the decimal separator in numbers, even if there are no decimals.</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextStream.NumberFlag.ForceSign">
            <summary>
            <para>Always put the sign in numbers, even for positive numbers.</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextStream.NumberFlag.ShowBase">
            <summary>
            <para>Show the base as a prefix if the base is 16 (&quot;0x&quot;), 8 (&quot;0&quot;), or 2 (&quot;0b&quot;).</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextStream.NumberFlag.UppercaseBase">
            <summary>
            <para>Use uppercase versions of base prefixes (&quot;0X&quot;, &quot;0B&quot;).</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextStream.NumberFlag.UppercaseDigits">
            <summary>
            <para>Use uppercase letters for expressing digits 10 to 35 instead of lowercase.</para>
            </summary>
        </member>
        <member name="T:QtCore.QTextStream.RealNumberNotation">
            <summary>
            <para>This enum specifies which notations to use for expressing float and double as strings.</para>
            <para>See also setRealNumberNotation().</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextStream.RealNumberNotation.FixedNotation">
            <summary>
            <para>Fixed-point notation (printf()'s %f flag).</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextStream.RealNumberNotation.ScientificNotation">
            <summary>
            <para>Scientific notation (printf()'s %e flag).</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextStream.RealNumberNotation.SmartNotation">
            <summary>
            <para>Scientific or fixed-point notation, depending on which makes most sense (printf()'s %g flag).</para>
            </summary>
        </member>
        <member name="T:QtCore.QTextStream.Status">
            <summary>
            <para>This enum describes the current status of the text stream.</para>
            <para>See also status().</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextStream.Status.Ok">
            <summary>
            <para>The text stream is operating normally.</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextStream.Status.ReadCorruptData">
            <summary>
            <para>The text stream has read corrupt data.</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextStream.Status.ReadPastEnd">
            <summary>
            <para>The text stream has read past the end of the data in the underlying device.</para>
            </summary>
        </member>
        <member name="F:QtCore.QTextStream.Status.WriteFailed">
            <summary>
            <para>The text stream cannot write to the underlying device.</para>
            </summary>
        </member>
        <member name="T:QtCore.QTime">
            <summary>
            The QTime class provides clock time functions.
            </summary>
            <remarks>
            <para></para>
            <para>A QTime object contains a clock time, i.e. the number of hours, minutes, seconds, and milliseconds since midnight. It can read the current time from the system clock and measure a span of elapsed time. It provides functions for comparing times and for manipulating a time by adding a number of milliseconds.</para>
            <para>QTime uses the 24-hour clock format; it has no concept of AM/PM. Unlike QDateTime, QTime knows nothing about time zones or daylight savings time (DST).</para>
            <para>A QTime object is typically created either by giving the number of hours, minutes, seconds, and milliseconds explicitly, or by using the static function currentTime(), which creates a QTime object that contains the system's local time. Note that the accuracy depends on the accuracy of the underlying operating system; not all systems provide 1-millisecond accuracy.</para>
            <para>The hour(), minute(), second(), and msec() functions provide access to the number of hours, minutes, seconds, and milliseconds of the time. The same information is provided in textual format by the toString() function.</para>
            <para>QTime provides a full set of operators to compare two QTime objects. One time is considered smaller than another if it is earlier than the other.</para>
            <para>The time a given number of seconds or milliseconds later than a given time can be found using the addSecs() or addMSecs() functions. Correspondingly, the number of seconds or milliseconds between two times can be found using secsTo() or msecsTo().</para>
            <para>QTime can be used to measure a span of elapsed time using the start(), restart(), and elapsed() functions.</para>
            <para></para>
            <para>See also QDate and QDateTime.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QTime.#ctor">
            <summary>
            <para>Constructs a null time object. A null time can be a QTime(0, 0, 0, 0) (i.e., midnight) object, except that isNull() returns true and isValid() returns false.</para>
            <para>See also isNull() and isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.#ctor(QtCore.QTime)">
            <summary>
            <para>Constructs a null time object. A null time can be a QTime(0, 0, 0, 0) (i.e., midnight) object, except that isNull() returns true and isValid() returns false.</para>
            <para>See also isNull() and isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            <para>Constructs a time with hour h, minute m, seconds s and milliseconds ms.</para>
            <para>h must be in the range 0 to 23, m and s must be in the range 0 to 59, and ms must be in the range 0 to 999.</para>
            <para>See also isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.AddMSecs(System.Int32)">
            <summary>
            <para>Returns a QTime object containing a time ms milliseconds later than the time of this object (or earlier if ms is negative).</para>
            <para>Note that the time will wrap if it passes midnight. See addSecs() for an example.</para>
            <para>See also addSecs(), msecsTo(), and QDateTime::addMSecs().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.AddSecs(System.Int32)">
            <summary>
            <para>Returns a QTime object containing a time s seconds later than the time of this object (or earlier if s is negative).</para>
            <para>Note that the time will wrap if it passes midnight.</para>
            <para>Example:</para>
            <para> QTime n(14, 0, 0);                // n == 14:00:00</para>
            <para> QTime t;</para>
            <para> t = n.addSecs(70);                // t == 14:01:10</para>
            <para> t = n.addSecs(-70);               // t == 13:58:50</para>
            <para> t = n.addSecs(10 * 60 * 60 + 5);  // t == 00:00:05</para>
            <para> t = n.addSecs(-15 * 60 * 60);     // t == 23:00:00</para>
            <para>See also addMSecs(), secsTo(), and QDateTime::addSecs().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.CurrentTime">
            <summary>
            <para>Returns the current time as reported by the system clock.</para>
            <para>Note that the accuracy depends on the accuracy of the underlying operating system; not all systems provide 1-millisecond accuracy.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.Elapsed">
            <summary>
            <para>Returns the number of milliseconds that have elapsed since the last time start() or restart() was called.</para>
            <para>Note that the counter wraps to zero 24 hours after the last call to start() or restart.</para>
            <para>Note that the accuracy depends on the accuracy of the underlying operating system; not all systems provide 1-millisecond accuracy.</para>
            <para>Warning: If the system's clock setting has been changed since the last time start() or restart() was called, the result is undefined. This can happen when daylight savings time is turned on or off.</para>
            <para>See also start() and restart().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.FromString(System.String,QtCore.Qt.DateFormat)">
            <summary>
            <para>Returns the time represented in the string as a QTime using the format given, or an invalid time if this is not possible.</para>
            <para>Note that fromString() uses a &quot;C&quot; locale encoded string to convert milliseconds to a float value. If the default locale is not &quot;C&quot;, this may result in two conversion attempts (if the conversion fails for the default locale). This should be considered an implementation detail.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.FromString(System.String,System.String)">
            <summary>
            <para>Returns the QTime represented by the string, using the format given, or an invalid time if the string cannot be parsed.</para>
            <para>These expressions may be used for the format:</para>
            <para></para>
            <para>ExpressionOutput</para>
            <para>h	the hour without a leading zero (0 to 23 or 1 to 12 if AM/PM display)</para>
            <para>hh	the hour with a leading zero (00 to 23 or 01 to 12 if AM/PM display)</para>
            <para>m	the minute without a leading zero (0 to 59)</para>
            <para>mm	the minute with a leading zero (00 to 59)</para>
            <para>s	the second without a leading zero (0 to 59)</para>
            <para>ss	the second with a leading zero (00 to 59)</para>
            <para>z	the milliseconds without leading zeroes (0 to 999)</para>
            <para>zzz	the milliseconds with leading zeroes (000 to 999)</para>
            <para>AP	interpret as an AM/PM time. AP must be either &quot;AM&quot; or &quot;PM&quot;.</para>
            <para>ap	Interpret as an AM/PM time. ap must be either &quot;am&quot; or &quot;pm&quot;.</para>
            <para></para>
            <para>All other input characters will be treated as text. Any sequence of characters that are enclosed in single quotes will also be treated as text and not be used as an expression.</para>
            <para> QTime time = QTime::fromString(&quot;1mm12car00&quot;, &quot;m'mm'hcarss&quot;);</para>
            <para> // time is 12:01.00</para>
            <para>If the format is not satisfied an invalid QTime is returned. Expressions that do not expect leading zeroes to be given (h, m, s and z) are greedy. This means that they will use two digits even if this puts them outside the range of accepted values and leaves too few digits for other sections. For example, the following string could have meant 00:07:10, but the m will grab two digits, resulting in an invalid time:</para>
            <para> QTime time = QTime::fromString(&quot;00:710&quot;, &quot;hh:ms&quot;); // invalid</para>
            <para>Any field that is not represented in the format will be set to zero. For example:</para>
            <para> QTime time = QTime::fromString(&quot;1.30&quot;, &quot;m.s&quot;);</para>
            <para> // time is 00:01:30.000</para>
            <para>QDateTime::toString() QTime::toString()</para>
            <para>See also QDateTime::fromString(), QDate::fromString(), and QDate::toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.Hour">
            <summary>
            <para>Returns the hour part (0 to 23) of the time.</para>
            <para>See also minute(), second(), and msec().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.IsNull">
            <summary>
            <para>Returns true if the time is null (i.e., the QTime object was constructed using the default constructor); otherwise returns false. A null time is also an invalid time.</para>
            <para>See also isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.IsValid">
            <summary>
            <para>Returns true if the time is valid; otherwise returns false. For example, the time 23:30:55.746 is valid, but 24:12:30 is invalid.</para>
            <para>See also isNull().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.IsValid(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns true if the specified time is valid; otherwise returns false.</para>
            <para>The time is valid if h is in the range 0 to 23, m and s are in the range 0 to 59, and ms is in the range 0 to 999.</para>
            <para>Example:</para>
            <para> QTime::isValid(21, 10, 30); // returns true</para>
            <para> QTime::isValid(22, 5,  62); // returns false</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.Minute">
            <summary>
            <para>Returns the minute part (0 to 59) of the time.</para>
            <para>See also hour(), second(), and msec().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.Msec">
            <summary>
            <para>Returns the millisecond part (0 to 999) of the time.</para>
            <para>See also hour(), minute(), and second().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.MsecsTo(QtCore.QTime)">
            <summary>
            <para>Returns the number of milliseconds from this time to t. If t is earlier than this time, the number of milliseconds returned is negative.</para>
            <para>Because QTime measures time within a day and there are 86400 seconds in a day, the result is always between -86400000 and 86400000 ms.</para>
            <para>See also secsTo(), addMSecs(), and QDateTime::msecsTo().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.op_Inequality(QtCore.QTime,QtCore.QTime)">
            <summary>
            <para>Returns true if this time is different from t; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.op_LessThan(QtCore.QTime,QtCore.QTime)">
            <summary>
            <para>Returns true if this time is earlier than t; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.op_LessThanOrEqual(QtCore.QTime,QtCore.QTime)">
            <summary>
            <para>Returns true if this time is earlier than or equal to t; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.op_Equality(QtCore.QTime,QtCore.QTime)">
            <summary>
            <para>Returns true if this time is equal to t; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.op_GreaterThan(QtCore.QTime,QtCore.QTime)">
            <summary>
            <para>Returns true if this time is later than t; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.op_GreaterThanOrEqual(QtCore.QTime,QtCore.QTime)">
            <summary>
            <para>Returns true if this time is later than or equal to t; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.Restart">
            <summary>
            <para>Sets this time to the current time and returns the number of milliseconds that have elapsed since the last time start() or restart() was called.</para>
            <para>This function is guaranteed to be atomic and is thus very handy for repeated measurements. Call start() to start the first measurement, and restart() for each later measurement.</para>
            <para>Note that the counter wraps to zero 24 hours after the last call to start() or restart().</para>
            <para>Warning: If the system's clock setting has been changed since the last time start() or restart() was called, the result is undefined. This can happen when daylight savings time is turned on or off.</para>
            <para>See also start(), elapsed(), and currentTime().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.Second">
            <summary>
            <para>Returns the second part (0 to 59) of the time.</para>
            <para>See also hour(), minute(), and msec().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.SecsTo(QtCore.QTime)">
            <summary>
            <para>Returns the number of seconds from this time to t. If t is earlier than this time, the number of seconds returned is negative.</para>
            <para>Because QTime measures time within a day and there are 86400 seconds in a day, the result is always between -86400 and 86400.</para>
            <para>secsTo() does not take into account any milliseconds.</para>
            <para>See also addSecs() and QDateTime::secsTo().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.SetHMS(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            <para>Sets the time to hour h, minute m, seconds s and milliseconds ms.</para>
            <para>h must be in the range 0 to 23, m and s must be in the range 0 to 59, and ms must be in the range 0 to 999. Returns true if the set time is valid; otherwise returns false.</para>
            <para>See also isValid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.Start">
            <summary>
            <para>Sets this time to the current time. This is practical for timing:</para>
            <para> QTime t;</para>
            <para> t.start();</para>
            <para> some_lengthy_task();</para>
            <para> qDebug(&quot;Time elapsed: %d ms&quot;, t.elapsed());</para>
            <para>See also restart(), elapsed(), and currentTime().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.ToString">
            <summary>
            <para>See also QDateTime::fromString(), QDate::fromString(), and QDate::toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.ToString(QtCore.Qt.DateFormat)">
            <summary>
            <para>See also QDateTime::fromString(), QDate::fromString(), and QDate::toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTime.ToString(System.String)">
            <summary>
            <para>Returns the time as a string. The format parameter determines the format of the result string.</para>
            <para>These expressions may be used:</para>
            <para></para>
            <para>ExpressionOutput</para>
            <para>h	the hour without a leading zero (0 to 23 or 1 to 12 if AM/PM display)</para>
            <para>hh	the hour with a leading zero (00 to 23 or 01 to 12 if AM/PM display)</para>
            <para>H	the hour without a leading zero (0 to 23, even with AM/PM display)</para>
            <para>HH	the hour with a leading zero (00 to 23, even with AM/PM display)</para>
            <para>m	the minute without a leading zero (0 to 59)</para>
            <para>mm	the minute with a leading zero (00 to 59)</para>
            <para>s	the second without a leading zero (0 to 59)</para>
            <para>ss	the second with a leading zero (00 to 59)</para>
            <para>z	the milliseconds without leading zeroes (0 to 999)</para>
            <para>zzz	the milliseconds with leading zeroes (000 to 999)</para>
            <para>AP or A	use AM/PM display. AP will be replaced by either &quot;AM&quot; or &quot;PM&quot;.</para>
            <para>ap or a	use am/pm display. ap will be replaced by either &quot;am&quot; or &quot;pm&quot;.</para>
            <para>t	the timezone (for example &quot;CEST&quot;)</para>
            <para></para>
            <para>All other input characters will be ignored. Any sequence of characters that are enclosed in singlequotes will be treated as text and not be used as an expression. Two consecutive singlequotes (&quot;''&quot;) are replaced by a singlequote in the output.</para>
            <para>Example format strings (assuming that the QTime is 14:13:09.042)</para>
            <para></para>
            <para>FormatResult</para>
            <para>hh:mm:ss.zzz	14:13:09.042</para>
            <para>h:m:s ap	2:13:9 pm</para>
            <para>H:m:s a	14:13:9 pm</para>
            <para></para>
            <para>If the datetime is invalid, an empty string will be returned. If format is empty, the default format &quot;hh:mm:ss&quot; is used.</para>
            <para>See also QDate::toString() and QDateTime::toString().</para>
            </summary>
        </member>
        <member name="T:QtCore.QTimeLine">
            <summary>
            The QTimeLine class provides a timeline for controlling animations.
            </summary>
            <remarks>
            <para></para>
            <para>It's most commonly used to animate a GUI control by calling a slot periodically. You can construct a timeline by passing its duration in milliseconds to QTimeLine's constructor. The timeline's duration describes for how long the animation will run. Then you set a suitable frame range by calling setFrameRange(). Finally connect the frameChanged() signal to a suitable slot in the widget you wish to animate (e.g., setValue() in QProgressBar). When you proceed to calling start(), QTimeLine will enter Running state, and start emitting frameChanged() at regular intervals, causing your widget's connected property's value to grow from the lower end to the upper and of your frame range, at a steady rate. You can specify the update interval by calling setUpdateInterval(). When done, QTimeLine enters NotRunning state, and emits finished().</para>
            <para>Example:</para>
            <para> ...</para>
            <para> progressBar = new QProgressBar(this);</para>
            <para> progressBar-&amp;gt;setRange(0, 100);</para>
            <para></para>
            <para> // Construct a 1-second timeline with a frame range of 0 - 100</para>
            <para> QTimeLine *timeLine = new QTimeLine(1000, this);</para>
            <para> timeLine-&amp;gt;setFrameRange(0, 100);</para>
            <para> connect(timeLine, SIGNAL(frameChanged(int)), progressBar, SLOT(setValue(int)));</para>
            <para></para>
            <para> // Clicking the push button will start the progress bar animation</para>
            <para> pushButton = new QPushButton(tr(&amp;quot;Start animation&amp;quot;), this);</para>
            <para> connect(pushButton, SIGNAL(clicked()), timeLine, SLOT(start()));</para>
            <para> ...</para>
            <para>You can also use QTimeLine with the Graphics View framework for animations. The QGraphicsItemAnimation class implements animation of QGraphicsItems with a timeline.</para>
            <para>By default the timeline runs once, from the beginning and towards the end, upon which you must call start() again to restart from the beginning. To make the timeline loop, you can call setLoopCount(), passing the number of times the timeline should run before finishing. The direction can also be changed, causing the timeline to run backward, by calling setDirection(). You can also pause and unpause the timeline while it's running by calling setPaused(). For interactive control, the setCurrentTime() function is provided, which sets the time position of the time line directly. Although most useful in NotRunning state, (e.g., connected to a valueChanged() signal in a QSlider,) this function can be called at any time.</para>
            <para>The frame interface is useful for standard widgets, but QTimeLine can be used to control any type of animation. The heart of QTimeLine lies in the valueForTime() function, which generates a value between 0 and 1 for a given time. This value is typically used to describe the steps of an animation, where 0 is the first step of an animation, and 1 is the last step. When running, QTimeLine generates values between 0 and 1 by calling valueForTime() and emitting valueChanged(). By default, valueForTime() applies an interpolation algorithm to generate these value. You can choose from a set of predefined timeline algorithms by calling setCurveShape().</para>
            <para>Note that by default, QTimeLine uses the EaseInOut curve shape, which provides a value that grows slowly, then grows steadily, and finally grows slowly. For a custom timeline, you can reimplement valueForTime(), in which case QTimeLine's curveShape property is ignored.</para>
            <para></para>
            <para>See also QProgressBar, QProgressDialog, and QGraphicsItemAnimation.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QTimeLine.#ctor(System.Int32,QtCore.QObject)">
            <summary>
            <para>Constructs a timeline with a duration of duration milliseconds. parent is passed to QObject's constructor. The default duration is 1000 milliseconds.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimeLine.CurrentFrame">
            <summary>
            <para>Returns the frame corresponding to the current time.</para>
            <para>See also currentTime(), frameForTime(), and setFrameRange().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimeLine.CurrentValue">
            <summary>
            <para>Returns the value corresponding to the current time.</para>
            <para>See also valueForTime() and currentFrame().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimeLine.OnFinished">
            <summary>
            <para>This signal is emitted when QTimeLine finishes (i.e., reaches the end of its time line), and does not loop.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimeLine.OnFrameChanged(System.Int32)">
            <summary>
            <para>QTimeLine emits this signal at regular intervals when in Running state, but only if the current frame changes. frame is the current frame number.</para>
            <para>See also QTimeLine::setFrameRange() and QTimeLine::updateInterval.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimeLine.FrameForTime(System.Int32)">
            <summary>
            <para>Returns the frame corresponding to the time msec. This value is calculated using a linear interpolation of the start and end frame, based on the value returned by valueForTime().</para>
            <para>See also valueForTime() and setFrameRange().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimeLine.Resume">
            <summary>
            <para>Resumes the timeline from the current time. QTimeLine will reenter Running state, and once it enters the event loop, it will update its current time, frame and value at regular intervals.</para>
            <para>In contrast to start(), this function does not restart the timeline before it resumes.</para>
            <para>See also start(), updateInterval(), frameChanged(), and valueChanged().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimeLine.SetFrameRange(System.Int32,System.Int32)">
            <summary>
            <para>Sets the timeline's frame counter to start at startFrame, and end and endFrame. For each time value, QTimeLine will find the corresponding frame when you call currentFrame() or frameForTime() by interpolating, using the return value of valueForTime().</para>
            <para>When in Running state, QTimeLine also emits the frameChanged() signal when the frame changes.</para>
            <para>See also startFrame(), endFrame(), start(), and currentFrame().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimeLine.SetPaused(System.Boolean)">
            <summary>
            <para>If paused is true, the timeline is paused, causing QTimeLine to enter Paused state. No updates will be signaled until either start() or setPaused(false) is called. If paused is false, the timeline is resumed and continues where it left.</para>
            <para>See also state() and start().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimeLine.Start">
            <summary>
            <para>Starts the timeline. QTimeLine will enter Running state, and once it enters the event loop, it will update its current time, frame and value at regular intervals. The default interval is 40 ms (i.e., 25 times per second). You can change the update interval by calling setUpdateInterval().</para>
            <para>The timeline will start from position 0, or the end if going backward. If you want to resume a stopped timeline without restarting, you can call resume() instead.</para>
            <para>See also resume(), updateInterval(), frameChanged(), and valueChanged().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimeLine.state">
            <summary>
            <para>Returns the state of the timeline.</para>
            <para>See also start(), setPaused(), and stop().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimeLine.OnStateChanged(QtCore.QTimeLine.State)">
            <summary>
            <para>This signal is emitted whenever QTimeLine's state changes. The new state is newState.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimeLine.Stop">
            <summary>
            <para>Stops the timeline, causing QTimeLine to enter NotRunning state.</para>
            <para>See also start().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimeLine.OnTimerEvent(QtCore.QTimerEvent)">
            <summary>
            <para>Reimplemented from QObject::timerEvent().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimeLine.ToggleDirection">
            <summary>
            <para>Toggles the direction of the timeline. If the direction was Forward, it becomes Backward, and vice verca.</para>
            <para>See also setDirection().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimeLine.OnValueChanged(System.Double)">
            <summary>
            <para>QTimeLine emits this signal at regular intervals when in Running state, but only if the current value changes. value is the current value. value is a number between 0.0 and 1.0</para>
            <para>See also QTimeLine::setDuration(), QTimeLine::valueForTime(), and QTimeLine::updateInterval.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimeLine.ValueForTime(System.Int32)">
            <summary>
            <para>Returns the timeline value for the time msec. The returned value, which varies depending on the curve shape, is always between 0 and 1. If msec is 0, the default implementation always returns 0.</para>
            <para>Reimplement this function to provide a custom curve shape for your timeline.</para>
            <para>See also CurveShape and frameForTime().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimeLine.Finalize">
            <summary>
            <para>Destroys the timeline.</para>
            </summary>
        </member>
        <member name="E:QtCore.QTimeLine.ValueChanged">
            <summary>
            <para>QTimeLine emits this signal at regular intervals when in Running state, but only if the current value changes. value is the current value. value is a number between 0.0 and 1.0</para>
            <para>See also QTimeLine::setDuration(), QTimeLine::valueForTime(), and QTimeLine::updateInterval.</para>
            </summary>
        </member>
        <member name="E:QtCore.QTimeLine.FrameChanged">
            <summary>
            <para>QTimeLine emits this signal at regular intervals when in Running state, but only if the current frame changes. frame is the current frame number.</para>
            <para>See also QTimeLine::setFrameRange() and QTimeLine::updateInterval.</para>
            </summary>
        </member>
        <member name="E:QtCore.QTimeLine.StateChanged">
            <summary>
            <para>This signal is emitted whenever QTimeLine's state changes. The new state is newState.</para>
            </summary>
        </member>
        <member name="E:QtCore.QTimeLine.Finished">
            <summary>
            <para>This signal is emitted when QTimeLine finishes (i.e., reaches the end of its time line), and does not loop.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTimeLine.EndFrame">
            <summary>
            <para>Returns the end frame, which is the frame corresponding to the end of the timeline (i.e., the frame for which the current value is 1).</para>
            <para>Sets the end frame, which is the frame corresponding to the end of the timeline (i.e., the frame for which the current value is 1), to frame.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTimeLine.StartFrame">
            <summary>
            <para>Returns the start frame, which is the frame corresponding to the start of the timeline (i.e., the frame for which the current value is 0).</para>
            <para>Sets the start frame, which is the frame corresponding to the start of the timeline (i.e., the frame for which the current value is 0), to frame.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTimeLine.Duration">
            <summary>
            <para>This property holds the total duration of the timeline in milliseconds.</para>
            <para>By default, this value is 1000 (i.e., 1 second), but you can change this by either passing a duration to QTimeLine's constructor, or by calling setDuration(). The duration must be larger than 0.</para>
            <para>Note: Changing the duration does not cause the current time to be reset to zero or the new duration. You also need to call setCurrentTime() with the desired value.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTimeLine.UpdateInterval">
            <summary>
            <para>This property holds the time in milliseconds between each time QTimeLine updates its current time.</para>
            <para>When updating the current time, QTimeLine will emit valueChanged() if the current value changed, and frameChanged() if the frame changed.</para>
            <para>By default, the interval is 40 ms, which corresponds to a rate of 25 updates per second.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTimeLine.CurrentTime">
            <summary>
            <para>This property holds the current time of the time line.</para>
            <para>When QTimeLine is in Running state, this value is updated continuously as a function of the duration and direction of the timeline. Otherwise, it is value that was current when stop() was called last, or the value set by setCurrentTime().</para>
            <para>By default, this property contains a value of 0.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTimeLine.direction">
            <summary>
            <para>This property holds the direction of the timeline when QTimeLine is in Running state.</para>
            <para>This direction indicates whether the time moves from 0 towards the timeline duration, or from the value of the duration and towards 0 after start() has been called.</para>
            <para>By default, this property is set to Forward.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTimeLine.LoopCount">
            <summary>
            <para>This property holds the number of times the timeline should loop before it's finished.</para>
            <para>A loop count of of 0 means that the timeline will loop forever.</para>
            <para>By default, this property contains a value of 1.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTimeLine.curveShape">
            <summary>
            <para>This property holds the shape of the timeline curve.</para>
            <para>The curve shape describes the relation between the time and value for the base implementation of valueForTime().</para>
            <para>If you have reimplemented valueForTime(), this value is ignored.</para>
            <para>By default, this property is set to EaseInOutCurve.</para>
            </summary>
        </member>
        <member name="T:QtCore.QTimeLine.CurveShape">
            <summary>
            <para>This enum describes the default shape of QTimeLine's value curve. The default, shape is EaseInOutCurve. The curve defines the relation between the value and the timeline.</para>
            <para>See also setCurveShape().</para>
            </summary>
        </member>
        <member name="F:QtCore.QTimeLine.CurveShape.CosineCurve">
            <summary>
            <para>The value grows cosinusoidally.</para>
            </summary>
        </member>
        <member name="F:QtCore.QTimeLine.CurveShape.EaseInCurve">
            <summary>
            <para>The value starts growing slowly, then increases in speed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QTimeLine.CurveShape.EaseInOutCurve">
            <summary>
            <para>The value starts growing slowly, then runs steadily, then grows slowly again.</para>
            </summary>
        </member>
        <member name="F:QtCore.QTimeLine.CurveShape.EaseOutCurve">
            <summary>
            <para>The value starts growing steadily, then ends slowly.</para>
            </summary>
        </member>
        <member name="F:QtCore.QTimeLine.CurveShape.LinearCurve">
            <summary>
            <para>The value grows linearly (e.g., if the duration is 1000 ms, the value at time 500 ms is 0.5).</para>
            </summary>
        </member>
        <member name="F:QtCore.QTimeLine.CurveShape.SineCurve">
            <summary>
            <para>The value grows sinusoidally.</para>
            </summary>
        </member>
        <member name="T:QtCore.QTimeLine.Direction">
            <summary>
            <para>This enum describes the direction of the timeline when in Running state.</para>
            <para>See also setDirection().</para>
            </summary>
        </member>
        <member name="F:QtCore.QTimeLine.Direction.Backward">
            <summary>
            <para>The current time of the timeline decreases with time (i.e., moves from the end / duration and towards 0).</para>
            </summary>
        </member>
        <member name="F:QtCore.QTimeLine.Direction.Forward">
            <summary>
            <para>The current time of the timeline increases with time (i.e., moves from 0 and towards the end / duration).</para>
            </summary>
        </member>
        <member name="T:QtCore.QTimeLine.State">
            <summary>
            <para>This enum describes the state of the timeline.</para>
            <para>See also state() and stateChanged().</para>
            </summary>
        </member>
        <member name="F:QtCore.QTimeLine.State.NotRunning">
            <summary>
            <para>The timeline is not running. This is the initial state of QTimeLine, and the state QTimeLine reenters when finished. The current time, frame and value remain unchanged until either setCurrentTime() is called, or the timeline is started by calling start().</para>
            </summary>
        </member>
        <member name="F:QtCore.QTimeLine.State.Paused">
            <summary>
            <para>The timeline is paused (i.e., temporarily suspended). Calling setPaused(false) will resume timeline activity.</para>
            </summary>
        </member>
        <member name="F:QtCore.QTimeLine.State.Running">
            <summary>
            <para>The timeline is running. While control is in the event loop, QTimeLine will update its current time at regular intervals, emitting valueChanged() and frameChanged() when appropriate.</para>
            </summary>
        </member>
        <member name="T:QtCore.QTimer">
            <summary>
            The QTimer class provides repetitive and single-shot timers.
            </summary>
            <remarks>
            <para></para>
            <para>The QTimer class provides a high-level programming interface for timers. To use it, create a QTimer, connect its timeout() signal to the appropriate slots, and call start(). From then on it will emit the timeout() signal at constant intervals.</para>
            <para>Example for a one second (1000 millisecond) timer (from the Analog Clock example):</para>
            <para>     QTimer *timer = new QTimer(this);</para>
            <para>     connect(timer, SIGNAL(timeout()), this, SLOT(update()));</para>
            <para>     timer-&amp;gt;start(1000);</para>
            <para>From then on, the update() slot is called every second.</para>
            <para>You can set a timer to time out only once by calling setSingleShot(true). You can also use the static QTimer::singleShot() function to call a slot after a specified interval:</para>
            <para>     QTimer::singleShot(200, this, SLOT(updateCaption()));</para>
            <para>In multithreaded applications, you can use QTimer in any thread that has an event loop. To start an event loop from a non-GUI thread, use QThread::exec(). Qt uses the timer's thread affinity to determine which thread will emit the timeout() signal. Because of this, you must start and stop the timer in its thread; it is not possible to start a timer from another thread.</para>
            <para>As a special case, a QTimer with a timeout of 0 will time out as soon as all the events in the window system's event queue have been processed. This can be used to do heavy work while providing a snappy user interface:</para>
            <para>     QTimer *timer = new QTimer(this);</para>
            <para>     connect(timer, SIGNAL(timeout()), this, SLOT(processOneThing()));</para>
            <para>     timer-&amp;gt;start();</para>
            <para>processOneThing() will from then on be called repeatedly. It should be written in such a way that it always returns quickly (typically after processing one data item) so that Qt can deliver events to widgets and stop the timer as soon as it has done all its work. This is the traditional way of implementing heavy work in GUI applications; multithreading is now becoming available on more and more platforms, and we expect that zero-millisecond QTimers will gradually be replaced by QThreads.</para>
            <para></para>
            <para>Accuracy and Timer Resolution</para>
            <para>Timers will never time out earlier than the specified timeout value and they are not guaranteed to time out at the exact value specified. In many situations, they may time out late by a period of time that depends on the accuracy of the system timers.</para>
            <para>The accuracy of timers depends on the underlying operating system and hardware. Most platforms support a resolution of 1 millisecond, though the accuracy of the timer will not equal this resolution in many real-world situations.</para>
            <para>If Qt is unable to deliver the requested number of timer clicks, it will silently discard some.</para>
            <para></para>
            <para>Alternatives to QTimer</para>
            <para>An alternative to using QTimer is to call QObject::startTimer() for your object and reimplement the QObject::timerEvent() event handler in your class (which must inherit QObject). The disadvantage is that timerEvent() does not support such high-level features as single-shot timers or signals.</para>
            <para>Another alternative to using QTimer is to use QBasicTimer. It is typically less cumbersome than using QObject::startTimer() directly. See Timers for an overview of all three approaches.</para>
            <para>Some operating systems limit the number of timers that may be used; Qt tries to work around these limitations.</para>
            <para></para>
            <para>See also QBasicTimer, QTimerEvent, QObject::timerEvent(), Timers, Analog Clock Example, and Wiggly Example.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QTimer.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs a timer with the given parent.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimer.singleShot(System.Int32,QtCore.QObject,System.String)">
            <summary>
            <para>This static function calls a slot after a given time interval.</para>
            <para>It is very convenient to use this function because you do not need to bother with a timerEvent or create a local QTimer object.</para>
            <para>Example:</para>
            <para> #include &lt;QApplication&gt;</para>
            <para> #include &lt;QTimer&gt;</para>
            <para></para>
            <para> int main(int argc, char *argv[])</para>
            <para> {</para>
            <para>     QApplication app(argc, argv);</para>
            <para>     QTimer::singleShot(600000, &amp;app, SLOT(quit()));</para>
            <para>     ...</para>
            <para>     return app.exec();</para>
            <para> }</para>
            <para>This sample program automatically terminates after 10 minutes (600,000 milliseconds).</para>
            <para>The receiver is the receiving object and the member is the slot. The time interval is msec milliseconds.</para>
            <para>Note: This function is reentrant.</para>
            <para>See also setSingleShot() and start().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimer.Start">
            <summary>
            <para>This function overloads start().</para>
            <para>Starts or restarts the timer with the timeout specified in interval.</para>
            <para>If the timer is already running, it will be stopped and restarted.</para>
            <para>If singleShot is true, the timer will be activated only once.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimer.Start(System.Int32)">
            <summary>
            <para>Starts or restarts the timer with a timeout interval of msec milliseconds.</para>
            <para>If the timer is already running, it will be stopped and restarted.</para>
            <para>If singleShot is true, the timer will be activated only once.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimer.Stop">
            <summary>
            <para>Stops the timer.</para>
            <para>See also start().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimer.OnTimeout">
            <summary>
            <para>This signal is emitted when the timer times out.</para>
            <para>See also interval, start(), and stop().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimer.OnTimerEvent(QtCore.QTimerEvent)">
            <summary>
            <para>Reimplemented from QObject::timerEvent().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimer.TimerId">
            <summary>
            <para>Returns the ID of the timer if the timer is running; otherwise returns -1.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimer.Finalize">
            <summary>
            <para>Destroys the timer.</para>
            </summary>
        </member>
        <member name="E:QtCore.QTimer.Timeout">
            <summary>
            <para>This signal is emitted when the timer times out.</para>
            <para>See also interval, start(), and stop().</para>
            </summary>
        </member>
        <member name="P:QtCore.QTimer.SingleShot">
            <summary>
            <para>This property holds whether the timer is a single-shot timer.</para>
            <para>A single-shot timer fires only once, non-single-shot timers fire every interval milliseconds.</para>
            </summary>
        </member>
        <member name="P:QtCore.QTimer.Interval">
            <summary>
            <para>This property holds the timeout interval in milliseconds.</para>
            <para>The default value for this property is 0. A QTimer with a timeout interval of 0 will time out as soon as all the events in the window system's event queue have been processed.</para>
            <para>Setting the interval of an active timer changes its timerId().</para>
            </summary>
        </member>
        <member name="P:QtCore.QTimer.Active">
            <summary>
            <para>This boolean property is true if the timer is running; otherwise false.</para>
            <para>This property was introduced in Qt 4.3.</para>
            </summary>
        </member>
        <member name="T:QtCore.QTimerEvent">
            <summary>
            The QTimerEvent class contains parameters that describe a timer event.
            </summary>
            <remarks>
            <para></para>
            <para>Timer events are sent at regular intervals to objects that have started one or more timers. Each timer has a unique identifier. A timer is started with QObject::startTimer().</para>
            <para>The QTimer class provides a high-level programming interface that uses signals instead of events. It also provides single-shot timers.</para>
            <para>The event handler QObject::timerEvent() receives timer events.</para>
            <para></para>
            <para>See also QTimer, QObject::timerEvent(), QObject::startTimer(), and QObject::killTimer().</para>
            </remarks>
        </member>
        <member name="M:QtCore.QTimerEvent.#ctor(QtCore.QTimerEvent)">
            <summary>
            <para>Constructs a timer event object with the timer identifier set to timerId.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimerEvent.#ctor(System.Int32)">
            <summary>
            <para>Constructs a timer event object with the timer identifier set to timerId.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTimerEvent.TimerId">
            <summary>
            <para>Returns the unique timer identifier, which is the same identifier as returned from QObject::startTimer().</para>
            </summary>
        </member>
        <member name="T:QtCore.QTranslator">
            <summary>
            The QTranslator class provides internationalization support for text output.
            </summary>
            <remarks>
            <para></para>
            <para>An object of this class contains a set of translations from a source language to a target language. QTranslator provides functions to look up translations in a translation file. Translation files are created using Qt Linguist.</para>
            <para>The most common use of QTranslator is to: load a translation file, install it using QApplication::installTranslator(), and use it via QObject::tr(). Here's the main() function from the Hello tr() example:</para>
            <para> int main(int argc, char *argv[])</para>
            <para> {</para>
            <para>     QApplication app(argc, argv);</para>
            <para></para>
            <para>     QTranslator translator;</para>
            <para>     translator.load(&amp;quot;hellotr_la&amp;quot;);</para>
            <para>     app.installTranslator(&amp;amp;translator);</para>
            <para></para>
            <para>     QPushButton hello(QPushButton::tr(&amp;quot;Hello world!&amp;quot;));</para>
            <para>     hello.resize(100, 30);</para>
            <para></para>
            <para>     hello.show();</para>
            <para>     return app.exec();</para>
            <para> }</para>
            <para>Note that the translator must be created before the application's widgets.</para>
            <para>Most applications will never need to do anything else with this class. The other functions provided by this class are useful for applications that work on translator files.</para>
            <para></para>
            <para>Looking up Translations</para>
            <para>It is possible to look up a translation using translate() (as tr() and QApplication::translate() do). The translate() function takes up to three parameters:</para>
            <para></para>
            <para>The context - usually the class name for the tr() caller.</para>
            <para>The source text - usually the argument to tr().</para>
            <para>The disambiguation - an optional string that helps disambiguate different uses of the same text in the same context.</para>
            <para></para>
            <para>For example, the &amp;quot;Cancel&amp;quot; in a dialog might have &amp;quot;Anuluj&amp;quot; when the program runs in Polish (in this case the source text would be &amp;quot;Cancel&amp;quot;). The context would (normally) be the dialog's class name; there would normally be no comment, and the translated text would be &amp;quot;Anuluj&amp;quot;.</para>
            <para>But it's not always so simple. The Spanish version of a printer dialog with settings for two-sided printing and binding would probably require both &amp;quot;Activado&amp;quot; and &amp;quot;Activada&amp;quot; as translations for &amp;quot;Enabled&amp;quot;. In this case the source text would be &amp;quot;Enabled&amp;quot; in both cases, and the context would be the dialog's class name, but the two items would have disambiguations such as &amp;quot;two-sided printing&amp;quot; for one and &amp;quot;binding&amp;quot; for the other. The disambiguation enables the translator to choose the appropriate gender for the Spanish version, and enables Qt to distinguish between translations.</para>
            <para></para>
            <para>Using Multiple Translations</para>
            <para>Multiple translation files can be installed in an application. Translations are searched for in the reverse order in which they were installed, so the most recently installed translation file is searched for translations first and the earliest translation file is searched last. The search stops as soon as a translation containing a matching string is found.</para>
            <para>This mechanism makes it possible for a specific translation to be &amp;quot;selected&amp;quot; or given priority over the others; simply uninstall the translator from the application by passing it to the QApplication::removeTranslator() function and reinstall it with QApplication::installTranslator(). It will then be the first translation to be searched for matching strings.</para>
            <para></para>
            <para>See also QApplication::installTranslator(), QApplication::removeTranslator(), QObject::tr(), QApplication::translate(), I18N Example, Hello tr() Example, Arrow Pad Example, and Troll Print Example.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QTranslator.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs an empty message file object with parent parent that is not connected to any file.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTranslator.IsEmpty">
            <summary>
            <para>Returns true if this translator is empty, otherwise returns false. This function works with stripped and unstripped translation files.</para>
            </summary>
        </member>
        <member name="M:QtCore.QTranslator.Load(QtCore.QLocale,System.String,System.String,System.String,System.String)">
            <summary>
            <para>Loads filename + suffix (&quot;.qm&quot; if the suffix is not specified), which may be an absolute file name or relative to directory. Returns true if the translation is successfully loaded; otherwise returns false.</para>
            <para>If directory is not specified, the directory of the application's executable is used (i.e., as applicationDirPath()).</para>
            <para>The previous contents of this translator object are discarded.</para>
            <para>If the file name does not exist, other file names are tried in the following order:</para>
            <para></para>
            <para>File name without suffix appended.</para>
            <para>File name with text after a character in search_delimiters stripped (&quot;_.&quot; is the default for search_delimiters if it is an empty string) and suffix.</para>
            <para>File name stripped without suffix appended.</para>
            <para>File name stripped further, etc.</para>
            <para></para>
            <para>For example, an application running in the fr_CA locale (French-speaking Canada) might call load(&quot;foo.fr_ca&quot;, &quot;/opt/foolib&quot;). load() would then try to open the first existing readable file from this list:</para>
            <para></para>
            <para>/opt/foolib/foo.fr_ca.qm</para>
            <para>/opt/foolib/foo.fr_ca</para>
            <para>/opt/foolib/foo.fr.qm</para>
            <para>/opt/foolib/foo.fr</para>
            <para>/opt/foolib/foo.qm</para>
            <para>/opt/foolib/foo</para>
            </summary>
        </member>
        <member name="M:QtCore.QTranslator.Load(QtCore.Pointer{System.Byte},System.Int32)">
            <summary>
            <para>Loads filename + suffix (&quot;.qm&quot; if the suffix is not specified), which may be an absolute file name or relative to directory. Returns true if the translation is successfully loaded; otherwise returns false.</para>
            <para>If directory is not specified, the directory of the application's executable is used (i.e., as applicationDirPath()).</para>
            <para>The previous contents of this translator object are discarded.</para>
            <para>If the file name does not exist, other file names are tried in the following order:</para>
            <para></para>
            <para>File name without suffix appended.</para>
            <para>File name with text after a character in search_delimiters stripped (&quot;_.&quot; is the default for search_delimiters if it is an empty string) and suffix.</para>
            <para>File name stripped without suffix appended.</para>
            <para>File name stripped further, etc.</para>
            <para></para>
            <para>For example, an application running in the fr_CA locale (French-speaking Canada) might call load(&quot;foo.fr_ca&quot;, &quot;/opt/foolib&quot;). load() would then try to open the first existing readable file from this list:</para>
            <para></para>
            <para>/opt/foolib/foo.fr_ca.qm</para>
            <para>/opt/foolib/foo.fr_ca</para>
            <para>/opt/foolib/foo.fr.qm</para>
            <para>/opt/foolib/foo.fr</para>
            <para>/opt/foolib/foo.qm</para>
            <para>/opt/foolib/foo</para>
            </summary>
        </member>
        <member name="M:QtCore.QTranslator.Load(System.String,System.String,System.String,System.String)">
            <summary>
            <para>Loads filename + suffix (&quot;.qm&quot; if the suffix is not specified), which may be an absolute file name or relative to directory. Returns true if the translation is successfully loaded; otherwise returns false.</para>
            <para>If directory is not specified, the directory of the application's executable is used (i.e., as applicationDirPath()).</para>
            <para>The previous contents of this translator object are discarded.</para>
            <para>If the file name does not exist, other file names are tried in the following order:</para>
            <para></para>
            <para>File name without suffix appended.</para>
            <para>File name with text after a character in search_delimiters stripped (&quot;_.&quot; is the default for search_delimiters if it is an empty string) and suffix.</para>
            <para>File name stripped without suffix appended.</para>
            <para>File name stripped further, etc.</para>
            <para></para>
            <para>For example, an application running in the fr_CA locale (French-speaking Canada) might call load(&quot;foo.fr_ca&quot;, &quot;/opt/foolib&quot;). load() would then try to open the first existing readable file from this list:</para>
            <para></para>
            <para>/opt/foolib/foo.fr_ca.qm</para>
            <para>/opt/foolib/foo.fr_ca</para>
            <para>/opt/foolib/foo.fr.qm</para>
            <para>/opt/foolib/foo.fr</para>
            <para>/opt/foolib/foo.qm</para>
            <para>/opt/foolib/foo</para>
            </summary>
        </member>
        <member name="M:QtCore.QTranslator.Translate(System.String,System.String,System.String)">
            <summary>
            <para>Returns the translation for the key (context, sourceText, disambiguation). If none is found, also tries (context, sourceText, &quot;&quot;). If that still fails, returns an empty string.</para>
            <para>If you need to programatically insert translations in to a QTranslator, this function can be reimplemented.</para>
            <para>See also load().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTranslator.Translate(System.String,System.String,System.String,System.Int32)">
            <summary>
            <para>This function overloads translate().</para>
            <para>Returns the translation for the key (context, sourceText, disambiguation). If none is found, also tries (context, sourceText, &quot;&quot;). If that still fails, returns an empty string.</para>
            <para>If n is not -1, it is used to choose an appropriate form for the translation (e.g. &quot;%n file found&quot; vs. &quot;%n files found&quot;).</para>
            <para>See also load().</para>
            </summary>
        </member>
        <member name="M:QtCore.QTranslator.Finalize">
            <summary>
            <para>Destroys the object and frees any allocated resources.</para>
            </summary>
        </member>
        <member name="T:QtCore.QUuid">
            <summary>
            The QUuid class stores a Universally Unique Identifier (UUID).
            </summary>
            <remarks>
            <para></para>
            <para>Using Universally Unique IDentifiers (UUID) is a standard way to uniquely identify entities in a distributed computing environment. A UUID is a 16-byte (128-bit) number generated by some algorithm that is meant to guarantee that the UUID will be unique in the distributed computing environment where it is used. The acronym GUID is often used instead, Globally Unique IDentifiers, but it refers to the same thing.</para>
            <para>Actually, the GUID is one variant of UUID. Multiple variants are in use. Each UUID contains a bit field that specifies which type (variant) of UUID it is. Call variant() to discover which type of UUID an instance of QUuid contains. It extracts the three most signifcant bits of byte 8 of the 16 bytes. In QUuid, byte 8 is QUuid::data4[0]. If you create instances of QUuid using the constructor that accepts all the numeric values as parameters, use the following table to set the three most significant bits of parameter b1, which becomes QUuid::data4[0] and contains the variant field in its three most significant bits. In the table, 'x' means don't care.</para>
            <para></para>
            <para>msb0msb1msb2Variant</para>
            <para>0	x	x	NCS (Network Computing System)</para>
            <para>1	0	x	DCE (Distributed Computing Environment)</para>
            <para>1	1	0	Microsoft (GUID)</para>
            <para>1	1	1	Reserved for future expansion</para>
            <para></para>
            <para>If variant() returns QUuid::DCE, the UUID also contains a version field in the four most significant bits of QUuid::data3, and you can call version() to discover which version your QUuid contains. If you create instances of QUuid using the constructor that accepts all the numeric values as parameters, use the following table to set the four most significant bits of parameter w2, which becomes QUuid::data3 and contains the version field in its four most significant bits.</para>
            <para></para>
            <para>msb0msb1msb2msb3Version</para>
            <para>0	0	0	1	Time</para>
            <para>0	0	1	0	Embedded POSIX</para>
            <para>0	0	1	1	Name</para>
            <para>0	1	0	0	Random</para>
            <para></para>
            <para>The field layouts for the DCE versions listed in the table above are specified in the Network Working Group UUID Specification.</para>
            <para>Most platforms provide a tool for generating new UUIDs, e.g. uuidgen and guidgen. You can also use createUuid(). UUIDs generated by createUuid() are of the random type. Their QUuid::Version bits are set to QUuid::Random, and their QUuid::Variant bits are set to QUuid::DCE. The rest of the UUID is composed of random numbers. Theoretically, this means there is a small chance that a UUID generated by createUuid() will not be unique. But it is a very small chance.</para>
            <para>UUIDs can be constructed from numeric values or from strings, or using the static createUuid() function. They can be converted to a string with toString(). UUIDs have a variant() and a version(), and null UUIDs return true from isNull().</para>
            </remarks>
        </member>
        <member name="M:QtCore.QUuid.#ctor">
            <summary>
            <para>Creates the null UUID. toString() will output the null UUID as &quot;{00000000-0000-0000-0000-000000000000}&quot;.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUuid.#ctor(QtCore.QByteArray)">
            <summary>
            <para>Creates a QUuid object from the QByteArray text, which must be formatted as five hex fields separated by '-', e.g., &quot;{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}&quot; where 'x' is a hex digit. The curly braces shown here are optional, but it is normal to include them. If the conversion fails, a null UUID is created. See toByteArray() for an explanation of how the five hex fields map to the public data members in QUuid.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also toByteArray() and QUuid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUuid.#ctor(QtCore.QUuid)">
            <summary>
            <para>Creates the null UUID. toString() will output the null UUID as &quot;{00000000-0000-0000-0000-000000000000}&quot;.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUuid.#ctor(System.String)">
            <summary>
            <para>Creates a QUuid object from the string text, which must be formatted as five hex fields separated by '-', e.g., &quot;{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}&quot; where 'x' is a hex digit. The curly braces shown here are optional, but it is normal to include them. If the conversion fails, a null UUID is created. See toString() for an explanation of how the five hex fields map to the public data members in QUuid.</para>
            <para>See also toString() and QUuid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUuid.#ctor(System.UInt32,System.UInt16,System.UInt16,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte)">
            <summary>
            <para>Creates the null UUID. toString() will output the null UUID as &quot;{00000000-0000-0000-0000-000000000000}&quot;.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUuid.CreateUuid">
            <summary>
            <para>On any platform other than Windows, this function returns a new UUID with variant QUuid::DCE and version QUuid::Random. If the /dev/urandom device exists, then the numbers used to construct the UUID will be of cryptographic quality, which will make the UUID unique. Otherwise, the numbers of the UUID will be obtained from the local pseudo-random number generator (qrand(), which is seeded by qsrand()) which is usually not of cryptograhic quality, which means that the UUID can't be guaranteed to be unique.</para>
            <para>On a Windows platform, a GUID is generated, which almost certainly will be unique, on this or any other system, networked or not.</para>
            <para>See also variant() and version().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUuid.FromRfc4122(QtCore.QByteArray)">
            <summary>
            <para>Creates a QUuid object from the binary representation of the UUID given by bytes, as specified by RFC 4122 section 4.1.2. See toRfc4122() for a further explanation of the order of bytes required.</para>
            <para>The byte array accepted is not a human readable format.</para>
            <para>If the conversion fails, a null UUID is created.</para>
            <para>This function was introduced in Qt 4.8.</para>
            <para>See also toRfc4122() and QUuid().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUuid.IsNull">
            <summary>
            <para>Returns true if this is the null UUID {00000000-0000-0000-0000-000000000000}; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUuid.op_Explicit(QtCore.QUuid)~System.String">
            <summary>
            <para>Returns the string representation of the uuid.</para>
            <para>See also toString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUuid.op_Inequality(QtCore.QUuid,QtCore.QUuid)">
            <summary>
            <para>Returns true if this QUuid and the other QUuid are different; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUuid.op_LessThan(QtCore.QUuid,QtCore.QUuid)">
            <summary>
            <para>Returns true if this QUuid has the same variant field as the other QUuid and is lexicographically before the other QUuid. If the other QUuid has a different variant field, the return value is determined by comparing the two variants.</para>
            <para>See also variant().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUuid.op_Equality(QtCore.QUuid,QtCore.QUuid)">
            <summary>
            <para>Returns true if this QUuid and the other QUuid are identical; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUuid.op_GreaterThan(QtCore.QUuid,QtCore.QUuid)">
            <summary>
            <para>Returns true if this QUuid has the same variant field as the other QUuid and is lexicographically after the other QUuid. If the other QUuid has a different variant field, the return value is determined by comparing the two variants.</para>
            <para>See also variant().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUuid.ToByteArray">
            <summary>
            <para>Returns the binary representation of this QUuid. The byte array is formatted as five hex fields separated by '-' and enclosed in curly braces, i.e., &quot;{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}&quot; where 'x' is a hex digit. From left to right, the five hex fields are obtained from the four public data members in QUuid as follows:</para>
            <para></para>
            <para>Field #Source</para>
            <para>1	data1</para>
            <para>2	data2</para>
            <para>3	data3</para>
            <para>4	data4[0] .. data4[1]</para>
            <para>5	data4[2] .. data4[7]</para>
            <para></para>
            <para>This function was introduced in Qt 4.8.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUuid.ToRfc4122">
            <summary>
            <para>Returns the binary representation of this QUuid. The byte array is in big endian format, and formatted according to RFC 4122, section 4.1.2 - &quot;Layout and byte order&quot;.</para>
            <para>The order is as follows:</para>
            <para></para>
            <para>Field #Source</para>
            <para>1	data1</para>
            <para>2	data2</para>
            <para>3	data3</para>
            <para>4	data4[0] .. data4[7]</para>
            <para></para>
            <para>This function was introduced in Qt 4.8.</para>
            </summary>
        </member>
        <member name="M:QtCore.QUuid.ToString">
            <summary>
            <para>Returns the string representation of this QUuid. The string is formatted as five hex fields separated by '-' and enclosed in curly braces, i.e., &quot;{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}&quot; where 'x' is a hex digit. From left to right, the five hex fields are obtained from the four public data members in QUuid as follows:</para>
            <para></para>
            <para>Field #Source</para>
            <para>1	data1</para>
            <para>2	data2</para>
            <para>3	data3</para>
            <para>4	data4[0] .. data4[1]</para>
            <para>5	data4[2] .. data4[7]</para>
            </summary>
        </member>
        <member name="M:QtCore.QUuid.variant">
            <summary>
            <para>Returns the value in the variant field of the UUID. If the return value is QUuid::DCE, call version() to see which layout it uses. The null UUID is considered to be of an unknown variant.</para>
            <para>See also version().</para>
            </summary>
        </member>
        <member name="M:QtCore.QUuid.version">
            <summary>
            <para>Returns the version field of the UUID, if the UUID's variant field is QUuid::DCE. Otherwise it returns QUuid::VerUnknown.</para>
            <para>See also variant().</para>
            </summary>
        </member>
        <member name="T:QtCore.QUuid.Variant">
            <summary>
            <para>This enum defines the values used in the variant field of the UUID. The value in the variant field determines the layout of the 128-bit value.</para>
            </summary>
        </member>
        <member name="F:QtCore.QUuid.Variant.DCE">
            <summary>
            <para>Distributed Computing Environment, the scheme used by QUuid</para>
            </summary>
        </member>
        <member name="F:QtCore.QUuid.Variant.Microsoft">
            <summary>
            <para>Reserved for Microsoft backward compatibility (GUID)</para>
            </summary>
        </member>
        <member name="F:QtCore.QUuid.Variant.NCS">
            <summary>
            <para>Reserved for NCS (Network Computing System) backward compatibility</para>
            </summary>
        </member>
        <member name="F:QtCore.QUuid.Variant.Reserved">
            <summary>
            <para>Reserved for future definition</para>
            </summary>
        </member>
        <member name="F:QtCore.QUuid.Variant.VarUnknown">
            <summary>
            <para>Variant is unknown</para>
            </summary>
        </member>
        <member name="T:QtCore.QUuid.Version">
            <summary>
            <para>This enum defines the values used in the version field of the UUID. The version field is meaningful only if the value in the variant field is QUuid::DCE.</para>
            </summary>
        </member>
        <member name="F:QtCore.QUuid.Version.EmbeddedPOSIX">
            <summary>
            <para>DCE Security version, with embedded POSIX UUIDs</para>
            </summary>
        </member>
        <member name="F:QtCore.QUuid.Version.Name">
            <summary>
            <para>Name-based, by using values from a name for all sections</para>
            </summary>
        </member>
        <member name="F:QtCore.QUuid.Version.Random">
            <summary>
            <para>Random-based, by using random numbers for all sections</para>
            </summary>
        </member>
        <member name="F:QtCore.QUuid.Version.Time">
            <summary>
            <para>Time-based, by using timestamp, clock sequence, and MAC network card address (if available) for the node sections</para>
            </summary>
        </member>
        <member name="F:QtCore.QUuid.Version.VerUnknown">
            <summary>
            <para>Version is unknown</para>
            </summary>
        </member>
        <member name="T:QtCore.QVariant">
            <summary>
            The QVariant class acts like a union for the most common Qt data types.
            </summary>
            <remarks>
            <para></para>
            <para>Because C++ forbids unions from including types that have non-default constructors or destructors, most interesting Qt classes cannot be used in unions. Without QVariant, this would be a problem for QObject::property() and for database work, etc.</para>
            <para>A QVariant object holds a single value of a single type() at a time. (Some type()s are multi-valued, for example a string list.) You can find out what type, T, the variant holds, convert it to a different type using convert(), get its value using one of the toT() functions (e.g., toSize()) and check whether the type can be converted to a particular type using canConvert().</para>
            <para>The methods named toT() (e.g., toInt(), toString()) are const. If you ask for the stored type, they return a copy of the stored object. If you ask for a type that can be generated from the stored type, toT() copies and converts and leaves the object itself unchanged. If you ask for a type that cannot be generated from the stored type, the result depends on the type; see the function documentation for details.</para>
            <para>Here is some example code to demonstrate the use of QVariant:</para>
            <para> QDataStream out(...);</para>
            <para> QVariant v(123);                // The variant now contains an int</para>
            <para> int x = v.toInt();              // x = 123</para>
            <para> out &amp;lt;&amp;lt; v;                       // Writes a type tag and an int to out</para>
            <para> v = QVariant(&amp;quot;hello&amp;quot;);          // The variant now contains a QByteArray</para>
            <para> v = QVariant(tr(&amp;quot;hello&amp;quot;));      // The variant now contains a QString</para>
            <para> int y = v.toInt();              // y = 0 since v cannot be converted to an int</para>
            <para> QString s = v.toString();       // s = tr(&amp;quot;hello&amp;quot;)  (see QObject::tr())</para>
            <para> out &amp;lt;&amp;lt; v;                       // Writes a type tag and a QString to out</para>
            <para> ...</para>
            <para> QDataStream in(...);            // (opening the previously written stream)</para>
            <para> in &amp;gt;&amp;gt; v;                        // Reads an Int variant</para>
            <para> int z = v.toInt();              // z = 123</para>
            <para> qDebug(&amp;quot;Type is %s&amp;quot;,            // prints &amp;quot;Type is int&amp;quot;</para>
            <para>         v.typeName());</para>
            <para> v = v.toInt() + 100;            // The variant now hold the value 223</para>
            <para> v = QVariant(QStringList());</para>
            <para>You can even store QList&amp;lt;QVariant&amp;gt; and QMap&amp;lt;QString, QVariant&amp;gt; values in a variant, so you can easily construct arbitrarily complex data structures of arbitrary types. This is very powerful and versatile, but may prove less memory and speed efficient than storing specific types in standard data structures.</para>
            <para>QVariant also supports the notion of null values, where you can have a defined type with no value set. However, note that QVariant types can only be cast when they have had a value set.</para>
            <para> QVariant x, y(QString()), z(QString(&amp;quot;&amp;quot;));</para>
            <para> x.convert(QVariant::Int);</para>
            <para> // x.isNull() == true</para>
            <para> // y.isNull() == true, z.isNull() == false</para>
            <para>QVariant can be extended to support other types than those mentioned in the Type enum. See the QMetaType documentation for details.</para>
            <para></para>
            <para>A Note on GUI Types</para>
            <para>Because QVariant is part of the QtCore library, it cannot provide conversion functions to data types defined in QtGui, such as QColor, QImage, and QPixmap. In other words, there is no toColor() function. Instead, you can use the QVariant::value() or the qvariant_cast() template function. For example:</para>
            <para> QVariant variant;</para>
            <para> ...</para>
            <para> QColor color = variant.value&amp;lt;QColor&amp;gt;();</para>
            <para>The inverse conversion (e.g., from QColor to QVariant) is automatic for all data types supported by QVariant, including GUI-related types:</para>
            <para> QColor color = palette().background().color();</para>
            <para> QVariant variant = color;</para>
            <para></para>
            <para>Using canConvert() and convert() Consecutively</para>
            <para>When using canConvert() and convert() consecutively, it is possible for canConvert() to return true, but convert() to return false. This is typically because canConvert() only reports the general ability of QVariant to convert between types given suitable data; it is still possible to supply data which cannot actually be converted.</para>
            <para>For example, canConvert() would return true when called on a variant containing a string because, in principle, QVariant is able to convert strings of numbers to integers. However, if the string contains non-numeric characters, it cannot be converted to an integer, and any attempt to convert it will fail. Hence, it is important to have both functions return true for a successful conversion.</para>
            <para></para>
            <para>See also QMetaType.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QVariant.#ctor">
            <summary>
            <para>Constructs an invalid variant.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(System.Object)">
            <summary>
            <para>Constructs a copy of the variant, p, passed as the argument to this constructor.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(QtCore.QDataStream)">
            <summary>
            <para>Reads the variant from the data stream, s.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(QtCore.QByteArray)">
            <summary>
            <para>Constructs a new variant with a bytearray value, val.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(QtCore.QBitArray)">
            <summary>
            <para>Constructs a new variant with a bitarray value, val.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(QtCore.QLatin1String)">
            <summary>
            <para>Constructs a new variant with a string value, val.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(QtCore.QChar)">
            <summary>
            <para>Constructs a new variant with a char value, c.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(QtCore.QDate)">
            <summary>
            <para>Constructs a new variant with a date value, val.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(QtCore.QTime)">
            <summary>
            <para>Constructs a new variant with a time value, val.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(QtCore.QDateTime)">
            <summary>
            <para>Constructs a new variant with a date/time value, val.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(QtCore.QSize)">
            <summary>
            <para>Constructs a new variant with a size value of val.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(QtCore.QSizeF)">
            <summary>
            <para>Constructs a new variant with a size value of val.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(QtCore.QPoint)">
            <summary>
            <para>Constructs a new variant with a point value of val.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(QtCore.QPointF)">
            <summary>
            <para>Constructs a new variant with a point value of val.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(QtCore.QLine)">
            <summary>
            <para>Constructs a new variant with a line value of val.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(QtCore.QLineF)">
            <summary>
            <para>Constructs a new variant with a line value of val.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(QtCore.QRect)">
            <summary>
            <para>Constructs a new variant with a rect value of val.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(QtCore.QRectF)">
            <summary>
            <para>Constructs a new variant with a rect value of val.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(QtCore.QUrl)">
            <summary>
            <para>Constructs a new variant with a url value of val.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(QtCore.QLocale)">
            <summary>
            <para>Constructs a new variant with a locale value, l.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(QtCore.QRegExp)">
            <summary>
            <para>Constructs a new variant with the regexp value regExp.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(QtCore.QEasingCurve)">
            <summary>
            <para>Constructs a new variant with an easing curve value, val.</para>
            <para>This function was introduced in Qt 4.7.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(QtCore.QVariant.Type)">
            <summary>
            <para>Constructs a null variant of type type.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(System.Int32)">
            <summary>
            <para>Constructs a new variant with an integer value, val.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(System.UInt32)">
            <summary>
            <para>Constructs an invalid variant.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(System.Int64)">
            <summary>
            <para>Constructs an invalid variant.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(System.UInt64)">
            <summary>
            <para>Constructs an invalid variant.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(System.Boolean)">
            <summary>
            <para>Constructs a new variant with a boolean value, val.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(System.Double)">
            <summary>
            <para>Constructs a new variant with a floating point value, val.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(System.Single)">
            <summary>
            <para>Constructs a new variant with a floating point value, val.</para>
            <para>This function was introduced in Qt 4.6.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(System.String)">
            <summary>
            <para>Constructs a new variant with a string value, val.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(QtCore.Qt.GlobalColor)">
            <summary>
            <para>Constructs a new variant of type QVariant::Color and initializes it with color.</para>
            <para>This is a convenience constructor that allows QVariant(Qt::blue); to create a valid QVariant storing a QColor.</para>
            <para>Note: This constructor will assert if the application does not link to the Qt GUI library.</para>
            <para>This function was introduced in Qt 4.2.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(System.Collections.Generic.List{System.String})">
            <summary>
            <para>Constructs a new variant with a string list value, val.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(System.Collections.Generic.List{System.Object})">
            <summary>
            <para>Constructs a new variant with a list value, val.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.#ctor(System.Collections.Generic.Dictionary{System.String,System.Object})">
            <summary>
            <para>Constructs an invalid variant.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.CanConvert(QtCore.QVariant.Type)">
            <summary>
            <para>Returns true if the variant's type can be cast to the requested type, t. Such casting is done automatically when calling the toInt(), toBool(), ... methods.</para>
            <para>The following casts are done automatically:</para>
            <para></para>
            <para>TypeAutomatically Cast To</para>
            <para>Bool	Char, Double, Int, LongLong, String, UInt, ULongLong</para>
            <para>ByteArray	Double, Int, LongLong, String, UInt, ULongLong</para>
            <para>Char	Bool, Int, UInt, LongLong, ULongLong</para>
            <para>Color	String</para>
            <para>Date	DateTime, String</para>
            <para>DateTime	Date, String, Time</para>
            <para>Double	Bool, Int, LongLong, String, UInt, ULongLong</para>
            <para>Font	String</para>
            <para>Int	Bool, Char, Double, LongLong, String, UInt, ULongLong</para>
            <para>KeySequence	Int, String</para>
            <para>List	StringList (if the list's items can be converted to strings)</para>
            <para>LongLong	Bool, ByteArray, Char, Double, Int, String, UInt, ULongLong</para>
            <para>Point	PointF</para>
            <para>Rect	RectF</para>
            <para>String	Bool, ByteArray, Char, Color, Date, DateTime, Double, Font, Int, KeySequence, LongLong, StringList, Time, UInt, ULongLong</para>
            <para>StringList	List, String (if the list contains exactly one item)</para>
            <para>Time	String</para>
            <para>UInt	Bool, Char, Double, Int, LongLong, String, ULongLong</para>
            <para>ULongLong	Bool, Char, Double, Int, LongLong, String, UInt</para>
            <para></para>
            <para>See also convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.Clear">
            <summary>
            <para>Convert this variant to type Invalid and free up any resources used.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.Convert(QtCore.QVariant.Type)">
            <summary>
            <para>Casts the variant to the requested type, t. If the cast cannot be done, the variant is cleared. Returns true if the current type of the variant was successfully cast; otherwise returns false.</para>
            <para>Warning: For historical reasons, converting a null QVariant results in a null value of the desired type (e.g., an empty string for QString) and a result of false.</para>
            <para>See also canConvert() and clear().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.IsNull">
            <summary>
            <para>Returns true if this is a NULL variant, false otherwise.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.IsValid">
            <summary>
            <para>Returns true if the storage type of this variant is not QVariant::Invalid; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.NameToType(System.String)">
            <summary>
            <para>Converts the string representation of the storage type given in name, to its enum representation.</para>
            <para>If the string representation cannot be converted to any enum representation, the variant is set to Invalid.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.Swap(System.Object)">
            <summary>
            <para>Swaps variant other with this variant. This operation is very fast and never fails.</para>
            <para>This function was introduced in Qt 4.8.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToBitArray">
            <summary>
            <para>Returns the variant as a QBitArray if the variant has type() BitArray; otherwise returns an empty bit array.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToBool">
            <summary>
            <para>Returns the variant as a bool if the variant has type() Bool.</para>
            <para>Returns true if the variant has type() Bool, Char, Double, Int, LongLong, UInt, or ULongLong and the value is non-zero, or if the variant has type String or ByteArray and its lower-case content is not empty, &quot;0&quot; or &quot;false&quot;; otherwise returns false.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToByteArray">
            <summary>
            <para>Returns the variant as a QByteArray if the variant has type() ByteArray or String (converted using QString::fromAscii()); otherwise returns an empty byte array.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToChar">
            <summary>
            <para>Returns the variant as a QChar if the variant has type() Char, Int, or UInt; otherwise returns an invalid QChar.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToDate">
            <summary>
            <para>Returns the variant as a QDate if the variant has type() Date, DateTime, or String; otherwise returns an invalid date.</para>
            <para>If the type() is String, an invalid date will be returned if the string cannot be parsed as a Qt::ISODate format date.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToDateTime">
            <summary>
            <para>Returns the variant as a QDateTime if the variant has type() DateTime, Date, or String; otherwise returns an invalid date/time.</para>
            <para>If the type() is String, an invalid date/time will be returned if the string cannot be parsed as a Qt::ISODate format date/time.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToDouble">
            <summary>
            <para>Returns the variant as a double if the variant has type() Double, QMetaType::Float, Bool, ByteArray, Int, LongLong, String, UInt, or ULongLong; otherwise returns 0.0.</para>
            <para>If ok is non-null: *ok is set to true if the value could be converted to a double; otherwise *ok is set to false.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToDouble(System.Boolean@)">
            <summary>
            <para>Returns the variant as a double if the variant has type() Double, QMetaType::Float, Bool, ByteArray, Int, LongLong, String, UInt, or ULongLong; otherwise returns 0.0.</para>
            <para>If ok is non-null: *ok is set to true if the value could be converted to a double; otherwise *ok is set to false.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToEasingCurve">
            <summary>
            <para>Returns the variant as a QEasingCurve if the variant has type() EasingCurve; otherwise returns a default easing curve.</para>
            <para>This function was introduced in Qt 4.7.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToFloat">
            <summary>
            <para>Returns the variant as a float if the variant has type() Double, QMetaType::Float, Bool, ByteArray, Int, LongLong, String, UInt, or ULongLong; otherwise returns 0.0.</para>
            <para>If ok is non-null: *ok is set to true if the value could be converted to a double; otherwise *ok is set to false.</para>
            <para>This function was introduced in Qt 4.6.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToFloat(System.Boolean@)">
            <summary>
            <para>Returns the variant as a float if the variant has type() Double, QMetaType::Float, Bool, ByteArray, Int, LongLong, String, UInt, or ULongLong; otherwise returns 0.0.</para>
            <para>If ok is non-null: *ok is set to true if the value could be converted to a double; otherwise *ok is set to false.</para>
            <para>This function was introduced in Qt 4.6.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToHash">
            <summary>
            <para>Returns the variant as a QHash&lt;QString, QVariant&gt; if the variant has type() Hash; otherwise returns an empty map.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToInt">
            <summary>
            <para>Returns the variant as an int if the variant has type() Int, Bool, ByteArray, Char, Double, LongLong, String, UInt, or ULongLong; otherwise returns 0.</para>
            <para>If ok is non-null: *ok is set to true if the value could be converted to an int; otherwise *ok is set to false.</para>
            <para>Warning: If the value is convertible to a LongLong but is too large to be represented in an int, the resulting arithmetic overflow will not be reflected in ok. A simple workaround is to use QString::toInt(). Fixing this bug has been postponed to Qt 5 in order to avoid breaking existing code.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToInt(System.Boolean@)">
            <summary>
            <para>Returns the variant as an int if the variant has type() Int, Bool, ByteArray, Char, Double, LongLong, String, UInt, or ULongLong; otherwise returns 0.</para>
            <para>If ok is non-null: *ok is set to true if the value could be converted to an int; otherwise *ok is set to false.</para>
            <para>Warning: If the value is convertible to a LongLong but is too large to be represented in an int, the resulting arithmetic overflow will not be reflected in ok. A simple workaround is to use QString::toInt(). Fixing this bug has been postponed to Qt 5 in order to avoid breaking existing code.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToLine">
            <summary>
            <para>Returns the variant as a QLine if the variant has type() Line; otherwise returns an invalid QLine.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToLineF">
            <summary>
            <para>Returns the variant as a QLineF if the variant has type() LineF; otherwise returns an invalid QLineF.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToList">
            <summary>
            <para>Returns the variant as a QVariantList if the variant has type() List or StringList; otherwise returns an empty list.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToLocale">
            <summary>
            <para>Returns the variant as a QLocale if the variant has type() Locale; otherwise returns an invalid QLocale.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToLongLong">
            <summary>
            <para>Returns the variant as a long long int if the variant has type() LongLong, Bool, ByteArray, Char, Double, Int, String, UInt, or ULongLong; otherwise returns 0.</para>
            <para>If ok is non-null: *ok is set to true if the value could be converted to an int; otherwise *ok is set to false.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToLongLong(System.Boolean@)">
            <summary>
            <para>Returns the variant as a long long int if the variant has type() LongLong, Bool, ByteArray, Char, Double, Int, String, UInt, or ULongLong; otherwise returns 0.</para>
            <para>If ok is non-null: *ok is set to true if the value could be converted to an int; otherwise *ok is set to false.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToMap">
            <summary>
            <para>Returns the variant as a QMap&lt;QString, QVariant&gt; if the variant has type() Map; otherwise returns an empty map.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToPoint">
            <summary>
            <para>Returns the variant as a QPoint if the variant has type() Point or PointF; otherwise returns a null QPoint.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToPointF">
            <summary>
            <para>Returns the variant as a QPointF if the variant has type() Point or PointF; otherwise returns a null QPointF.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToReal">
            <summary>
            <para>Returns the variant as a qreal if the variant has type() Double, QMetaType::Float, Bool, ByteArray, Int, LongLong, String, UInt, or ULongLong; otherwise returns 0.0.</para>
            <para>If ok is non-null: *ok is set to true if the value could be converted to a double; otherwise *ok is set to false.</para>
            <para>This function was introduced in Qt 4.6.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToReal(System.Boolean@)">
            <summary>
            <para>Returns the variant as a qreal if the variant has type() Double, QMetaType::Float, Bool, ByteArray, Int, LongLong, String, UInt, or ULongLong; otherwise returns 0.0.</para>
            <para>If ok is non-null: *ok is set to true if the value could be converted to a double; otherwise *ok is set to false.</para>
            <para>This function was introduced in Qt 4.6.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToRect">
            <summary>
            <para>Returns the variant as a QRect if the variant has type() Rect; otherwise returns an invalid QRect.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToRectF">
            <summary>
            <para>Returns the variant as a QRectF if the variant has type() Rect or RectF; otherwise returns an invalid QRectF.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToRegExp">
            <summary>
            <para>Returns the variant as a QRegExp if the variant has type() RegExp; otherwise returns an empty QRegExp.</para>
            <para>This function was introduced in Qt 4.1.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToSize">
            <summary>
            <para>Returns the variant as a QSize if the variant has type() Size; otherwise returns an invalid QSize.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToSizeF">
            <summary>
            <para>Returns the variant as a QSizeF if the variant has type() SizeF; otherwise returns an invalid QSizeF.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToString">
            <summary>
            <para>Returns the variant as a QString if the variant has type() String, Bool, ByteArray, Char, Date, DateTime, Double, Int, LongLong, StringList, Time, UInt, or ULongLong; otherwise returns an empty string.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToStringList">
            <summary>
            <para>Returns the variant as a QStringList if the variant has type() StringList, String, or List of a type that can be converted to QString; otherwise returns an empty list.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToTime">
            <summary>
            <para>Returns the variant as a QTime if the variant has type() Time, DateTime, or String; otherwise returns an invalid time.</para>
            <para>If the type() is String, an invalid time will be returned if the string cannot be parsed as a Qt::ISODate format time.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToUInt">
            <summary>
            <para>Returns the variant as an unsigned int if the variant has type() UInt, Bool, ByteArray, Char, Double, Int, LongLong, String, or ULongLong; otherwise returns 0.</para>
            <para>If ok is non-null: *ok is set to true if the value could be converted to an unsigned int; otherwise *ok is set to false.</para>
            <para>Warning: If the value is convertible to a ULongLong but is too large to be represented in an unsigned int, the resulting arithmetic overflow will not be reflected in ok. A simple workaround is to use QString::toUInt(). Fixing this bug has been postponed to Qt 5 in order to avoid breaking existing code.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToUInt(System.Boolean@)">
            <summary>
            <para>Returns the variant as an unsigned int if the variant has type() UInt, Bool, ByteArray, Char, Double, Int, LongLong, String, or ULongLong; otherwise returns 0.</para>
            <para>If ok is non-null: *ok is set to true if the value could be converted to an unsigned int; otherwise *ok is set to false.</para>
            <para>Warning: If the value is convertible to a ULongLong but is too large to be represented in an unsigned int, the resulting arithmetic overflow will not be reflected in ok. A simple workaround is to use QString::toUInt(). Fixing this bug has been postponed to Qt 5 in order to avoid breaking existing code.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToULongLong">
            <summary>
            <para>Returns the variant as as an unsigned long long int if the variant has type() ULongLong, Bool, ByteArray, Char, Double, Int, LongLong, String, or UInt; otherwise returns 0.</para>
            <para>If ok is non-null: *ok is set to true if the value could be converted to an int; otherwise *ok is set to false.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToULongLong(System.Boolean@)">
            <summary>
            <para>Returns the variant as as an unsigned long long int if the variant has type() ULongLong, Bool, ByteArray, Char, Double, Int, LongLong, String, or UInt; otherwise returns 0.</para>
            <para>If ok is non-null: *ok is set to true if the value could be converted to an int; otherwise *ok is set to false.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.ToUrl">
            <summary>
            <para>Returns the variant as a QUrl if the variant has type() Url; otherwise returns an invalid QUrl.</para>
            <para>See also canConvert() and convert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.type">
            <summary>
            <para>Returns the storage type of the value stored in the variant. Although this function is declared as returning QVariant::Type, the return value should be interpreted as QMetaType::Type. In particular, QVariant::UserType is returned here only if the value is equal or greater than QMetaType::User.</para>
            <para>Note that return values in the ranges QVariant::Char through QVariant::RegExp and QVariant::Font through QVariant::Transform correspond to the values in the ranges QMetaType::QChar through QMetaType::QRegExp and QMetaType::QFont through QMetaType::QQuaternion.</para>
            <para>Pay particular attention when working with char and QChar variants. Note that there is no QVariant constructor specifically for type char, but there is one for QChar. For a variant of type QChar, this function returns QVariant::Char, which is the same as QMetaType::QChar, but for a variant of type char, this function returns QMetaType::Char, which is not the same as QVariant::Char.</para>
            <para>Also note that the types void*, long, short, unsigned long, unsigned short, unsigned char, float, QObject*, and QWidget* are represented in QMetaType::Type but not in QVariant::Type, and they can be returned by this function. However, they are considered to be user defined types when tested against QVariant::Type.</para>
            <para>To test whether an instance of QVariant contains a data type that is compatible with the data type you are interested in, use canConvert().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.TypeName">
            <summary>
            <para>Returns the name of the type stored in the variant. The returned strings describe the C++ datatype used to store the data: for example, &quot;QFont&quot;, &quot;QString&quot;, or &quot;QVariantList&quot;. An Invalid variant returns 0.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.TypeToName(QtCore.QVariant.Type)">
            <summary>
            <para>Converts the enum representation of the storage type, typ, to its string representation.</para>
            <para>Returns a null pointer if the type is QVariant::Invalid or doesn't exist.</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.UserType">
            <summary>
            <para>Returns the storage type of the value stored in the variant. For non-user types, this is the same as type().</para>
            <para>See also type().</para>
            </summary>
        </member>
        <member name="M:QtCore.QVariant.Finalize">
            <summary>
            <para>Destroys the QVariant and the contained object.</para>
            <para>Note that subclasses that reimplement clear() should reimplement the destructor to call clear(). This destructor calls clear(), but because it is the destructor, QVariant::clear() is called rather than a subclass's clear().</para>
            </summary>
        </member>
        <member name="T:QtCore.QVariant.Type">
            <summary>
            <para>This enum type defines the types of variable that a QVariant can contain.</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.BitArray">
            <summary>
            <para>A QBitArray</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Bitmap">
            <summary>
            <para>A QBitmap</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Bool">
            <summary>
            <para>A bool</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Brush">
            <summary>
            <para>A QBrush</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.ByteArray">
            <summary>
            <para>A QByteArray</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Char">
            <summary>
            <para>A QChar</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Color">
            <summary>
            <para>A QColor</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Cursor">
            <summary>
            <para>A QCursor</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Date">
            <summary>
            <para>A QDate</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.DateTime">
            <summary>
            <para>A QDateTime</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Double">
            <summary>
            <para>A double</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.EasingCurve">
            <summary>
            <para>A QEasingCurve</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Font">
            <summary>
            <para>A QFont</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Hash">
            <summary>
            <para>A QVariantHash</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Icon">
            <summary>
            <para>A QIcon</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Image">
            <summary>
            <para>A QImage</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Int">
            <summary>
            <para>An int</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Invalid">
            <summary>
            <para>No type</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.KeySequence">
            <summary>
            <para>A QKeySequence</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Line">
            <summary>
            <para>A QLine</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.LineF">
            <summary>
            <para>A QLineF</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.List">
            <summary>
            <para>A QVariantList</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Locale">
            <summary>
            <para>A QLocale</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.LongLong">
            <summary>
            <para>A qlonglong</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Map">
            <summary>
            <para>A QVariantMap</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Matrix">
            <summary>
            <para>A QMatrix(obsolete)</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Matrix4x4">
            <summary>
            <para>A QMatrix4x4</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Palette">
            <summary>
            <para>A QPalette</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Pen">
            <summary>
            <para>A QPen</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Pixmap">
            <summary>
            <para>A QPixmap</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Point">
            <summary>
            <para>A QPoint</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.PointF">
            <summary>
            <para>A QPointF</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Polygon">
            <summary>
            <para>A QPolygon</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Quaternion">
            <summary>
            <para>A QQuaternion</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Rect">
            <summary>
            <para>A QRect</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.RectF">
            <summary>
            <para>A QRectF</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.RegExp">
            <summary>
            <para>A QRegExp</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Region">
            <summary>
            <para>A QRegion</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Size">
            <summary>
            <para>A QSize</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.SizeF">
            <summary>
            <para>A QSizeF</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.SizePolicy">
            <summary>
            <para>A QSizePolicy</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.String">
            <summary>
            <para>A QString</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.StringList">
            <summary>
            <para>A QStringList</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.TextFormat">
            <summary>
            <para>A QTextFormat</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.TextLength">
            <summary>
            <para>A QTextLength</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Time">
            <summary>
            <para>A QTime</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Transform">
            <summary>
            <para>A QTransform</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.UInt">
            <summary>
            <para>A uint</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.ULongLong">
            <summary>
            <para>A qulonglong</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Url">
            <summary>
            <para>A QUrl</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.UserType">
            <summary>
            <para>Base value for user-defined types.</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Vector2D">
            <summary>
            <para>A QVector2D</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Vector3D">
            <summary>
            <para>A QVector3D</para>
            </summary>
        </member>
        <member name="F:QtCore.QVariant.Type.Vector4D">
            <summary>
            <para>A QVector4D</para>
            </summary>
        </member>
        <member name="T:QtCore.QWriteLocker">
            <summary>
            The QWriteLocker class is a convenience class that simplifies locking and unlocking read-write locks for write access.
            </summary>
            <remarks>
            <para></para>
            <para>The purpose of QWriteLocker (and QReadLocker is to simplify QReadWriteLock locking and unlocking. Locking and unlocking statements or in exception handling code is error-prone and difficult to debug. QWriteLocker can be used in such situations to ensure that the state of the lock is always well-defined.</para>
            <para>Here's an example that uses QWriteLocker to lock and unlock a read-write lock for writing:</para>
            <para> QReadWriteLock lock;</para>
            <para></para>
            <para> void writeData(const QByteArray &amp;amp;data)</para>
            <para> {</para>
            <para>     QWriteLocker locker(&amp;amp;lock);</para>
            <para>     ...</para>
            <para> }</para>
            <para>It is equivalent to the following code:</para>
            <para> QReadWriteLock lock;</para>
            <para></para>
            <para> void writeData(const QByteArray &amp;amp;data)</para>
            <para> {</para>
            <para>     lock.lockForWrite();</para>
            <para>     ...</para>
            <para>     lock.unlock();</para>
            <para> }</para>
            <para>The QMutexLocker documentation shows examples where the use of a locker object greatly simplifies programming.</para>
            <para></para>
            <para>See also QReadLocker and QReadWriteLock.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QWriteLocker.#ctor(QtCore.QReadWriteLock)">
            <summary>
            <para>Constructs a QWriteLocker and locks lock for writing. The lock will be unlocked when the QWriteLocker is destroyed. If lock is zero, QWriteLocker does nothing.</para>
            <para>See also QReadWriteLock::lockForWrite().</para>
            </summary>
        </member>
        <member name="M:QtCore.QWriteLocker.ReadWriteLock">
            <summary>
            <para>Returns a pointer to the read-write lock that was passed to the constructor.</para>
            </summary>
        </member>
        <member name="M:QtCore.QWriteLocker.Relock">
            <summary>
            <para>Relocks an unlocked lock.</para>
            <para>See also unlock().</para>
            </summary>
        </member>
        <member name="M:QtCore.QWriteLocker.Unlock">
            <summary>
            <para>Unlocks the lock associated with this locker.</para>
            <para>See also QReadWriteLock::unlock().</para>
            </summary>
        </member>
        <member name="M:QtCore.QWriteLocker.Finalize">
            <summary>
            <para>Destroys the QWriteLocker and unlocks the lock that was passed to the constructor.</para>
            <para>See also QReadWriteLock::unlock().</para>
            </summary>
        </member>
        <member name="T:QtCore.QXmlStreamAttribute">
            <summary>
            The QXmlStreamAttribute class represents a single XML attribute
            </summary>
            <remarks>
            <para></para>
            <para>An attribute consists of an optionally empty namespaceUri(), a name(), a value(), and an isDefault() attribute.</para>
            <para>The raw XML attribute name is returned as qualifiedName().</para>
            </remarks>
        </member>
        <member name="M:QtCore.QXmlStreamAttribute.#ctor">
            <summary>
            <para>Creates an empty attribute.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamAttribute.#ctor(QtCore.QXmlStreamAttribute)">
            <summary>
            <para>Creates a copy of other.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamAttribute.#ctor(System.String,System.String)">
            <summary>
            <para>Constructs an attribute with qualified name qualifiedName and value value.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamAttribute.#ctor(System.String,System.String,System.String)">
            <summary>
            <para>Constructs an attribute in the namespace described with namespaceUri with name and value value.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamAttribute.IsDefault">
            <summary>
            <para>Returns true if the parser added this attribute with a default value following an ATTLIST declaration in the DTD; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamAttribute.Name">
            <summary>
            <para>Returns the attribute's local name.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamAttribute.NamespaceUri">
            <summary>
            <para>Returns the attribute's resolved namespaceUri, or an empty string reference if the attribute does not have a defined namespace.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamAttribute.op_Inequality(QtCore.QXmlStreamAttribute,QtCore.QXmlStreamAttribute)">
            <summary>
            <para>Compares this attribute with other and returns true if they are not equal; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamAttribute.op_Equality(QtCore.QXmlStreamAttribute,QtCore.QXmlStreamAttribute)">
            <summary>
            <para>Compares this attribute with other and returns true if they are equal; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamAttribute.Prefix">
            <summary>
            <para>Returns the attribute's namespace prefix.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also name() and qualifiedName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamAttribute.QualifiedName">
            <summary>
            <para>Returns the attribute's qualified name.</para>
            <para>A qualified name is the raw name of an attribute in the XML data. It consists of the namespace prefix(), followed by colon, followed by the attribute's local name(). Since the namespace prefix is not unique (the same prefix can point to different namespaces and different prefixes can point to the same namespace), you shouldn't use qualifiedName(), but the resolved namespaceUri() and the attribute's local name().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamAttribute.Value">
            <summary>
            <para>Returns the attribute's value.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamAttribute.Finalize">
            <summary>
            <para>Destructs an attribute.</para>
            </summary>
        </member>
        <member name="T:QtCore.QXmlStreamAttributes">
            <summary>
            The QXmlStreamAttributes class represents a vector of QXmlStreamAttribute.
            </summary>
            <remarks>
            <para></para>
            <para>Attributes are returned by a QXmlStreamReader in attributes() when the reader reports a start element. The class can also be used with a QXmlStreamWriter as an argument to writeAttributes().</para>
            <para>The convenience function value() loops over the vector and returns an attribute value for a given namespaceUri and an attribute's name.</para>
            <para>New attributes can be added with append().</para>
            </remarks>
        </member>
        <member name="M:QtCore.QXmlStreamAttributes.#ctor">
            <summary>
            <para>void QXmlStreamAttributes::append ( const QString &amp; namespaceUri, const QString &amp; name, const QString &amp; value )</para>
            <para>Appends a new attribute with name in the namespace described with namespaceUri, and value value. The namespaceUri can be empty.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamAttributes.#ctor(QtCore.QXmlStreamAttributes)">
            <summary>
            <para>void QXmlStreamAttributes::append ( const QString &amp; namespaceUri, const QString &amp; name, const QString &amp; value )</para>
            <para>Appends a new attribute with name in the namespace described with namespaceUri, and value value. The namespaceUri can be empty.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamAttributes.Append(System.String,System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Appends a new attribute with qualified name qualifiedName and value value.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamAttributes.Append(System.String,System.String,System.String)">
            <summary>
            <para>Appends a new attribute with name in the namespace described with namespaceUri, and value value. The namespaceUri can be empty.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamAttributes.HasAttribute(QtCore.QLatin1String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>This function was introduced in Qt 4.5.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamAttributes.HasAttribute(System.String)">
            <summary>
            <para>Returns true if this QXmlStreamAttributes has an attribute whose qualified name is qualifiedName; otherwise returns false.</para>
            <para>Note that this is not namespace aware. For instance, if this QXmlStreamAttributes contains an attribute whose lexical name is &quot;xlink:href&quot; this doesn't tell that an attribute named href in the XLink namespace is present, since the xlink prefix can be bound to any namespace. Use the overload that takes a namespace URI and a local name as parameter, for namespace aware code.</para>
            <para>This function was introduced in Qt 4.5.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamAttributes.HasAttribute(System.String,System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns true if this QXmlStreamAttributes has an attribute whose namespace URI and name correspond to namespaceUri and name; otherwise returns false.</para>
            <para>This function was introduced in Qt 4.5.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamAttributes.Value(QtCore.QLatin1String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns the value of the attribute with qualified name qualifiedName , or an empty string reference if the attribute is not defined. A qualified name is the raw name of an attribute in the XML data. It consists of the namespace prefix, followed by colon, followed by the attribute's local name. Since the namespace prefix is not unique (the same prefix can point to different namespaces and different prefixes can point to the same namespace), you shouldn't use qualified names, but a resolved namespaceUri and the attribute's local name.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamAttributes.Value(QtCore.QLatin1String,QtCore.QLatin1String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns the value of the attribute name in the namespace described with namespaceUri, or an empty string reference if the attribute is not defined. The namespaceUri can be empty.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamAttributes.Value(System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns the value of the attribute with qualified name qualifiedName , or an empty string reference if the attribute is not defined. A qualified name is the raw name of an attribute in the XML data. It consists of the namespace prefix, followed by colon, followed by the attribute's local name. Since the namespace prefix is not unique (the same prefix can point to different namespaces and different prefixes can point to the same namespace), you shouldn't use qualified names, but a resolved namespaceUri and the attribute's local name.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamAttributes.Value(System.String,QtCore.QLatin1String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Returns the value of the attribute name in the namespace described with namespaceUri, or an empty string reference if the attribute is not defined. The namespaceUri can be empty.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamAttributes.Value(System.String,System.String)">
            <summary>
            <para>Returns the value of the attribute name in the namespace described with namespaceUri, or an empty string reference if the attribute is not defined. The namespaceUri can be empty.</para>
            </summary>
        </member>
        <member name="T:QtCore.QXmlStreamEntityDeclaration">
            <summary>
            The QXmlStreamEntityDeclaration class represents a DTD entity declaration.
            </summary>
            <remarks>
            <para></para>
            <para>An entity declaration consists of a name(), a notationName(), a systemId(), a publicId(), and a value().</para>
            </remarks>
        </member>
        <member name="M:QtCore.QXmlStreamEntityDeclaration.#ctor">
            <summary>
            <para>Creates an empty entity declaration.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamEntityDeclaration.#ctor(QtCore.QXmlStreamEntityDeclaration)">
            <summary>
            <para>Creates a copy of other.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamEntityDeclaration.Name">
            <summary>
            <para>Returns the entity name.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamEntityDeclaration.NotationName">
            <summary>
            <para>Returns the notation name.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamEntityDeclaration.op_Inequality(QtCore.QXmlStreamEntityDeclaration,QtCore.QXmlStreamEntityDeclaration)">
            <summary>
            <para>Compares this entity declaration with other and returns true if they are not equal; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamEntityDeclaration.op_Equality(QtCore.QXmlStreamEntityDeclaration,QtCore.QXmlStreamEntityDeclaration)">
            <summary>
            <para>Compares this entity declaration with other and returns true if they are equal; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamEntityDeclaration.PublicId">
            <summary>
            <para>Returns the public identifier.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamEntityDeclaration.SystemId">
            <summary>
            <para>Returns the system identifier.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamEntityDeclaration.Value">
            <summary>
            <para>Returns the entity's value.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamEntityDeclaration.Finalize">
            <summary>
            <para>Destructs this entity declaration.</para>
            </summary>
        </member>
        <member name="T:QtCore.QXmlStreamEntityResolver">
            <summary>
            The QXmlStreamEntityResolver class provides an entity resolver for a QXmlStreamReader.
            </summary>
            <remarks>
            <para></para>
            </remarks>
        </member>
        <member name="M:QtCore.QXmlStreamEntityResolver.ResolveUndeclaredEntity(System.String)">
            <summary>
            <para>Resolves the undeclared entity name and returns its replacement text. If the entity is also unknown to the entity resolver, it returns an empty string.</para>
            <para>The default implementation always returns an empty string.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamEntityResolver.Finalize">
            <summary>
            <para>Destroys the entity resolver.</para>
            </summary>
        </member>
        <member name="T:QtCore.QXmlStreamNamespaceDeclaration">
            <summary>
            The QXmlStreamNamespaceDeclaration class represents a namespace declaration.
            </summary>
            <remarks>
            <para></para>
            <para>An namespace declaration consists of a prefix() and a namespaceUri().</para>
            </remarks>
        </member>
        <member name="M:QtCore.QXmlStreamNamespaceDeclaration.#ctor">
            <summary>
            <para>Creates an empty namespace declaration.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamNamespaceDeclaration.#ctor(QtCore.QXmlStreamNamespaceDeclaration)">
            <summary>
            <para>Creates a copy of other.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamNamespaceDeclaration.#ctor(System.String,System.String)">
            <summary>
            <para>Creates a namespace declaration with prefix and namespaceUri.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamNamespaceDeclaration.NamespaceUri">
            <summary>
            <para>Returns the namespaceUri.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamNamespaceDeclaration.op_Inequality(QtCore.QXmlStreamNamespaceDeclaration,QtCore.QXmlStreamNamespaceDeclaration)">
            <summary>
            <para>Compares this namespace declaration with other and returns true if they are not equal; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamNamespaceDeclaration.op_Equality(QtCore.QXmlStreamNamespaceDeclaration,QtCore.QXmlStreamNamespaceDeclaration)">
            <summary>
            <para>Compares this namespace declaration with other and returns true if they are equal; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamNamespaceDeclaration.Prefix">
            <summary>
            <para>Returns the prefix.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamNamespaceDeclaration.Finalize">
            <summary>
            <para>Destructs this namespace declaration.</para>
            </summary>
        </member>
        <member name="T:QtCore.QXmlStreamNotationDeclaration">
            <summary>
            The QXmlStreamNotationDeclaration class represents a DTD notation declaration.
            </summary>
            <remarks>
            <para></para>
            <para>An notation declaration consists of a name(), a systemId(), and a publicId().</para>
            </remarks>
        </member>
        <member name="M:QtCore.QXmlStreamNotationDeclaration.#ctor">
            <summary>
            <para>Creates an empty notation declaration.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamNotationDeclaration.#ctor(QtCore.QXmlStreamNotationDeclaration)">
            <summary>
            <para>Creates a copy of other.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamNotationDeclaration.Name">
            <summary>
            <para>Returns the notation name.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamNotationDeclaration.op_Inequality(QtCore.QXmlStreamNotationDeclaration,QtCore.QXmlStreamNotationDeclaration)">
            <summary>
            <para>Compares this notation declaration with other and returns true if they are not equal; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamNotationDeclaration.op_Equality(QtCore.QXmlStreamNotationDeclaration,QtCore.QXmlStreamNotationDeclaration)">
            <summary>
            <para>Compares this notation declaration with other and returns true if they are equal; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamNotationDeclaration.PublicId">
            <summary>
            <para>Returns the public identifier.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamNotationDeclaration.SystemId">
            <summary>
            <para>Returns the system identifier.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamNotationDeclaration.Finalize">
            <summary>
            <para>Destructs this notation declaration.</para>
            </summary>
        </member>
        <member name="T:QtCore.QXmlStreamReader">
            <summary>
            The QXmlStreamReader class provides a fast parser for reading well-formed XML via a simple streaming API.
            </summary>
            <remarks>
            <para></para>
            <para>QXmlStreamReader is a faster and more convenient replacement for Qt's own SAX parser (see QXmlSimpleReader). In some cases it might also be a faster and more convenient alternative for use in applications that would otherwise use a DOM tree (see QDomDocument). QXmlStreamReader reads data either from a QIODevice (see setDevice()), or from a raw QByteArray (see addData()).</para>
            <para>Qt provides QXmlStreamWriter for writing XML.</para>
            <para>The basic concept of a stream reader is to report an XML document as a stream of tokens, similar to SAX. The main difference between QXmlStreamReader and SAX is how these XML tokens are reported. With SAX, the application must provide handlers (callback functions) that receive so-called XML events from the parser at the parser's convenience. With QXmlStreamReader, the application code itself drives the loop and pulls tokens from the reader, one after another, as it needs them. This is done by calling readNext(), where the reader reads from the input stream until it completes the next token, at which point it returns the tokenType(). A set of convenient functions including isStartElement() and text() can then be used to examine the token to obtain information about what has been read. The big advantage of this pulling approach is the possibility to build recursive descent parsers with it, meaning you can split your XML parsing code easily into different methods or classes. This makes it easy to keep track of the application's own state when parsing XML.</para>
            <para>A typical loop with QXmlStreamReader looks like this:</para>
            <para>   QXmlStreamReader xml;</para>
            <para>   ...</para>
            <para>   while (!xml.atEnd()) {</para>
            <para>         xml.readNext();</para>
            <para>         ... // do processing</para>
            <para>   }</para>
            <para>   if (xml.hasError()) {</para>
            <para>         ... // do error handling</para>
            <para>   }</para>
            <para>QXmlStreamReader is a well-formed XML 1.0 parser that does not include external parsed entities. As long as no error occurs, the application code can thus be assured that the data provided by the stream reader satisfies the W3C's criteria for well-formed XML. For example, you can be certain that all tags are indeed nested and closed properly, that references to internal entities have been replaced with the correct replacement text, and that attributes have been normalized or added according to the internal subset of the DTD.</para>
            <para>If an error occurs while parsing, atEnd() and hasError() return true, and error() returns the error that occurred. The functions errorString(), lineNumber(), columnNumber(), and characterOffset() are for constructing an appropriate error or warning message. To simplify application code, QXmlStreamReader contains a raiseError() mechanism that lets you raise custom errors that trigger the same error handling described.</para>
            <para>The QXmlStream Bookmarks Example illustrates how to use the recursive descent technique to read an XML bookmark file (XBEL) with a stream reader.</para>
            <para></para>
            <para>Namespaces</para>
            <para>QXmlStream understands and resolves XML namespaces. E.g. in case of a StartElement, namespaceUri() returns the namespace the element is in, and name() returns the element's local name. The combination of namespaceUri and name uniquely identifies an element. If a namespace prefix was not declared in the XML entities parsed by the reader, the namespaceUri is empty.</para>
            <para>If you parse XML data that does not utilize namespaces according to the XML specification or doesn't use namespaces at all, you can use the element's qualifiedName() instead. A qualified name is the element's prefix() followed by colon followed by the element's local name() - exactly like the element appears in the raw XML data. Since the mapping namespaceUri to prefix is neither unique nor universal, qualifiedName() should be avoided for namespace-compliant XML data.</para>
            <para>In order to parse standalone documents that do use undeclared namespace prefixes, you can turn off namespace processing completely with the namespaceProcessing property.</para>
            <para></para>
            <para>Incremental parsing</para>
            <para>QXmlStreamReader is an incremental parser. It can handle the case where the document can't be parsed all at once because it arrives in chunks (e.g. from multiple files, or over a network connection). When the reader runs out of data before the complete document has been parsed, it reports a PrematureEndOfDocumentError. When more data arrives, either because of a call to addData() or because more data is available through the network device(), the reader recovers from the PrematureEndOfDocumentError error and continues parsing the new data with the next call to readNext().</para>
            <para>For example, if your application reads data from the network using a network access manager, you would issue a network request to the manager and receive a network reply in return. Since a QNetworkReply is a QIODevice, you connect its readyRead() signal to a custom slot, e.g. slotReadyRead() in the code snippet shown in the discussion for QNetworkAccessManager. In this slot, you read all available data with readAll() and pass it to the XML stream reader using addData(). Then you call your custom parsing function that reads the XML events from the reader.</para>
            <para></para>
            <para>Performance and memory consumption</para>
            <para>QXmlStreamReader is memory-conservative by design, since it doesn't store the entire XML document tree in memory, but only the current token at the time it is reported. In addition, QXmlStreamReader avoids the many small string allocations that it normally takes to map an XML document to a convenient and Qt-ish API. It does this by reporting all string data as QStringRef rather than real QString objects. QStringRef is a thin wrapper around QString substrings that provides a subset of the QString API without the memory allocation and reference-counting overhead. Calling toString() on any of those objects returns an equivalent real QString object.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QXmlStreamReader.#ctor">
            <summary>
            <para>Constructs a stream reader.</para>
            <para>See also setDevice() and addData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.#ctor(QtCore.QIODevice)">
            <summary>
            <para>Creates a new stream reader that reads from device.</para>
            <para>See also setDevice() and clear().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.#ctor(QtCore.QByteArray)">
            <summary>
            <para>Creates a new stream reader that reads from data.</para>
            <para>See also addData(), clear(), and setDevice().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.#ctor(System.String)">
            <summary>
            <para>Creates a new stream reader that reads from data.</para>
            <para>See also addData(), clear(), and setDevice().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.AddData(QtCore.QByteArray)">
            <summary>
            <para>Adds more data for the reader to read. This function does nothing if the reader has a device().</para>
            <para>See also readNext() and clear().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.AddData(System.String)">
            <summary>
            <para>Adds more data for the reader to read. This function does nothing if the reader has a device().</para>
            <para>See also readNext() and clear().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.AddExtraNamespaceDeclaration(QtCore.QXmlStreamNamespaceDeclaration)">
            <summary>
            <para>Adds an extraNamespaceDeclaration. The declaration will be valid for children of the current element, or - should the function be called before any elements are read - for the entire XML document.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also namespaceDeclarations(), addExtraNamespaceDeclarations(), and setNamespaceProcessing().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.AddExtraNamespaceDeclarations(System.Collections.Generic.List{QtCore.QXmlStreamNamespaceDeclaration})">
            <summary>
            <para>Adds a vector of declarations specified by extraNamespaceDeclarations.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also namespaceDeclarations() and addExtraNamespaceDeclaration().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.AtEnd">
            <summary>
            <para>Returns true if the reader has read until the end of the XML document, or if an error() has occurred and reading has been aborted. Otherwise, it returns false.</para>
            <para>When atEnd() and hasError() return true and error() returns PrematureEndOfDocumentError, it means the XML has been well-formed so far, but a complete XML document has not been parsed. The next chunk of XML can be added with addData(), if the XML is being read from a QByteArray, or by waiting for more data to arrive if the XML is being read from a QIODevice. Either way, atEnd() will return false once more data is available.</para>
            <para>See also hasError(), error(), device(), and QIODevice::atEnd().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.Attributes">
            <summary>
            <para>Returns the attributes of a StartElement.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.CharacterOffset">
            <summary>
            <para>Returns the current character offset, starting with 0.</para>
            <para>See also lineNumber() and columnNumber().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.Clear">
            <summary>
            <para>Removes any device() or data from the reader and resets its internal state to the initial state.</para>
            <para>See also addData().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.ColumnNumber">
            <summary>
            <para>Returns the current column number, starting with 0.</para>
            <para>See also lineNumber() and characterOffset().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.DocumentEncoding">
            <summary>
            <para>If the state() is StartDocument, this function returns the encoding string as specified in the XML declaration. Otherwise an empty string is returned.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.DocumentVersion">
            <summary>
            <para>If the state() is StartDocument, this function returns the version string as specified in the XML declaration. Otherwise an empty string is returned.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.DtdName">
            <summary>
            <para>If the state() is DTD, this function returns the DTD's name. Otherwise an empty string is returned.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.DtdPublicId">
            <summary>
            <para>If the state() is DTD, this function returns the DTD's public identifier. Otherwise an empty string is returned.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.DtdSystemId">
            <summary>
            <para>If the state() is DTD, this function returns the DTD's system identifier. Otherwise an empty string is returned.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.EntityDeclarations">
            <summary>
            <para>If the state() is DTD, this function returns the DTD's unparsed (external) entity declarations. Otherwise an empty vector is returned.</para>
            <para>The QXmlStreamEntityDeclarations class is defined to be a QVector of QXmlStreamEntityDeclaration.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.error">
            <summary>
            <para>Returns the type of the current error, or NoError if no error occurred.</para>
            <para>See also errorString() and raiseError().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.ErrorString">
            <summary>
            <para>Returns the error message that was set with raiseError().</para>
            <para>See also error(), lineNumber(), columnNumber(), and characterOffset().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.HasError">
            <summary>
            <para>Returns true if an error has occurred, otherwise false.</para>
            <para>See also errorString() and error().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.IsCDATA">
            <summary>
            <para>Returns true if the reader reports characters that stem from a CDATA section; otherwise returns false.</para>
            <para>See also isCharacters() and text().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.IsCharacters">
            <summary>
            <para>Returns true if tokenType() equals Characters; otherwise returns false.</para>
            <para>See also isWhitespace() and isCDATA().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.IsComment">
            <summary>
            <para>Returns true if tokenType() equals Comment; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.IsDTD">
            <summary>
            <para>Returns true if tokenType() equals DTD; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.IsEndDocument">
            <summary>
            <para>Returns true if tokenType() equals EndDocument; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.IsEndElement">
            <summary>
            <para>Returns true if tokenType() equals EndElement; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.IsEntityReference">
            <summary>
            <para>Returns true if tokenType() equals EntityReference; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.IsProcessingInstruction">
            <summary>
            <para>Returns true if tokenType() equals ProcessingInstruction; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.IsStandaloneDocument">
            <summary>
            <para>Returns true if this document has been declared standalone in the XML declaration; otherwise returns false.</para>
            <para>If no XML declaration has been parsed, this function returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.IsStartDocument">
            <summary>
            <para>Returns true if tokenType() equals StartDocument; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.IsStartElement">
            <summary>
            <para>Returns true if tokenType() equals StartElement; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.IsWhitespace">
            <summary>
            <para>Returns true if the reader reports characters that only consist of white-space; otherwise returns false.</para>
            <para>See also isCharacters() and text().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.LineNumber">
            <summary>
            <para>Returns the current line number, starting with 1.</para>
            <para>See also columnNumber() and characterOffset().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.Name">
            <summary>
            <para>Returns the local name of a StartElement, EndElement, or an EntityReference.</para>
            <para>See also namespaceUri() and qualifiedName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.NamespaceDeclarations">
            <summary>
            <para>If the state() is StartElement, this function returns the element's namespace declarations. Otherwise an empty vector is returned.</para>
            <para>The QXmlStreamNamespaceDeclaration class is defined to be a QVector of QXmlStreamNamespaceDeclaration.</para>
            <para>See also addExtraNamespaceDeclaration() and addExtraNamespaceDeclarations().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.NamespaceUri">
            <summary>
            <para>Returns the namespaceUri of a StartElement or EndElement.</para>
            <para>See also name() and qualifiedName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.NotationDeclarations">
            <summary>
            <para>If the state() is DTD, this function returns the DTD's notation declarations. Otherwise an empty vector is returned.</para>
            <para>The QXmlStreamNotationDeclarations class is defined to be a QVector of QXmlStreamNotationDeclaration.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.Prefix">
            <summary>
            <para>Returns the prefix of a StartElement or EndElement.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also name() and qualifiedName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.ProcessingInstructionData">
            <summary>
            <para>Returns the data of a ProcessingInstruction.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.ProcessingInstructionTarget">
            <summary>
            <para>Returns the target of a ProcessingInstruction.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.QualifiedName">
            <summary>
            <para>Returns the qualified name of a StartElement or EndElement;</para>
            <para>A qualified name is the raw name of an element in the XML data. It consists of the namespace prefix, followed by colon, followed by the element's local name. Since the namespace prefix is not unique (the same prefix can point to different namespaces and different prefixes can point to the same namespace), you shouldn't use qualifiedName(), but the resolved namespaceUri() and the attribute's local name().</para>
            <para>See also name(), prefix(), and namespaceUri().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.RaiseError(System.String)">
            <summary>
            <para>Raises a custom error with an optional error message.</para>
            <para>See also error() and errorString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.ReadElementText">
            <summary>
            <para>This function overloads readElementText().</para>
            <para>Calling this function is equivalent to calling readElementText(ErrorOnUnexpectedElement).</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.ReadElementText(QtCore.QXmlStreamReader.ReadElementTextBehaviour)">
            <summary>
            <para>Convenience function to be called in case a StartElement was read. Reads until the corresponding EndElement and returns all text in-between. In case of no error, the current token (see tokenType()) after having called this function is EndElement.</para>
            <para>The function concatenates text() when it reads either Characters or EntityReference tokens, but skips ProcessingInstruction and Comment. If the current token is not StartElement, an empty string is returned.</para>
            <para>The behaviour defines what happens in case anything else is read before reaching EndElement. The function can include the text from child elements (useful for example for HTML), ignore child elements, or raise an UnexpectedElementError and return what was read so far.</para>
            <para>This function was introduced in Qt 4.6.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.ReadNext">
            <summary>
            <para>Reads the next token and returns its type.</para>
            <para>With one exception, once an error() is reported by readNext(), further reading of the XML stream is not possible. Then atEnd() returns true, hasError() returns true, and this function returns QXmlStreamReader::Invalid.</para>
            <para>The exception is when error() returns PrematureEndOfDocumentError. This error is reported when the end of an otherwise well-formed chunk of XML is reached, but the chunk doesn't represent a complete XML document. In that case, parsing can be resumed by calling addData() to add the next chunk of XML, when the stream is being read from a QByteArray, or by waiting for more data to arrive when the stream is being read from a device().</para>
            <para>See also tokenType() and tokenString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.ReadNextStartElement">
            <summary>
            <para>Reads until the next start element within the current element. Returns true when a start element was reached. When the end element was reached, or when an error occurred, false is returned.</para>
            <para>The current element is the element matching the most recently parsed start element of which a matching end element has not yet been reached. When the parser has reached the end element, the current element becomes the parent element.</para>
            <para>You can traverse a document by repeatedly calling this function while ensuring that the stream reader is not at the end of the document:</para>
            <para> QXmlStreamReader xs(&amp;file);</para>
            <para> while (!xs.atEnd()) {</para>
            <para>     if (xs.readNextStartElement())</para>
            <para>         std::cout &lt;&lt; qPrintable(xs.name().toString()) &lt;&lt; std::endl;</para>
            <para> }</para>
            <para>This is a convenience function for when you're only concerned with parsing XML elements. The QXmlStream Bookmarks Example makes extensive use of this function.</para>
            <para>This function was introduced in Qt 4.6.</para>
            <para>See also readNext().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.SkipCurrentElement">
            <summary>
            <para>Reads until the end of the current element, skipping any child nodes. This function is useful for skipping unknown elements.</para>
            <para>The current element is the element matching the most recently parsed start element of which a matching end element has not yet been reached. When the parser has reached the end element, the current element becomes the parent element.</para>
            <para>This function was introduced in Qt 4.6.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.Text">
            <summary>
            <para>Returns the text of Characters, Comment, DTD, or EntityReference.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.TokenString">
            <summary>
            <para>Returns the reader's current token as string.</para>
            <para>See also tokenType().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.tokenType">
            <summary>
            <para>Returns the type of the current token.</para>
            <para>The current token can also be queried with the convenience functions isStartDocument(), isEndDocument(), isStartElement(), isEndElement(), isCharacters(), isComment(), isDTD(), isEntityReference(), and isProcessingInstruction().</para>
            <para>See also tokenString().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamReader.Finalize">
            <summary>
            <para>Destructs the reader.</para>
            </summary>
        </member>
        <member name="P:QtCore.QXmlStreamReader.Device">
            <summary>
            <para>Returns the current device associated with the QXmlStreamReader, or 0 if no device has been assigned.</para>
            <para>Sets the current device to device. Setting the device resets the stream to its initial state.</para>
            </summary>
        </member>
        <member name="P:QtCore.QXmlStreamReader.EntityResolver">
            <summary>
            <para>Returns the entity resolver, or 0 if there is no entity resolver.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>Makes resolver the new entityResolver().</para>
            <para>The stream reader does not take ownership of the resolver. It's the callers responsibility to ensure that the resolver is valid during the entire life-time of the stream reader object, or until another resolver or 0 is set.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="T:QtCore.QXmlStreamReader.Error">
            <summary>
            <para>This enum specifies different error cases</para>
            </summary>
        </member>
        <member name="F:QtCore.QXmlStreamReader.Error.CustomError">
            <summary>
            <para>A custom error has been raised with raiseError()</para>
            </summary>
        </member>
        <member name="F:QtCore.QXmlStreamReader.Error.NoError">
            <summary>
            <para>No error has occurred.</para>
            </summary>
        </member>
        <member name="F:QtCore.QXmlStreamReader.Error.NotWellFormedError">
            <summary>
            <para>The parser internally raised an error due to the read XML not being well-formed.</para>
            </summary>
        </member>
        <member name="F:QtCore.QXmlStreamReader.Error.PrematureEndOfDocumentError">
            <summary>
            <para>The input stream ended before a well-formed XML document was parsed. Recovery from this error is possible if more XML arrives in the stream, either by calling addData() or by waiting for it to arrive on the device().</para>
            </summary>
        </member>
        <member name="F:QtCore.QXmlStreamReader.Error.UnexpectedElementError">
            <summary>
            <para>The parser encountered an element that was different to those it expected.</para>
            </summary>
        </member>
        <member name="T:QtCore.QXmlStreamReader.ReadElementTextBehaviour">
            <summary>
            <para>This enum specifies the different behaviours of readElementText().</para>
            <para>This enum was introduced or modified in Qt 4.6.</para>
            </summary>
        </member>
        <member name="F:QtCore.QXmlStreamReader.ReadElementTextBehaviour.ErrorOnUnexpectedElement">
            <summary>
            <para>Raise an UnexpectedElementError and return what was read so far when a child element is encountered.</para>
            </summary>
        </member>
        <member name="F:QtCore.QXmlStreamReader.ReadElementTextBehaviour.IncludeChildElements">
            <summary>
            <para>Recursively include the text from child elements.</para>
            </summary>
        </member>
        <member name="F:QtCore.QXmlStreamReader.ReadElementTextBehaviour.SkipChildElements">
            <summary>
            <para>Skip child elements.</para>
            </summary>
        </member>
        <member name="T:QtCore.QXmlStreamReader.TokenType">
            <summary>
            <para>This enum specifies the type of token the reader just read.</para>
            </summary>
        </member>
        <member name="F:QtCore.QXmlStreamReader.TokenType.Characters">
            <summary>
            <para>The reader reports characters in text(). If the characters are all white-space, isWhitespace() returns true. If the characters stem from a CDATA section, isCDATA() returns true.</para>
            </summary>
        </member>
        <member name="F:QtCore.QXmlStreamReader.TokenType.Comment">
            <summary>
            <para>The reader reports a comment in text().</para>
            </summary>
        </member>
        <member name="F:QtCore.QXmlStreamReader.TokenType.DTD">
            <summary>
            <para>The reader reports a DTD in text(), notation declarations in notationDeclarations(), and entity declarations in entityDeclarations(). Details of the DTD declaration are reported in in dtdName(), dtdPublicId(), and dtdSystemId().</para>
            </summary>
        </member>
        <member name="F:QtCore.QXmlStreamReader.TokenType.EndDocument">
            <summary>
            <para>The reader reports the end of the document.</para>
            </summary>
        </member>
        <member name="F:QtCore.QXmlStreamReader.TokenType.EndElement">
            <summary>
            <para>The reader reports the end of an element with namespaceUri() and name().</para>
            </summary>
        </member>
        <member name="F:QtCore.QXmlStreamReader.TokenType.EntityReference">
            <summary>
            <para>The reader reports an entity reference that could not be resolved. The name of the reference is reported in name(), the replacement text in text().</para>
            </summary>
        </member>
        <member name="F:QtCore.QXmlStreamReader.TokenType.Invalid">
            <summary>
            <para>An error has occurred, reported in error() and errorString().</para>
            </summary>
        </member>
        <member name="F:QtCore.QXmlStreamReader.TokenType.NoToken">
            <summary>
            <para>The reader has not yet read anything.</para>
            </summary>
        </member>
        <member name="F:QtCore.QXmlStreamReader.TokenType.ProcessingInstruction">
            <summary>
            <para>The reader reports a processing instruction in processingInstructionTarget() and processingInstructionData().</para>
            </summary>
        </member>
        <member name="F:QtCore.QXmlStreamReader.TokenType.StartDocument">
            <summary>
            <para>The reader reports the XML version number in documentVersion(), and the encoding as specified in the XML document in documentEncoding(). If the document is declared standalone, isStandaloneDocument() returns true; otherwise it returns false.</para>
            </summary>
        </member>
        <member name="F:QtCore.QXmlStreamReader.TokenType.StartElement">
            <summary>
            <para>The reader reports the start of an element with namespaceUri() and name(). Empty elements are also reported as StartElement, followed directly by EndElement. The convenience function readElementText() can be called to concatenate all content until the corresponding EndElement. Attributes are reported in attributes(), namespace declarations in namespaceDeclarations().</para>
            </summary>
        </member>
        <member name="T:QtCore.QXmlStreamWriter">
            <summary>
            The QXmlStreamWriter class provides an XML writer with a simple streaming API.
            </summary>
            <remarks>
            <para></para>
            <para>QXmlStreamWriter is the counterpart to QXmlStreamReader for writing XML. Like its related class, it operates on a QIODevice specified with setDevice(). The API is simple and straightforward: for every XML token or event you want to write, the writer provides a specialized function.</para>
            <para>You start a document with writeStartDocument() and end it with writeEndDocument(). This will implicitly close all remaining open tags.</para>
            <para>Element tags are opened with writeStartElement() followed by writeAttribute() or writeAttributes(), element content, and then writeEndElement(). A shorter form writeEmptyElement() can be used to write empty elements, followed by writeAttributes().</para>
            <para>Element content consists of either characters, entity references or nested elements. It is written with writeCharacters(), which also takes care of escaping all forbidden characters and character sequences, writeEntityReference(), or subsequent calls to writeStartElement(). A convenience method writeTextElement() can be used for writing terminal elements that contain nothing but text.</para>
            <para>The following abridged code snippet shows the basic use of the class to write formatted XML with indentation:</para>
            <para>     QXmlStreamWriter stream(&amp;amp;output);</para>
            <para>     stream.setAutoFormatting(true);</para>
            <para>     stream.writeStartDocument();</para>
            <para>     ...</para>
            <para>     stream.writeStartElement(&amp;quot;bookmark&amp;quot;);</para>
            <para>     stream.writeAttribute(&amp;quot;href&amp;quot;, &amp;quot;http://qt.nokia.com/&amp;quot;);</para>
            <para>     stream.writeTextElement(&amp;quot;title&amp;quot;, &amp;quot;Qt Home&amp;quot;);</para>
            <para>     stream.writeEndElement(); // bookmark</para>
            <para>     ...</para>
            <para>     stream.writeEndDocument();</para>
            <para>QXmlStreamWriter takes care of prefixing namespaces, all you have to do is specify the namespaceUri when writing elements or attributes. If you must conform to certain prefixes, you can force the writer to use them by declaring the namespaces manually with either writeNamespace() or writeDefaultNamespace(). Alternatively, you can bypass the stream writer's namespace support and use overloaded methods that take a qualified name instead. The namespace http://www.w3.org/XML/1998/namespace is implicit and mapped to the prefix xml.</para>
            <para>The stream writer can automatically format the generated XML data by adding line-breaks and indentation to empty sections between elements, making the XML data more readable for humans and easier to work with for most source code management systems. The feature can be turned on with the autoFormatting property, and customized with the autoFormattingIndent property.</para>
            <para>Other functions are writeCDATA(), writeComment(), writeProcessingInstruction(), and writeDTD(). Chaining of XML streams is supported with writeCurrentToken().</para>
            <para>By default, QXmlStreamWriter encodes XML in UTF-8. Different encodings can be enforced using setCodec().</para>
            <para>If an error occurs while writing to the underlying device, hasError() starts returning true and subsequent writes are ignored.</para>
            <para>The QXmlStream Bookmarks Example illustrates how to use a stream writer to write an XML bookmark file (XBEL) that was previously read in by a QXmlStreamReader.</para>
            </remarks>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.#ctor">
            <summary>
            <para>Constructs a stream writer.</para>
            <para>See also setDevice().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.#ctor(QtCore.QIODevice)">
            <summary>
            <para>Constructs a stream writer that writes into device;</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.#ctor(QtCore.QByteArray)">
            <summary>
            <para>Constructs a stream writer that writes into array. This is the same as creating an xml writer that operates on a QBuffer device which in turn operates on array.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.#ctor(System.Text.StringBuilder)">
            <summary>
            <para>Constructs a stream writer that writes into string.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.HasError">
            <summary>
            <para>Returns true if the stream failed to write to the underlying device; otherwise returns false.</para>
            <para>The error status is never reset. Writes happening after the error occurred are ignored, even if the error condition is cleared.</para>
            <para>This function was introduced in Qt 4.8.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.SetCodec(System.String)">
            <summary>
            <para>Sets the codec for this stream to the QTextCodec for the encoding specified by codecName. Common values for codecName include &quot;ISO 8859-1&quot;, &quot;UTF-8&quot;, and &quot;UTF-16&quot;. If the encoding isn't recognized, nothing happens.</para>
            <para>See also QTextCodec::codecForName().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.WriteAttribute(QtCore.QXmlStreamAttribute)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Writes the attribute.</para>
            <para>This function can only be called after writeStartElement() before any content is written, or after writeEmptyElement().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.WriteAttribute(System.String,System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Writes an attribute with qualifiedName and value.</para>
            <para>This function can only be called after writeStartElement() before any content is written, or after writeEmptyElement().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.WriteAttribute(System.String,System.String,System.String)">
            <summary>
            <para>Writes an attribute with name and value, prefixed for the specified namespaceUri. If the namespace has not been declared yet, QXmlStreamWriter will generate a namespace declaration for it.</para>
            <para>This function can only be called after writeStartElement() before any content is written, or after writeEmptyElement().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.WriteAttributes(QtCore.QXmlStreamAttributes)">
            <summary>
            <para>Writes the attribute vector attributes. If a namespace referenced in an attribute not been declared yet, QXmlStreamWriter will generate a namespace declaration for it.</para>
            <para>This function can only be called after writeStartElement() before any content is written, or after writeEmptyElement().</para>
            <para>See also writeAttribute() and writeNamespace().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.WriteCDATA(System.String)">
            <summary>
            <para>Writes text as CDATA section. If text contains the forbidden character sequence &quot;]]&gt;&quot;, it is split into different CDATA sections.</para>
            <para>This function mainly exists for completeness. Normally you should not need use it, because writeCharacters() automatically escapes all non-content characters.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.WriteCharacters(System.String)">
            <summary>
            <para>Writes text. The characters &quot;&lt;&quot;, &quot;&amp;&quot;, and &quot;&quot;&quot; are escaped as entity references &quot;&amp;lt;&quot;, &quot;&amp;amp;, and &quot;&amp;quot;&quot;. To avoid the forbidden sequence &quot;]]&gt;&quot;, &quot;&gt;&quot; is also escaped as &quot;&amp;gt;&quot;.</para>
            <para>See also writeEntityReference().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.WriteComment(System.String)">
            <summary>
            <para>Writes text as XML comment, where text must not contain the forbidden sequence &quot;--&quot; or end with &quot;-&quot;. Note that XML does not provide any way to escape &quot;-&quot; in a comment.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.WriteCurrentToken(QtCore.QXmlStreamReader)">
            <summary>
            <para>Writes the current state of the reader. All possible valid states are supported.</para>
            <para>The purpose of this function is to support chained processing of XML data.</para>
            <para>See also QXmlStreamReader::tokenType().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.WriteDTD(System.String)">
            <summary>
            <para>Writes a DTD section. The dtd represents the entire doctypedecl production from the XML 1.0 specification.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.WriteDefaultNamespace(System.String)">
            <summary>
            <para>Writes a default namespace declaration for namespaceUri.</para>
            <para>If writeStartElement() or writeEmptyElement() was called, the declaration applies to the current element; otherwise it applies to the next child element.</para>
            <para>Note that the namespaces http://www.w3.org/XML/1998/namespace (bound to xmlns) and http://www.w3.org/2000/xmlns/ (bound to xml) by definition cannot be declared as default.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.WriteEmptyElement(System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Writes an empty element with qualified name qualifiedName. Subsequent calls to writeAttribute() will add attributes to this element.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.WriteEmptyElement(System.String,System.String)">
            <summary>
            <para>Writes an empty element with name, prefixed for the specified namespaceUri. If the namespace has not been declared, QXmlStreamWriter will generate a namespace declaration for it. Subsequent calls to writeAttribute() will add attributes to this element.</para>
            <para>See also writeNamespace().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.WriteEndDocument">
            <summary>
            <para>Closes all remaining open start elements and writes a newline.</para>
            <para>See also writeStartDocument().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.WriteEndElement">
            <summary>
            <para>Closes the previous start element.</para>
            <para>See also writeStartElement().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.WriteEntityReference(System.String)">
            <summary>
            <para>Writes the entity reference name to the stream, as &quot;&amp;name;&quot;.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.WriteNamespace(System.String,System.String)">
            <summary>
            <para>Writes a namespace declaration for namespaceUri with prefix. If prefix is empty, QXmlStreamWriter assigns a unique prefix consisting of the letter 'n' followed by a number.</para>
            <para>If writeStartElement() or writeEmptyElement() was called, the declaration applies to the current element; otherwise it applies to the next child element.</para>
            <para>Note that the prefix xml is both predefined and reserved for http://www.w3.org/XML/1998/namespace, which in turn cannot be bound to any other prefix. The prefix xmlns and its URI http://www.w3.org/2000/xmlns/ are used for the namespace mechanism itself and thus completely forbidden in declarations.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.WriteProcessingInstruction(System.String,System.String)">
            <summary>
            <para>Writes an XML processing instruction with target and data, where data must not contain the sequence &quot;?&gt;&quot;.</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.WriteStartDocument">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Writes a document start with XML version number &quot;1.0&quot;. This also writes the encoding information.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also writeEndDocument() and setCodec().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.WriteStartDocument(System.String)">
            <summary>
            <para>Writes a document start with the XML version number version.</para>
            <para>See also writeEndDocument().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.WriteStartDocument(System.String,System.Boolean)">
            <summary>
            <para>Writes a document start with the XML version number version and a standalone attribute standalone.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also writeEndDocument().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.WriteStartElement(System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Writes a start element with qualifiedName. Subsequent calls to writeAttribute() will add attributes to this element.</para>
            <para>See also writeEndElement() and writeEmptyElement().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.WriteStartElement(System.String,System.String)">
            <summary>
            <para>Writes a start element with name, prefixed for the specified namespaceUri. If the namespace has not been declared yet, QXmlStreamWriter will generate a namespace declaration for it. Subsequent calls to writeAttribute() will add attributes to this element.</para>
            <para>See also writeNamespace(), writeEndElement(), and writeEmptyElement().</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.WriteTextElement(System.String,System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Writes a text element with qualifiedName and text.</para>
            <para>This is a convenience function equivalent to:</para>
            <para>         writeStartElement(qualifiedName);</para>
            <para>         writeCharacters(text);</para>
            <para>         writeEndElement();</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.WriteTextElement(System.String,System.String,System.String)">
            <summary>
            <para>Writes a text element with name, prefixed for the specified namespaceUri, and text. If the namespace has not been declared, QXmlStreamWriter will generate a namespace declaration for it.</para>
            <para>This is a convenience function equivalent to:</para>
            <para>         writeStartElement(namespaceUri, name);</para>
            <para>         writeCharacters(text);</para>
            <para>         writeEndElement();</para>
            </summary>
        </member>
        <member name="M:QtCore.QXmlStreamWriter.Finalize">
            <summary>
            <para>Destructor.</para>
            </summary>
        </member>
        <member name="P:QtCore.QXmlStreamWriter.Codec">
            <summary>
            <para>Returns the codec that is currently assigned to the stream.</para>
            <para>Sets the codec for this stream to codec. The codec is used for encoding any data that is written. By default, QXmlStreamWriter uses UTF-8.</para>
            <para>The encoding information is stored in the initial xml tag which gets written when you call writeStartDocument(). Call this function before calling writeStartDocument().</para>
            </summary>
        </member>
        <member name="P:QtCore.QXmlStreamWriter.Device">
            <summary>
            <para>Returns the current device associated with the QXmlStreamWriter, or 0 if no device has been assigned.</para>
            <para>Sets the current device to device. If you want the stream to write into a QByteArray, you can create a QBuffer device.</para>
            </summary>
        </member>
        <member name="M:QtCore.IQObjectSignals.Destroyed">
            <summary>
            <para>This signal is emitted immediately before the object obj is destroyed, and can not be blocked.</para>
            <para>All the objects's children are destroyed immediately after this signal is emitted.</para>
            <para>See also deleteLater() and QPointer.</para>
            </summary>
        </member>
        <member name="M:QtCore.IQAbstractAnimationSignals.Finished">
            <summary>
            <para>QAbstractAnimation emits this signal after the animation has stopped and has reached the end.</para>
            <para>This signal is emitted after stateChanged().</para>
            <para>See also stateChanged().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQAbstractAnimationSignals.StateChanged(QtCore.QAbstractAnimation.State,QtCore.QAbstractAnimation.State)">
            <summary>
            <para>QAbstractAnimation emits this signal whenever the state of the animation has changed from oldState to newState. This signal is emitted after the virtual updateState() function is called.</para>
            <para>See also updateState().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQAbstractAnimationSignals.CurrentLoopChanged(System.Int32)">
            <summary>
            <para>QAbstractAnimation emits this signal whenever the current loop changes. currentLoop is the current loop.</para>
            <para>See also currentLoop() and loopCount().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQAbstractAnimationSignals.DirectionChanged(QtCore.QAbstractAnimation.Direction)">
            <summary>
            <para>QAbstractAnimation emits this signal whenever the direction has been changed. newDirection is the new direction.</para>
            <para>See also direction.</para>
            </summary>
        </member>
        <member name="M:QtCore.IQAbstractEventDispatcherSignals.AboutToBlock">
            <summary>
            <para>This signal is emitted before the event loop calls a function that could block.</para>
            <para>See also awake().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQAbstractEventDispatcherSignals.Awake">
            <summary>
            <para>This signal is emitted after the event loop returns from a function that could block.</para>
            <para>See also wakeUp() and aboutToBlock().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQAbstractItemModelSignals.DataChanged(QtCore.QModelIndex,QtCore.QModelIndex)">
            <summary>
            <para>This signal is emitted whenever the data in an existing item changes.</para>
            <para>If the items are of the same parent, the affected ones are those between topLeft and bottomRight inclusive. If the items do not have the same parent, the behavior is undefined.</para>
            <para>When reimplementing the setData() function, this signal must be emitted explicitly.</para>
            <para>See also headerDataChanged(), setData(), and layoutChanged().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQAbstractItemModelSignals.HeaderDataChanged(QtCore.Qt.Orientation,System.Int32,System.Int32)">
            <summary>
            <para>This signal is emitted whenever a header is changed. The orientation indicates whether the horizontal or vertical header has changed. The sections in the header from the first to the last need to be updated.</para>
            <para>When reimplementing the setHeaderData() function, this signal must be emitted explicitly.</para>
            <para>If you are changing the number of columns or rows you do not need to emit this signal, but use the begin/end functions (refer to the section on subclassing in the QAbstractItemModel class description for details).</para>
            <para>See also headerData(), setHeaderData(), and dataChanged().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQAbstractItemModelSignals.LayoutChanged">
            <summary>
            <para>This signal is emitted whenever the layout of items exposed by the model has changed; for example, when the model has been sorted. When this signal is received by a view, it should update the layout of items to reflect this change.</para>
            <para>When subclassing QAbstractItemModel or QAbstractProxyModel, ensure that you emit layoutAboutToBeChanged() before changing the order of items or altering the structure of the data you expose to views, and emit layoutChanged() after changing the layout.</para>
            <para>Subclasses should update any persistent model indexes before emitting layoutChanged(). In other words, when the structure changes:</para>
            <para></para>
            <para>emit layoutAboutToBeChanged</para>
            <para>Remember the QModelIndex that will change</para>
            <para>Update your internal data</para>
            <para>Call changePersistentIndex()</para>
            <para>emit layoutChanged</para>
            <para></para>
            <para>See also layoutAboutToBeChanged(), dataChanged(), headerDataChanged(), modelReset(), and changePersistentIndex().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQAbstractItemModelSignals.LayoutAboutToBeChanged">
            <summary>
            <para>This signal is emitted just before the layout of a model is changed. Components connected to this signal use it to adapt to changes in the model's layout.</para>
            <para>Subclasses should update any persistent model indexes after emitting layoutAboutToBeChanged().</para>
            <para>This function was introduced in Qt 4.2.</para>
            <para>See also layoutChanged() and changePersistentIndex().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQIODeviceSignals.ReadyRead">
            <summary>
            <para>This signal is emitted once every time new data is available for reading from the device. It will only be emitted again once new data is available, such as when a new payload of network data has arrived on your network socket, or when a new block of data has been appended to your device.</para>
            <para>readyRead() is not emitted recursively; if you reenter the event loop or call waitForReadyRead() inside a slot connected to the readyRead() signal, the signal will not be reemitted (although waitForReadyRead() may still return true).</para>
            <para>Note for developers implementing classes derived from QIODevice: you should always emit readyRead() when new data has arrived (do not emit it only because there's data still to be read in your buffers). Do not emit readyRead() in other conditions.</para>
            <para>See also bytesWritten().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQIODeviceSignals.BytesWritten(System.Int64)">
            <summary>
            <para>This signal is emitted every time a payload of data has been written to the device. The bytes argument is set to the number of bytes that were written in this payload.</para>
            <para>bytesWritten() is not emitted recursively; if you reenter the event loop or call waitForBytesWritten() inside a slot connected to the bytesWritten() signal, the signal will not be reemitted (although waitForBytesWritten() may still return true).</para>
            <para>See also readyRead().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQIODeviceSignals.AboutToClose">
            <summary>
            <para>This signal is emitted when the device is about to close. Connect this signal if you have operations that need to be performed before the device closes (e.g., if you have data in a separate buffer that needs to be written to the device).</para>
            </summary>
        </member>
        <member name="M:QtCore.IQIODeviceSignals.ReadChannelFinished">
            <summary>
            <para>This signal is emitted when the input (reading) stream is closed in this device. It is emitted as soon as the closing is detected, which means that there might still be data available for reading with read().</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also atEnd() and read().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQCoreApplicationSignals.AboutToQuit">
            <summary>
            <para>This signal is emitted when the application is about to quit the main event loop, e.g. when the event loop level drops to zero. This may happen either after a call to quit() from inside the application or when the users shuts down the entire desktop session.</para>
            <para>The signal is particularly useful if your application has to do some last-second cleanup. Note that no user interaction is possible in this state.</para>
            <para>See also quit().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQFileSystemWatcherSignals.FileChanged(System.String)">
            <summary>
            <para>This signal is emitted when the file at the specified path is modified, renamed or removed from disk.</para>
            <para>See also directoryChanged().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQFileSystemWatcherSignals.DirectoryChanged(System.String)">
            <summary>
            <para>This signal is emitted when the directory at a specified path, is modified (e.g., when a file is added, modified or deleted) or removed from disk. Note that if there are several changes during a short period of time, some of the changes might not emit this signal. However, the last change in the sequence of changes will always generate this signal.</para>
            <para>See also fileChanged().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQProcessSignals.Started">
            <summary>
            <para>This signal is emitted by QProcess when the process has started, and state() returns Running.</para>
            </summary>
        </member>
        <member name="M:QtCore.IQProcessSignals.Finished(System.Int32)">
            <summary>
            <para>This signal is emitted when the process finishes. exitCode is the exit code of the process, and exitStatus is the exit status. After the process has finished, the buffers in QProcess are still intact. You can still read any data that the process may have written before it finished.</para>
            <para>See also exitStatus().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQProcessSignals.Error(QtCore.QProcess.ProcessError)">
            <summary>
            <para>Returns the type of error that occurred last.</para>
            <para>See also state().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQProcessSignals.StateChanged(QtCore.QProcess.ProcessState)">
            <summary>
            <para>This signal is emitted whenever the state of QProcess changes. The newState argument is the state QProcess changed to.</para>
            </summary>
        </member>
        <member name="M:QtCore.IQProcessSignals.ReadyReadStandardOutput">
            <summary>
            <para>This signal is emitted when the process has made new data available through its standard output channel (stdout). It is emitted regardless of the current read channel.</para>
            <para>See also readAllStandardOutput() and readChannel().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQProcessSignals.ReadyReadStandardError">
            <summary>
            <para>This signal is emitted when the process has made new data available through its standard error channel (stderr). It is emitted regardless of the current read channel.</para>
            <para>See also readAllStandardError() and readChannel().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQVariantAnimationSignals.ValueChanged(System.Object)">
            <summary>
            <para>QVariantAnimation emits this signal whenever the current value changes.</para>
            <para>See also currentValue, startValue, and endValue.</para>
            </summary>
        </member>
        <member name="M:QtCore.IQSequentialAnimationGroupSignals.CurrentAnimationChanged(QtCore.QAbstractAnimation)">
            <summary>
            <para>QSequentialAnimationGroup emits this signal when currentAnimation has been changed. current is the current animation.</para>
            <para>See also currentAnimation().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQSignalMapperSignals.Mapped">
            <summary>
            <para>This signal is emitted when map() is signalled from an object that has an object mapping set. The object provided by the map is passed in object.</para>
            <para>See also setMapping().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQSocketNotifierSignals.Activated(System.Int32)">
            <summary>
            <para>This signal is emitted whenever the socket notifier is enabled and a socket event corresponding to its type occurs.</para>
            <para>The socket identifier is passed in the socket parameter.</para>
            <para>See also type() and socket().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQStateSignals.Finished">
            <summary>
            <para>This signal is emitted when a final child state of this state is entered.</para>
            <para>See also QFinalState.</para>
            </summary>
        </member>
        <member name="M:QtCore.IQStateSignals.PropertiesAssigned">
            <summary>
            <para>This signal is emitted when all properties have been assigned their final value. If the state assigns a value to one or more properties for which an animation exists (either set on the transition or as a default animation on the state machine), then the signal will not be emitted until all such animations have finished playing.</para>
            <para>If there are no relevant animations, or no property assignments defined for the state, then the signal will be emitted immediately before the state is entered.</para>
            <para>See also QState::assignProperty() and QAbstractTransition::addAnimation().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQStateMachineSignals.Started">
            <summary>
            <para>This signal is emitted when the state machine has entered its initial state (QStateMachine::initialState).</para>
            <para>See also QStateMachine::finished() and QStateMachine::start().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQStateMachineSignals.Stopped">
            <summary>
            <para>This signal is emitted when the state machine has stopped.</para>
            <para>See also QStateMachine::stop() and QStateMachine::finished().</para>
            </summary>
        </member>
        <member name="M:QtCore.IQTimeLineSignals.ValueChanged(System.Double)">
            <summary>
            <para>QTimeLine emits this signal at regular intervals when in Running state, but only if the current value changes. value is the current value. value is a number between 0.0 and 1.0</para>
            <para>See also QTimeLine::setDuration(), QTimeLine::valueForTime(), and QTimeLine::updateInterval.</para>
            </summary>
        </member>
        <member name="M:QtCore.IQTimeLineSignals.FrameChanged(System.Int32)">
            <summary>
            <para>QTimeLine emits this signal at regular intervals when in Running state, but only if the current frame changes. frame is the current frame number.</para>
            <para>See also QTimeLine::setFrameRange() and QTimeLine::updateInterval.</para>
            </summary>
        </member>
        <member name="M:QtCore.IQTimeLineSignals.StateChanged(QtCore.QTimeLine.State)">
            <summary>
            <para>This signal is emitted whenever QTimeLine's state changes. The new state is newState.</para>
            </summary>
        </member>
        <member name="M:QtCore.IQTimeLineSignals.Finished">
            <summary>
            <para>This signal is emitted when QTimeLine finishes (i.e., reaches the end of its time line), and does not loop.</para>
            </summary>
        </member>
        <member name="M:QtCore.IQTimerSignals.Timeout">
            <summary>
            <para>This signal is emitted when the timer times out.</para>
            <para>See also interval, start(), and stop().</para>
            </summary>
        </member>
    </members>
</doc>
