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