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

...

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:

{
Code Block
}
class Dialog : public QDialog {
    Q_OBJECT
public:
    Dialog(QWidget *parent = 0);
    ~Dialog();
    QValidator *kokonaislukuvalidaattori;
    QValidator *reaalilukuvalidaattori;
{code}

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 syö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);
}

{code}

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());
}
{code}