Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

Esimerkki Qt validatorin käytöstä.

Validaattorilla voidaan tarkastaa syöttöruuttuun hyväksyttävät arvot alla . Alla esimerkki, jossa hyväksyttäviä ovat ekassa kokonaisluvut väliltä 100...999 ja toisessa reaaliluvut väliltä 0...100. Idea on, että tiedon kuittauspainike enabloidaan, kun arvo on hyväksyttävällä alueella.

Luokan esittelyssä esitellään validaattorit:

...

Luokan muodostimeen tehdään validaattorit ja yhdistetään ne syttöruutuihin

Code Block

Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);
    //määrätään hyväksyttävä alue
    kokonaislukuvalidaattori = new QIntValidator(100, 999, this);
    reaalilukuvalidaattori =new QDoubleValidator(0.000,100.000,3,this);
    //yhditetään validaattorit syttöruuihinsyöttöruuihin ( EditLine )
    ui->kokonaisluku->setValidator(kokonaislukuvalidaattori);
    ui->reaaliluku->setValidator(reaalilukuvalidaattori);
    //laitetaan napit false=epätosi tilaan
    ui->lueKokonaisluku->setEnabled(false);
    ui->lueReaaliluku->setEnabled(false);
}


void Dialog::on_lueKokonaisluku_clicked()
{
    //kokonaislukuvalidaattori->validate();
    QString Apu=ui->kokonaisluku->text();
    ui->tulos->setText(Apu);


}

void Dialog::on_lueReaaliluku_clicked()
{
    QString Apu=ui->reaaliluku->text();
    ui->tulos->setText(Apu);



}

Tehdään vielä painonapeille validointi eli mahdollistetaan nappien painaminen, kun luku on hyväksyttävissä.

Code Block


void Dialog::on_kokonaisluku_textChanged(QString apu)
{
   //lueKokonaisluku nappi enabloidaan eli mahdollistetaan painaminen kun kokonaisluku tekstiruuttu on hyväksyttävissä
    ui->lueKokonaisluku->setEnabled(ui->kokonaisluku->hasAcceptableInput());
}

void Dialog::on_reaaliluku_textChanged(QString apu )
{
    ui->lueReaaliluku->setEnabled(ui->reaaliluku->hasAcceptableInput());
}