You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Esimerkki Qt validatorin käytöstä.

Validaattorilla voidaan 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
Luokan esittelyssä esitellään validaattorit:

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

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

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);



}

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

void Dialog::on_kokonaisluku_textChanged(QString apu)
{
    ui->lueKokonaisluku->setEnabled(ui->kokonaisluku->hasAcceptableInput());
}

void Dialog::on_reaaliluku_textChanged(QString apu )
{
    ui->lueReaaliluku->setEnabled(ui->reaaliluku->hasAcceptableInput());
}
  • No labels
You must log in to comment.