Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

Signaalit

...

ja

...

slotit

...

Qt:n dokumentaatiossa

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\]_

...

Linkki

...

Qt:n

...

dokumentaatioon

...