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.