Zobacz temat
DevQt.pl - Programowanie C++ / Qt :: PROGRAMOWANIE - C++ i Qt :: Szukam Pomocy
Kto jeszcze czyta ten temat? 1 gość(ci)
|
Okienka aplikacji "lagują" podczas wykonywania pętli.
|
|
| wojtek1990 |
Dodany dnia 22.07.2010 16:42:04
|
Początkujący Użytkownik![]() Postów: 13 Data rejestracji: 20.07.10 |
Witam. Probuje stworzyć prostą aplikacje (bot do gry) w QT. Pierwsza "poważniejsza" funkcja działa, ale okienka aplikacji lagują po jej wywołaniu (zresztą dzieje sie tak kiedy wywołam jakąkolwiek pętle). Stworzylem główne okno, ktore wywoluje okienko Tasker w ten sposob: Tak wyglada to okienko przed uruchomieniem funkcji tasker'a: ![]() A tak przy jego dzialaniu (aplikacja dziala ale okienko sie zwiesza, a wolalbym jednak móc zatrzymac ją checkbox'em z okienka Tasker'a): ![]() Do tej pory progamowalem wylacznie strukturalnie bardzo proste aplikacje, poczytalem troche o programowaniu obiektowym i postanowailem sie troche w to "pobawic". Nie mam jeszcze wystarczajacej wiedzy w jaki sposob jedna aplikacja moze wykonywac wiele pętli jednoczesnie. Czy trzeba uworzyc jakis nowy proces aby bylo to mozliwe ? Prosilbym o doedukowanie mnie - jesli ktos ma link do jakiegos porzadnego tutoriala, z ktorym mi sie zapoznać przed tworzeniem takiej aplikacji proszę o linka. Ps. Po zamknieciu okienka (ctrl + alt + delete) w Komunikatach aplikacji pojawia sie: Zalaczam kod Tasker'a ... mam nadzieje, ze nie bedziecie do mnie strzelac, iz zabieram sie do czegos nie posiadajac wystarczajacej wiedzy. addressbook.h addressbook.cpp Prosze o pomoc :) Edytowane przez wojtek1990 dnia 22.07.2010 17:02:51 |
|
|
|
| janisz |
Dodany dnia 23.07.2010 13:48:29
|
|
Użytkownik ![]() Postów: 51 Data rejestracji: 22.03.10 |
Musisz zrobić to w oddzielnym wątku, inaczej zawsze GUI będzie Ci wisieć przy dłużej trwających zadaniach. |
|
|
|
| wojtek1990 |
Dodany dnia 23.07.2010 15:31:55
|
Początkujący Użytkownik![]() Postów: 13 Data rejestracji: 20.07.10 |
janisz napisał/a: Musisz zrobić to w oddzielnym wątku, inaczej zawsze GUI będzie Ci wisieć przy dłużej trwających zadaniach. Własnie tego sie spodziewalem, czy moglbys mi dac przyklad w jaki sposob utworzyc/zamknac/operowac na nowym wątku ? edit: Rozwiązane przy pomocy klasy QThread. Dzieki za pomoc. Edytowane przez wojtek1990 dnia 23.07.2010 21:42:49 |
|
|
|
| kof |
Dodany dnia 26.07.2010 16:45:53
|
|
Początkujący Użytkownik ![]() Postów: 37 Data rejestracji: 04.07.10 |
To zadanie samo w sobie nie wymagało stosowania wątków. Problem autora polega na tym, że zastosował funkcje sleep w wyniku czego program sprawiał wrażenie przeciążonego obliczeniowo. Aplikacja zamiast pętli z udziałem sleep powinna korzystać z konstrukcji slotów na przykładzie QTimer.
Tylko programy tworzą programistów. |
| wojtek1990 |
Dodany dnia 26.07.2010 19:38:38
|
Początkujący Użytkownik![]() Postów: 13 Data rejestracji: 20.07.10 |
Dobrze wiedziec, dzieki za informacje ![]() |
|
|
|
| Przeskocz do forum: |
Podobne Tematy
| Temat | Forum | Odpowiedzi | Ostatni post |
|---|---|---|---|
| Zmiana przyciskow głownego pasku aplikacji. | Szukam Pomocy | 3 | 11.08.2010 00:11:11 |
| QSslSocket - dystrybucja aplikacji | Szukam Pomocy | 5 | 18.07.2010 18:56:12 |
| Ikonka Aplikacji | Szukam Pomocy | 7 | 23.01.2010 11:52:01 |









