...
Esimerkissä
...
kutsutaan
...
c
...
-
...
funkioa
...
Qt:stä.
...
Näin
...
kannattaa
...
tehdä,
...
kun
...
testataan
...
esimerkiksi
...
funktiota,
...
jota
...
ei
...
tulla
...
käyttämään
...
QT:n
...
yhteydessä,
...
vaan
...
esimerkiksi
...
jossain
...
sulautetussa
...
systeemissä.
...
Tee
...
ensin
...
wizardilla
...
Dialogi-projekti,
...
johon
...
laitat
...
PushButton
...
painikkeen,
...
LineEdit_1
...
ja
...
LineEdit_2
...
tekstiruudut
...
ja
...
lcdNumber
...
näyttöruudun
Code Block |
---|
{code}
class Dialog : public QDialog {
Q_OBJECT
public:
Dialog(QWidget *parent = 0);
~Dialog();
int Tulo;//lisää tämä
int Lahto;//lisää tämä
QString TekstiNaytolle;//lisää tämä
private slots://lisää tämä
void Laske();//lisää tämä
protected:
private:
Ui::Dialog *ui;
};
|
Code Block |
---|
{code} {code} //esitellään testattava funktio int LaskeKeskiarvo(int Tulo); Dialog::Dialog(QWidget *parent) : QDialog(parent), ui(new Ui::Dialog) { ui->setupUi(this); connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(Laske()));//lisää tämä } Dialog::~Dialog() { delete ui; } void Dialog::Laske()//lisää tämä { QMessageBox msgBox; msgBox.setText("Et antanut lukua!"); bool ok=false; //ok:lla testataan oliko syötetty arvo luku QString teksti; //tekstiruudusta saadaan tekstiä, joten tarvitaan muuttuja tähän tarkoitukseen teksti= ui->lineEdit->text(); //käydään hakemassa teksti Tulo=teksti.toInt(&ok,10); //muutetaan teksti kokonaisluvuksi if(ok==false)//jos annettu kirjaimia, lopetetaan funktio { msgBox.exec(); return; } TekstiNaytolle+=teksti; //lisätään viimeksi syötetty luku jonon jatkoksi TekstiNaytolle+=" ";//lisätään tyhjää lukujen väliin ui->lineEdit_2->setText(TekstiNaytolle);//laiteaan kaikki syötetyt luvut tekstinäytölle ui->lcdNumber->display(LaskeKeskiarvo(Tulo));// kutsutaan funktiota LaskeKeskiarvo ja //laitetaan saatu arvo lcd-näytölle} {code} |
Ja
...
täällä
...
testattava
...
funktio,
...
jossa
...
ei
...
ole
...
mitään
...
Qt:hen
...
liittyvää
Code Block |
---|
} int Vektori[10]={0}; int i=0; int k=0; //tässä kannattaa olla tarkkana, jotta summa sopii muuttujaan long int Summa=0; int LaskeKeskiarvo(int Tulo) { Vektori[i]=Tulo; i++; if(i==10)i=0; Summa=0; for(k=0;k<10;k++) { Summa+=Vektori[k]; } return Summa/10; } {code} |