![]() |
|
|
![]()
|
|
| Kappac |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 30.9.2006 Где: Украина, Киев Репутация: нет Всего: нет |
Доброго времени суток!
Подскажите, плиз, или ткните где почитать(что было бы лучше), как передать управление из дочернего потока Qt-проги в ГУИ-поток при возникновении определенного условия. Заранее благодарен. --------------------
|
|||
|
||||
| Ken |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 31.3.2007 Репутация: 1 Всего: 4 |
В Qt4 cоздаешь сигнал в дочерном потоке (точнее в классе реализиющий поток) и слот там, где хочешь получить управление. Потом связываешь через connect добавляя в качесвте пятого аргумента Qt::QueuedConnection.
|
|||
|
||||
| Kappac |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 30.9.2006 Где: Украина, Киев Репутация: нет Всего: нет |
Большое спасибо! Обязательно попробую!
Добавлено через 8 минут и 6 секунд Большое спасибо за наводку! --------------------
|
|||
|
||||
| BabySG |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 26.9.2005 Репутация: нет Всего: нет |
Объясните, плиз, зачем явно это указывать, если: Qt::AutoConnection -- если источник события находится в том же потоке, что и приёмник, то будет использован режим Qt::DirectConnection, в противном случае -- Qt::QueuedConnection а по умолчанию параметр == AutoConnection? |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 7 Всего: 162 |
Потому что есть случаи, когда требуется отложенный вызов в любом случае, и надо указывать QueuedConnection. У меня по крайней мере два случая было, когда такое требовалось. |
|||
|
||||
| BabySG |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 26.9.2005 Репутация: нет Всего: нет |
JackYF,
не поняли друг друга |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 7 Всего: 162 |
BabySG, извини раз в каждый месяц отвечаю в теме, не читая её всю, и каждый раз мне это выходит косяком
Тогда вопрос ясен и закономерен. Честно говоря, механизм определения того, что в каком потоке находится (при срабатывании сигнала), мне не понятен, и я стараюсь указывать явно. |
|||
|
||||
| aaa82 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
мне нужно завести QThread, запустить в нём итерационный процесс и отслеживать значение счётчика при помощи ProgressBar
ProgressBar находится в другой функции (из неё же запускается итерационный процесс в QThread) напишите простой примерчик пжалста Это сообщение отредактировал(а) aaa82 - 16.9.2009, 13:54 |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |