|  | Home · All Classes · Modules

# QUuid Class Reference
[QtCore module]

The QUuid class stores a Universally Unique Identifier (UUID). More...

### Types

- enum Variant { VarUnknown, NCS, DCE, Microsoft, Reserved }
- enum Version { VerUnknown, Time, EmbeddedPOSIX, Name, Random }

### Methods

- __init__ (self)
- __init__ (self, unsigned long l, unsigned long w1, unsigned long w2, char b1, char b2, char b3, char b4, char b5, char b6, char b7, char b8)
- __init__ (self, QString)
- __init__ (self, QUuid other)
- bool isNull (self)
- QString toString (self)
- Variant variant (self)
- Version version (self)

### Static Methods

- QUuid createUuid ()

### Special Methods

- bool __eq__ (self, QUuid orig)
- bool __ge__ (self, QUuid other)
- bool __gt__ (self, QUuid other)
- bool __le__ (self, QUuid other)
- bool __lt__ (self, QUuid other)
- bool __ne__ (self, QUuid orig)
- object __repr__ (self)

## Detailed Description

The QUuid class stores a Universally Unique Identifier (UUID).

For objects or declarations that must be uniquely identified, UUIDs (also known as GUIDs) are widely used in order to assign a fixed and easy to compare value to the object or declaration. The 128-bit value of a UUID is generated by an algorithm that guarantees that the value is unique.

In Qt, UUIDs are wrapped by the QUuid struct which provides convenience functions for handling UUIDs. Most platforms provide a tool to generate new UUIDs, for example, `uuidgen` and `guidgen`.

UUIDs generated by QUuid, are based on the `Random` version of the `DCE` (Distributed Computing Environment) standard.

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().

## Type Documentation

### QUuid.Variant

This enum defines the variant of the UUID, which is the scheme which defines the layout of the 128-bits value.

Constant | Value | Description
--- | --- | ---
`QUuid.VarUnknown` | `-1` | Variant is unknown
`QUuid.NCS` | `0` | Reserved for NCS (Network Computing System) backward compatibility
`QUuid.DCE` | `2` | Distributed Computing Environment, the scheme used by QUuid
`QUuid.Microsoft` | `6` | Reserved for Microsoft backward compatibility (GUID)
`QUuid.Reserved` | `7` | Reserved for future definition

### QUuid.Version

This enum defines the version of the UUID.

Constant | Value | Description
--- | --- | ---
`QUuid.VerUnknown` | `-1` | Version is unknown
`QUuid.Time` | `1` | Time-based, by using timestamp, clock sequence, and MAC network card address (if available) for the node sections
`QUuid.EmbeddedPOSIX` | `2` | DCE Security version, with embedded POSIX UUIDs
`QUuid.Name` | `3` | Name-based, by using values from a name for all sections
`QUuid.Random` | `4` | Random-based, by using random numbers for all sections

## Method Documentation

### QUuid.__init__ (self)

Creates the null UUID {00000000-0000-0000-0000-000000000000}.

### QUuid.__init__ (self, unsigned long l, unsigned long w1, unsigned long w2, char b1, char b2, char b3, char b4, char b5, char b6, char b7, char b8)

Creates a UUID with the value specified by the parameters, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8.

Example:

         // {67C8770B-44F1-410A-AB9A-F9B5446F13EE}
         QUuid IID_MyInterface(0x67c8770b, 0x44f1, 0x410a, 0xab, 0x9a, 0xf9, 0xb5, 0x44, 0x6f, 0x13, 0xee)

### QUuid.__init__ (self, QString)

Creates a QUuid object from the string text. The function can only convert a string in the format {HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH} (where 'H' stands for a hex digit). If the conversion fails a null UUID is created.

### QUuid.__init__ (self, QUuid other)

### QUuid QUuid.createUuid ()

Returns a new UUID of `DCE` variant, and `Random` type. The UUIDs generated are based on the platform specific pseudo-random generator, which is usually not a cryptographic-quality random number generator. Therefore, a UUID is not guaranteed to be unique cross application instances.

On Windows, the new UUID is extremely likely to be unique on the same or any other system, networked or not.

See also variant() and version().

### bool QUuid.isNull (self)

Returns true if this is the null UUID {00000000-0000-0000-0000-000000000000}; otherwise returns false.

### QString QUuid.toString (self)

Returns the string representation of the uuid.

### Variant QUuid.variant (self)

Returns the variant of the UUID. The null UUID is considered to be of an unknown variant.

See also version().

### Version QUuid.version (self)

Returns the version of the UUID, if the UUID is of the DCE variant; otherwise returns VerUnknown.

See also variant().

### bool QUuid.__eq__ (self, QUuid orig)

### bool QUuid.__ge__ (self, QUuid other)

### bool QUuid.__gt__ (self, QUuid other)

### bool QUuid.__le__ (self, QUuid other)

### bool QUuid.__lt__ (self, QUuid other)

### bool QUuid.__ne__ (self, QUuid orig)

### object QUuid.__repr__ (self)