Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0
Wiki Markup
Tähän esimerkkiin on lisätty Dialogille oma luokka sekä säännöllisten lauseiden käsittelijä. Ohjelma on tuotettu Creatorin wizardilla ja graafisella editorilla.

...



{code
}
TEMPLATE      = app
HEADERS       = dialogi.h
SOURCES       = dialogi.cpp \
                main.cpp
FORMS         = dialogi.ui
{code}
Dialogiin pitää siirtää valikosta napit, vaakasuorat layoutit(punaiset suorakaiteet), ja "spacer"(sininen nauha). Layoutien ja spacerin avulla dilogi pysyy saman muotoisena vaikka sitä venytettäisiin.

...

Image Removed

Dialogin ohsikkotiedosto näyttää tältä

Code Block


!regularexp.png|border=1!

Dialogin ohsikkotiedosto näyttää tältä

{code}
#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>

namespace Ui {
    class Dialog;
}

class Dialog : public QDialog
{
    Q_OBJECT
public:
    explicit Dialog(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
{code}
Ja luokan toteutus tältä

...



{code
}
#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,1}");
     // 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;
    // jos syote on hyvaksyttavissa, "enabloidaan" painonappi
    ui->pushButton->setEnabled(ui->lineEdit->hasAcceptableInput());
}
{code}