QT GUI C++ Signal Slot Kavramı Part 2 (Örnekler)
Bu yazıda signal ve slot ile ilgili örnekler vereceğim ve nasıl kullanıldığına daha yakından bakacağız. Bu sayede signal ve slot kavramını iyice anladıktan sonra bundan sonraki konularda signal ve slot kavramını daha sık kullanacağız.Bu yazı QT GUI C++ Signal Slot Kavramı Part - 1 adlı yazının devamı durumundadır. Ordaki meseleyi anladıysanız burdada örneklerden konuyu iyice oturtacağız diye ümit ediyorum.
Burda timer nesnesi header de tanımlanan bir QTimer nesnesidir timer nesnesi her timeout olduğunda form üzerindeki fonksiyon slotunu çalıştırsın diyoruz ve timer nesnesini 5 saniyede bir çalıştırıyoruz. Bu fonksiyon aslında QT ile programda idle kodu olarakta bilinir. yani her 5 saniyede bir kod blogu çalışacaktır
timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(fonksiyon()));
timer->start(5000);
burda ise action isimli bir QAction nesnesi oluşturuldu ve action triggered olduğunda form üzerindeki fonk fonksiyonu çalışacaktır
action = new QAction("durum", this);
connect(action,SIGNAL(triggered()),this, SLOT(fonk()));
menu->addAction(action);
Bunlar bizim form üzerinde slot olarak tanımladığımız fonksiyonlar bu fonksiyonları programdaki signal nesnelerimiz slot olarak çağıracaktır
void MainWindow::fonksiyon()
{
// fonksiyon içerisindeki kodlar
}
void MainWindow::fonk()
{
//fonksiyon içerisindeki kodlar
}
#include "headers.h"
#include "header.h"
//header dosyalarımız
private:
QTimer *timer;
QAction *action;
//nesnelerimiz
private slots:
void showWindow();
void slider_change();
//tanımlamış oldugumuz slotlarımız
Umarım Örneklerimizde Signal Slot olayını anlatabilmişimdir...
Burak hamdi Tufan
İyi çalışmalar
Comments