win.h
#ifndef WIN_H #define WIN_H #include <QWidget> #include <QRandomGenerator> //随机数类 #include <QDebug> class Win : public QWidget { Q_OBJECT public: Win(QWidget *parent = nullptr); ~Win(); QRandomGenerator qg; //随机数实例 }; #endif // WIN_H
win.cpp
#include "win.h" Win::Win(QWidget *parent) : QWidget(parent) { int i=0,n=0; quint32 value = QRandomGenerator::global()->generate(); //返回一个32位随机数 //随机数序列不相同---1866719396 int A=10,B=15; for(i=0;i<10;i++){ n=QRandomGenerator::global()->generateDouble()*(B-A)+A; //产生[10,15)之间的随机整数 //跟种子无关----推荐使用 //qDebug()<<n; } quint32 v=qg.generate(); //返回一个32位随机数 //注意:种子相同,随机数序列相同---853323747 for(i=0;i<100;i++){ n=qg.bounded(20); //产生[0,20)之间的随机整数 //注意:种子相同,随机数序列相同 //qDebug()<<n; } for(i=0;i<10;i++){ n=qg.bounded(10,20); //产生[10,20)之间的随机整数 //注意:种子相同,随机数序列相同 //qDebug()<<n; } qg.seed(2); //使用种子值重新播种此对象 //也起到修改种子的作用 for(i=0;i<10;i++){ double d=qg.generateDouble(); //产生[0,1)之间的随机小数 //注意:种子相同,随机数序列相同 //qDebug()<<d; } } Win::~Win() { }