使用QUuid生成唯一码

1 生成唯一码方法

  • 使用QUuid的createUuid()静态函数;
  • QUuid::createUuid().toString()

2 适用性

  • 在Windows平台上,会生成一个GUID,几乎可以肯定,不管是否联网,它在这个或任何其他系统上都是唯一的;
  • 在Windows平台外,如果系统存在/dev/urandom设备,那么用于构造UUID的数字将具有加密保证,这将使UUID是唯一的。

3 局限性

  • 非Windows平台且系统不存在/dev/urandom设备,由于生成的UUID由qrand()种子获得,所以产生的UUID不保证具有唯一性。

4 例子

  • 代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include <QDebug>
    #include <QUuid>

    int main(int argc, char *argv[])
    {
    qDebug()<<QUuid::createUuid().toString();

    return 0;
    }
  • 输出

    1
    {50ebc128-9838-41f0-bc3c-ce15dcaa981f}