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

Compare with Current View Page History

« Previous Version 8 Next »

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.

TEMPLATE      = app
HEADERS       = dialogi.h
SOURCES       = dialogi.cpp \
                main.cpp
FORMS         = dialogi.ui

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.

tiedostoa, huomaat sieltä löytyvän samojen asioiden kuin edellisessä tehtävässä tehtiin ohjelmallisesti.

#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
#include "ui_dialogi.h"

class Dialogi : public QDialog, public Ui::Dialogi
{
    Q_OBJECT
public:
    Dialogi(QWidget *parent = 0);
private slots:
    void on_lineEdit_textChanged();
};
#endif



sdsad

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


Dialogi::Dialogi(QWidget *parent) : QDialog(parent)
{
    setupUi(this);
    QRegExp regExp("[A-Za-z][1-9][0-9]{0,2}");//rajoitetaan sallittuja kirjaimia ja numeroita
    lineEdit->setValidator(new QRegExpValidator(regExp, this));
    connect(okButton, SIGNAL(clicked()), this, SLOT(accept()));
    connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject()));
}

void Dialogi::on_lineEdit_textChanged()
{
    okButton->setEnabled(lineEdit->hasAcceptableInput());
}

Wizardin luoma pääohjelma

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

int main(int argc, char *argv[])

{
    QApplication app(argc, argv);
    Dialogi *dialog = new Dialogi;
    dialog->show();
    return app.exec();
}
  • No labels
You must log in to comment.