...
...
...
...
Signaali lähettää viestin ja slot ottaa sen vastaan. seuraavassa esimerkissä viedään teksti lineEdit ruudusta toiseen ruutuun. Tee dialogi sovellus.
Code Block |
---|
dokumentaatiossa|http://doc.qt.nokia.com/latest/signalsandslots.html] Signaali lähettää viestin ja slot ottaa sen vastaan. seuraavassa esimerkissä viedään teksti lineEdit ruudusta toiseen ruutuun. Tee dialogi sovellus. {code} //tämä on luokan kuvaus ja se on aina xxx.h tiedostossa class Dialog : public QDialog //luokka Dialog periytyy QDialog luokasta, joka on yksi Qt:n perusluokkia { Q_OBJECT public: explicit Dialog(QWidget *parent = 0); //tämä on muodostimen esittely, muodostin "ajetetaan" ohjelman alkaessa ~Dialog(); //tämä on hajottimen esittely //tähän voit lisätä omia muuttujia ja funktioita esim. int laskuri; private: Ui::Dialog *ui; //tähän voit lisätä omia yksityisiä muuttujia ja fuinktioitapublic slots: // Oma slot-funktio tekstin siirtoa varten private slots: void SiirraTeksti(); // Lisää tämä }; {code} {code} |
Code Block |
---|
// Muodostin, tämän wizard teki automaattisesti
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
// kiinnitetään siirtonapin signaali clicked slotiin SiirraTeksti, tämä pitää tehdä itse
connect(ui->siirtonappi,SIGNAL(clicked()),this,SLOT(SiirraTeksti()));
}
// Hajoitin
Dialog::~Dialog()
{
delete ui;
}
// Oma slot funktio joka siirtää tekstin ylhäältä alas
void Dialog::SiirraTeksti()
{
QString Apu;
// Haetaan käyttöliittymästä lahde lineEdit ruudusta teksti
Apu=ui->lahde->text();
// Laitetaan teksti käyttöliittymään kohde lineEdit ruutuun
ui->kohde->setText(Apu);
// Putsataan lahde lineEdit
ui->lahde->clear();
} // SiirraTeksti funktion loppu
{code}
h3. Automaattiset |
Automaattiset signaali-slot
...
yhteydet
...
Tietyllä
...
tavalla
...
nimetyt
...
slotit
...
yhdistetään
...
automaattisesti
...
signaaleihin.
...
Jos
...
esimerkiksi
...
käyttöliittymässä
...
on
...
pushButton
...
-niminen
...
nappi,
...
niin
...
alla
...
oleva
...
slot
...
yhdistetään
...
automaattisesti
...
sen
...
signaaliin
...
clicked()
...
:
Code Block |
---|
} void on_pushButton_clicked() { } {code} |
Wiki Markup |
---|
Tässä avainsanat siis ovat: _on\_\[widgetin nimi\]\_\[signaalin nimi\]_ |
...
...
...
...