...
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); 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,2}");
// yhditetään validaattori 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());
}
|