qt中如何生成随机数,有几种方法
时间: 2023-06-20 14:07:30 浏览: 728
在Qt中,可以使用以下几种方法生成随机数:
1. 使用Qt的QRandomGenerator类
该类提供了一种生成随机数的简单方法。可以使用该类的静态函数generate()生成一个指定范围内的随机数。例如,以下代码将生成1到100之间的随机整数:
```cpp
QRandomGenerator rand;
int num = rand.generate() % 100 + 1;
```
2. 使用Qt的QCryptographicHash类
该类提供了一种生成加密安全随机数的方法。可以使用该类的静态函数generateSeed()生成一个随机数种子,并将其用作随机数的生成器。例如,以下代码将生成1到100之间的随机整数:
```cpp
QByteArray seed = QCryptographicHash::generateSeed(sizeof(quint32));
QRandomGenerator rand(seed);
int num = rand.generate() % 100 + 1;
```
3. 使用C++11的标准库
如果你正在使用Qt5或更高版本,则可以使用C++11的标准库来生成随机数。可以使用<random>头文件中的std::default_random_engine类和std::uniform_int_distribution类来生成1到100之间的随机整数。例如,以下代码将生成1到100之间的随机整数:
```cpp
std::random_device rd;
std::default_random_engine rand(rd());
std::uniform_int_distribution<int> dist(1, 100);
int num = dist(rand);
```
以上是在Qt中生成随机数的几种方法,根据需要选择适合你的方法。
阅读全文