Przy użyciu biblioteki Qt chce stworzyć coś w rodzaju harmonogramu zadać. W skrócie wygląda to tak:
- Użytkownik klika przycisk DODAJ i otwiera się nowe okno z kilkoma parametrami, ustawia godzinę i zatwierdza.
- W głównym oknie programu znajduje się QListWidget do którego zostaje dopisany opis zadania wraz z godziną
- Przy zatwierdzaniu wywołuję funkcje z mojej klasy harmonogram, która posiada tablicę 10 elementów QTimer. Przy użyciu pierwszego elementu tablicy tworzę połączenia z sygnałem QTimer::timeout.
- Liczona jest ilość sekund między obecną godziną a godziną ustawioną przez użytkownika i uruchamia się timer z określonym czasem.
Czasami będzie trzeba takie zadanie zatrzymać / usunąć zanim jeszcze się wykona. Obok przycisku dodającego zadania jest przycisk, który te właśnie zadania usuwa.
Z QListWidget pobierany jest "numer" zadania ( indeks ) i wysyłany do funkcji, która powinna zatrzymać odpowiedni QTimer.
Problem polega na tym, że licznik nie chce się zatrzymać i pracuje dalej, aż do wysłania sygnału timeout i wykonania operacji, dopiero wtedy się zatrzymuje. Próbowałem już chyba wszystkiego co tylko potrafię. W 90% przypadków program się crashuje, albo tak jak napisałem wyżej QTimer działa dalej, pozostałe 10% przypadków to... sam nie wiem. Czasami coś zrobię i niby działa, ale już przy następnej próbie już nie.
Liczę na waszą pomoc. Zakładam też, że jest jakiś inny sprytny sposób, aby wykonać taki harmonogram. Jeżeli ktoś ma jakąś wizję to proszę o jej zamieszczenie poniżej.
- Użytkownik klika przycisk DODAJ i otwiera się nowe okno z kilkoma parametrami, ustawia godzinę i zatwierdza.
- W głównym oknie programu znajduje się QListWidget do którego zostaje dopisany opis zadania wraz z godziną
- Przy zatwierdzaniu wywołuję funkcje z mojej klasy harmonogram, która posiada tablicę 10 elementów QTimer. Przy użyciu pierwszego elementu tablicy tworzę połączenia z sygnałem QTimer::timeout.
- Liczona jest ilość sekund między obecną godziną a godziną ustawioną przez użytkownika i uruchamia się timer z określonym czasem.
Code: cpp
Czasami będzie trzeba takie zadanie zatrzymać / usunąć zanim jeszcze się wykona. Obok przycisku dodającego zadania jest przycisk, który te właśnie zadania usuwa.
Code: cpp
Z QListWidget pobierany jest "numer" zadania ( indeks ) i wysyłany do funkcji, która powinna zatrzymać odpowiedni QTimer.
Code: cpp
Problem polega na tym, że licznik nie chce się zatrzymać i pracuje dalej, aż do wysłania sygnału timeout i wykonania operacji, dopiero wtedy się zatrzymuje. Próbowałem już chyba wszystkiego co tylko potrafię. W 90% przypadków program się crashuje, albo tak jak napisałem wyżej QTimer działa dalej, pozostałe 10% przypadków to... sam nie wiem. Czasami coś zrobię i niby działa, ale już przy następnej próbie już nie.
Liczę na waszą pomoc. Zakładam też, że jest jakiś inny sprytny sposób, aby wykonać taki harmonogram. Jeżeli ktoś ma jakąś wizję to proszę o jej zamieszczenie poniżej.