Własny timer w oparciu o QT i PThreads

Własny timer w oparciu o QT i PThreads
SO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 45
0

Witam, potrzebuję zrobić taki timer któremu podaje czas np. 10s, i w QLabel jest odliczanie, gdy dojdzie do "0" coś się dzieję, nie mam pojęcia jak się za to zabrać, musi to być pthreads.
Pozdrawiam

n0name_l
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2412
0

Kiepsko opisales swoj problem. Na ta chwile moge jedynie powiedziec, zebys zrobil jakas zmienna, do ktorej dostep bedzie mozliwy z obu watkow. Kiedy czas w labelu dojdzie do zera, ustawiasz ta zmienna. Drugi watek caly czas czeka na jej ustawienie, zczytuje i wykonuje jakas akcje. Poczytaj o pthread_cond_* albo opisz problem w wiekszych szczegolach.

SO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 45
0

Właśnie o to mi chodzi tylko pojęcia nie mam jak to połączyć składniowo, UI -> QT, wątki z pThreads. W skrócie licznik leci od 10 do 0, po czym nastepuję np. wyśiwetlenie QDialog.

SO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 45
0

Po przerwie odpisuje, dlaczego po utworzeniu wątku pThreads np. gdy wywołuję poniższą funkcję, gui wraz z programem wyłacza się ?
Czy da się to posklejać ? tzn. pThreads + GUI ?

Kopiuj

void* watek(void* _arg) {

    MainWindow w;
    w.okienkoKoncowe();
    cout<<("Witaj w równoległym świecie!");
    return NULL;
}

void MainWindow::on_newGameButton_clicked()
{
   punkty = 0;
   tablicaWylosowanych.clear();
   ui->confirmButton->setEnabled(true);
   ui->endGameButton->setEnabled(true);
   ui->nextButton->setEnabled(true);
   noweDzialanie();
   int N=5;
   pthread_t id [N];
   pthread_create(&id[1],NULL,watek,NULL);
   
   
   


}

Błędy:

QApplication: Object event filter cannot be in a different thread.
QApplication: Object event filter cannot be in a different thread.QObject::setParent: Cannot set parent, new parent is in a different thread
QApplication: Object event filter cannot be in a different thread.
QApplication: Object event filter cannot be in a different thread.
QApplication: Object event filter cannot be in a different thread.
QApplication: Object event filter cannot be in a different thread.
QApplication: Object event filter cannot be in a different thread.
QApplication: Object event filter cannot be in a different thread.
QApplication: Object event filter cannot be in a different thread.
QApplication: Object event filter cannot be in a different thread.
QApplication: Object event filter cannot be in a different thread.
QApplication: Object event filter cannot be in a different thread.
QApplication: Object event filter cannot be in a different thread.
QApplication: Object event filter cannot be in a different thread.
QApplication: Object event filter cannot be in a different thread.

POZDRAWIAM !

SO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 45
0

To moze tak: czy jest mozliwosc zarzadzania elementami QT z poziomu pthread ?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.