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

Compare with Current View Page History

« Previous Version 6 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

 // Hyväksy kokonaisluvut väliltä 100...999,
 QValidator *kokonaislukuvalidaattori = new QIntValidator(100, 999, this);
 //hyväksy double-tyypin reaaliluku väliltä 0...100 ja kolme desimaalia
 QValidator *reaalilukuvalidaattori =new QDoubleValidator(0,100,3,this);
 //sido validaattori editLine objektiin nimeltään kokonaisluku
 ui->kokonaisluku->setValidator(kokonaislukuvalidaattori);
 //sido validaattori editLine objektiin nimeltään reaaliluku
 ui->reaaliluku->setValidator(reaalilukuvalidaattori);

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öruuihin ( EditLine )
    ui->kokonaisluku->setValidator(kokonaislukuvalidaattori);
    ui->reaaliluku->setValidator(reaalilukuvalidaattori);
    //laitetaan napit false tilaan
    ui->lueKokonaisluku->setEnabled(false);
    ui->lueReaaliluku->setEnabled(false);
}

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

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

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



}

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.