Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Polish
  4. Wątki - wznawianie/zatrzymywani
Forum Updated to NodeBB v4.3 + New Features

Wątki - wznawianie/zatrzymywani

Scheduled Pinned Locked Moved Polish
2 Posts 2 Posters 2.0k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    C Offline
    ChevLucas
    wrote on last edited by
    #1

    Witam, utworzyłem klasę i dodaję ją do nowego wątku (this->moveToThread(QThread*));
    wszystko ładnie działa, podłączyłem sygnały tej klasy do funkcji, które działają w wątku głównym. Musiałem tak zrobić bo w wątkach steruję Labelami, które wyświetlam na formie. Jednak potrzebuję też losować pozycję tych labelów. Początkowo losowanie odbywa się w konstruktorze, a więc zanim klasa będzie działać w osobnym wątku. Jednak, gdy to losowanie odbywa się już gdy wątek chodzi, coś nie działa prawidłowo. Wydaje mi się, że gdyby zatrzymać wątek i funkcję losowania wykonać w głównym wątku to by działało wtedy ok. Jednak nie wiem jak zatrzymać wątek, wyrzucić z niego klasę, wykonać funkcję i z powrotem dać this->moveToThread(QThread*), thread->start();

    1 Reply Last reply
    0
    • sierdzioS Offline
      sierdzioS Offline
      sierdzio
      Moderators
      wrote on last edited by
      #2

      Oddziel porządnie logikę od GUI. Pamiętaj, w Qt rendering może być wykonywany wyłącznie w głównym threadzie. A więc, gdy wątek wygeneruje kombinajcę labeli, prześlij w sygnale (albo mutexami) do wątku głównego informacje na temat nowej kombinacji w jakiś uzgodniony sposób (QStringList, QVector, może QMap, etc.).

      Albo, wyślij z wątku krótki sygnał, że należy przemieszać labelki, a logikę umieść w głównym wątku.

      (Z(:^

      1 Reply Last reply
      0

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved