How to generate random number in Qt

If you thought Qt provided you with a robust count of math algorithms already, you’ll be in for a surprise. There is qrand(), but it doesn’t quite provide you with the user-friendliness of other languages. For example, sometimes you want a random number that is negative. Sure, you can do this all manually, but then you’d have to write your own function. Unfortunately, that’s exactly what you’ll have to do.

http://developer.nokia.com/Community/Wiki/Generating_random-value_integers_in_Qt

#include <QGlobal.h>
#include <QTime>

int QMyClass::randInt(int low, int high)
{
// Random number between low and high
return qrand() % ((high + 1) - low) + low;
}

// Create seed for the random
// That is needed only once on application startup
QTime time = QTime::currentTime();
qsrand((uint)time.msec());

// Get random value between 0-100
int randomValue = randInt(0,100);

It is recommended that you don’t use qrand() by default if you want to generate encryption-level random numbers.

So, with that code, now you can set a range of numbers which you can pull random numbers from. Make note that qsrand() only sets the seed and you should only do that once.