" ... avete presente lo schemino degli insiemi che si intersecano? ...navigheremo soprattutto nella zona tratteggiata...a volte spostandoci, a seconda della corrente, anche nell'uno o nell'altro emisfero...senza allontanarci troppo però ..."

giovedì 19 agosto 2010

Generare numeri casuali con Qt

Come si generano numeri a caso usando Qt ?

Eccovi un piccolo gadget che premendo un pulsante genera dei numeri casuali e li visualizza in una casella di testo.


Già che mi trovavo gliene ho fatti generare sei, così potremo anche  tentare la fortuna di tanto i tanto, hai visto mai ...

-------------------------
Licenza Creative Commons
Questa opera è pubblicata sotto una 
Licenza Creative Commons.
Tutto quello che viene pubblicato in questo Blog è rilasciato sotto licenza Creative Commons Attribuzione-Non commerciale-Condividi allo stesso modo 2.5 Italia

ovvero, in sintesi:
- puoi liberamente modificare, distribuire, esporre in pubblico tutto ciò che è presente in questo Blog
- non puoi usare i contenuti del Blog per scopi commerciali
- devi citare l'autore: Franco Babbo - bytewalker su egoprogrammo.blogspot.com
- devi condividerlo allo stesso modo.
per altre informazioni:
------------------------------

Senza dilungarmi troppo riporto direttamente i file di interfaccia ed implementazione della classe principale.

Se avete seguito i post precedenti non dovreste avere problemi a creare un proggetto e quindi un applicazione funzionante con Qt SDK.

Per qualsiasi dubbio, comunque, "non siate timidi" e contattatemi.


Ciao,
Franco.




finestraprincipale.h
---------------------------------

#ifndef FINESTRAPRINCIPALE_H
#define FINESTRAPRINCIPALE_H

#include <QWidget>
#include <QTime>


namespace Ui {
    class FinestraPrincipale;
}

class FinestraPrincipale : public QWidget
{
    Q_OBJECT

public:
    explicit FinestraPrincipale(QWidget *parent = 0);
    ~FinestraPrincipale();

public slots:
   void on_estraipushButton_clicked();

protected:
    void changeEvent(QEvent *e);

private:
    Ui::FinestraPrincipale *ui;
};

#endif // FINESTRAPRINCIPALE_H

---------------------------------

finestraprincipale.cpp
---------------------------------

#include "finestraprincipale.h"
#include "ui_finestraprincipale.h"

FinestraPrincipale::FinestraPrincipale(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::FinestraPrincipale)
{
    ui->setupUi(this);
}

FinestraPrincipale::~FinestraPrincipale()
{
    delete ui;
}


void FinestraPrincipale::on_estraipushButton_clicked()
{
    //inizializzo il generatore di numeri casuali
    QTime midnight(0,0,0);
    qsrand(midnight.secsTo(QTime::currentTime()));

    int n;
    QString testo="";

    ui->estrazionelineEdit->setText(testo);

    //genero sei numeri casuali da 1 a 90
    //e li concateno in una stringa di testo
    for(int i=0;i<6;i++)
    {
        n = 1+ qrand() % 90;
        testo+=QString::number(n);
        testo+=" ";
    }

    //stampo la stringa così ottenuta
    ui->estrazionelineEdit->setText(testo);;
}


void FinestraPrincipale::changeEvent(QEvent *e)
{
    QWidget::changeEvent(e);
    switch (e->type()) {
    case QEvent::LanguageChange:
        ui->retranslateUi(this);
        break;
    default:
        break;
    }
}
---------------------------------





1 commento: