Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Qt] - Wywołanie funkcji w drugim wątku

Ostatnio zmodyfikowano 2017-03-24 09:21
Autor Wiadomość
croppp
Temat założony przez niniejszego użytkownika
[Qt] - Wywołanie funkcji w drugim wątku
» 2017-03-23 21:59:44
Nie potrafię poradzić sobie z wywołaniem funkcji w innym wątku. Mam zdarzenie, które wywołuje funkcję wtedy gdy otrzyma dane - dzieje się to praktycznie cały czas. Zależnie od wartości tych danych funkcja wywołuje się bądź nie. Jako że mam w niej delaye chciałbym, żeby wykonywała się w osobnym wątku. Funkcja przyjmuje jako parametr wartość int.

Jak najprościej coś takiego wykonać? Przeszukałem google i nadal nie wiem jak się za to zabrać. Byłbym wdzięczny za pomoc, dzięki.
P-159305
mateczek
» 2017-03-24 09:21:19
sposobów jest cała masa.
1. możesz skorzystać z wątków w bibliotece standardowej.
2. wątki w Qt też są dość rozbudowane.
   komunikacja z obiektem w wątku przy pomocy sygnałów i slotów https://youtu.be/W3omS_AXZIs moja tutka
   https://www.youtube.com​/results​?search_query=qthread+VoidRealms  fajny kanał o Qt sporo informacji.
   np możesz zrobić klasę dziedziczącą po qthread.

Przykładowy kod do wykorzystania:
C/C++
#include<QThread>
class mthread
    : public QThread
{
    Q_OBJECT
    int zmienna;
public:
    mthread() { }
    void metoda( int _zmienna ) { // metoda w wątku głównym
        zmienna = _zmienna;
        this->start(); //start wątku uruchamia się funkcja run.
    }
    void run() {
        // funkcja w oddzielnym wątku się wykona
    }
};
P-159319
« 1 »
  Strona 1 z 1