Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
DEADHUNT |
28.12.2009, 21:03
Сообщение
#1
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: 2
|
если расскоментировать processEvents то сообщения от программы выводятся, а если нет то StreamReader ничего не считыват. в чём может быть проблема? Сообщение отредактировал DEADHUNT - 28.12.2009, 21:17 |
|
|
|
|
Litkevich Yuriy |
28.12.2009, 21:08
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(DEADHUNT @ 29.12.2009, 0:03) Link someClass->gdbProcess.canReadLine() у тебя получается, что в StreamReader ты вызываешь метод пренадлежащий классу из другого потока. Если нужно сделать именно метод в отдельном потоке смотри QtConcurent (QrRunable) |
|
|
|
|
DEADHUNT |
28.12.2009, 21:57
Сообщение
#3
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: 2
|
Цитата(Litkevich Yuriy @ 28.12.2009, 21:08) Link Если нужно сделать именно метод в отдельном потоке смотри QtConcurent (QrRunable) а чем QRunnable лучше QThread? его даже остановить нельзя. |
|
|
|
|
Litkevich Yuriy |
29.12.2009, 0:13
Сообщение
#4
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(DEADHUNT @ 29.12.2009, 0:57) Link QRunnable лучше QThread? ничем не лучше, просто у них назначение разное:QThread - платформо-независимый поток. насчёт QRunnable ошибся. Смотри QtConcurrent::run - Runs function in a separate thread |
|
|
|
|
DEADHUNT |
1.1.2010, 16:03
Сообщение
#5
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: 2
|
почему doWork выполняется в главном треде и как можно сделать чтобы слот обрабатывался в треде Worker? |
|
|
|
|
Litkevich Yuriy |
1.1.2010, 17:39
Сообщение
#6
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
где-то на форуме уже было про это. На пямять не помню.
по моему, это связано с тем, что ты не запустил цикл обработки событий потока. Т.е. вместо бесконечного цикла FOR, нужно написать exec() Link |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 8.12.2025, 3:12 |