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"

//luokka on tehty perimällä se QDialog ja käyttöliittymä luokista, kyseessä on siis moniperintä
class Dialogi
namespace Ui {
    class Dialog;
}

class Dialog : 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 <QtGui>"dialog.h"
#include "dialogiui_dialog.h"

DialogiDialog::DialogiDialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    setupUi    ui->setupUi(this);     
    // QRegExp rajoittaa annettavien merkkien tyyppiä ja määrää
    QRegExp regExp("[A-Za-z][1-9][0-9]{0,2}");     ui->pushButton->setEnabled(false);
     //hyväksytään A-Z tai a-z alussa, seuraavaksi 1-9 numerot ja sitten 0-9 nollasta kahteen numeroa
    lineEdit->setValidator(new QRegExpValidator(regExp, this));// yhditetään validaattori tekstiruutuun
    connect(okButton, SIGNAL(clicked()), this, SLOT(accept()));
    connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject()));
}

void Dialogi::on_lineEdit_textChanged()
{
    okButton->setEnabled(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     QRegExp hyvaksytytMerkit("[A-Za-z][1-9][0-9]{0,21}");
     // yhditetään validaattori eli oikeellisuudeen tarkastaja  lineEdittekstiruutuun
     ui->lineEdit->setValidator(new QRegExpValidator(regExphyvaksytytMerkit, this));
    connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
    connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()))}

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

void DialogiDialog::on_lineEditpushButton_textChangedclicked()
{
          buttonBox->button(QDialogButtonBox::Ok)->setEnabled(lineEdit->hasAcceptableInput()ui->lineEdit_2->setText(apu);
}

Wizardin luoma pääohjelma

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

int main(int argc, char *argv[]void Dialog::on_lineEdit_textChanged(const QString &arg1)
{
    QApplication app(argc, argv)    apu=arg1;
    // jos syote Dialogion *dialog = new Dialogi;
    dialog->show();
    return app.exec(hyvaksyttavissa, "enabloidaan" painonappi
    ui->pushButton->setEnabled(ui->lineEdit->hasAcceptableInput());
}