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

...

Code Block
#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
#include "ui_dialogi.h"

//luokkanamespace onUi tehty{
    perimällä se QDialog ja käyttöliittymä luokista, kyseessä on siis moniperintäclass Dialog;
}

class DialogiDialog : public QDialog, public Ui::Dialogi
{
       Q_OBJECT
public:
    explicit   DialogiDialog(QWidget *parent = 0);
    ~Dialog();
    QString apu;
private slots:
      void on_pushButton_clicked();
    void on_lineEdit_textChanged(const QString &arg1);//tämä funktio ajetaan aina läpi tekstin muuttuessa lineEdit ruudussa
private:
    Ui::Dialog *ui;
};

#endif // DIALOG_H

Ja luokan toteutus tältä

Code Block
#include "dialog.h"
#include "ui_dialog.h"

Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);
     ui->pushButton->setEnabled(false);
     //hyväksytään A-Z tai a-z alussa, seuraavaksi 1-9 numerot ja sitten 0-9 nollasta kahteen numeroa
     QRegExp hyvaksytytMerkit("[A-Za-z][1-9][0-9]{0,21}");
     // yhditetään validaattori eli oikeellisuudeen tarkastaja tekstiruutuun
     ui->lineEdit->setValidator(new QRegExpValidator(hyvaksytytMerkit, this));


}

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

void Dialog::on_pushButton_clicked()
{
       ui->lineEdit_2->setText(apu);
}


void Dialog::on_lineEdit_textChanged(const QString &arg1)
{
    apu=arg1;
    ui->pushButton->setEnabled(false);
    ui->pushButton->setEnabled(ui->lineEdit->hasAcceptableInput());
}

Tai tältä

Code Block

#include <QtGui>
#include "dialogi.h"

Dialogi::Dialogi(QWidget *parent): QDialog(parent)
{
    setupUi(this);
    buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);
    QRegExp regExp("[A-Za-z][1-9][0-9]{0,2}");
    lineEdit->setValidator(new QRegExpValidator(regExp, this));
    connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
    connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
}

void Dialogi::on_lineEdit_textChanged()
{
    buttonBox->button(QDialogButtonBox::Ok)->setEnabled(lineEdit->hasAcceptableInput());
}

Wizardin luoma pääohjelma

Code Block

#include <QApplication>
#include "dialogi.h"

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    Dialogi *dialog = new Dialogi;
    dialog->show();
    return app.exec(// jos syote on hyvaksyttavissa, "enabloidaan" painonappi
    ui->pushButton->setEnabled(ui->lineEdit->hasAcceptableInput());
}