Здравствуйте, гость ( Вход | Регистрация )
Litkevich Yuriy | Дата 14.3.2010, 2:49 |
так и должно быть?? да, тыж сидишь и ждёшь когда поток закончится, не обрабатываешь других событий |
|
mezmay | Дата 13.3.2010, 23:16 |
Еще один вопрос - почему строки
вешают GUI поток? т.е. форма висит пока вэит не закончится, а если оставить только
то нормально работает? так и должно быть?? |
|
mezmay | Дата 13.3.2010, 22:21 |
хз...... дома запустил тоже самое (но с виртуальным портом) - работает... | |
Litkevich Yuriy | Дата 13.3.2010, 18:36 |
закоментируй строчку: set = true; ради теста |
|
mezmay | Дата 13.3.2010, 18:10 |
Тогда помогите разобраться... Программа для чтения данных с GPS-устройства по COM-порту. Метод run() в котором собственно это и делается:
Вызов метода:
Проблема: если устройства нет, то цикл while в run() - длится 10 секунд. Однако если после вызова gps_thread->start() стоит вызов gps_thread->wait(), то сразу срабатывает брейкпоинт на последней строке run'a - строке emit canDelete();... - почему?? Если gps_thread->wait(); убрать, то цикл while работает 10 секунд как ему и положено... |
|
Litkevich Yuriy | Дата 13.3.2010, 15:57 |
но этот метод просто завершает run() где ты такое прочитал? |
|
mezmay | Дата 13.3.2010, 15:42 |
но этот метод просто завершает run() а не ждет его завершения... | |
DEADHUNT | Дата 13.3.2010, 14:19 |
|
|
mezmay | Дата 13.3.2010, 14:14 |
Наследую qthread. переопределяю метод run. В программе запускаю поток с помощью start. Как в том же месте программы подождать завершения этого потока? | |
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 29.3.2024, 16:17 |