а обработка событий виджетов однопоточна? |
Здравствуйте, гость ( Вход | Регистрация )
а обработка событий виджетов однопоточна? |
kuler |
24.10.2008, 14:05
Сообщение
#1
|
Танцор диско Группа: Участник Сообщений: 441 Регистрация: 11.9.2008 Из: Москва Пользователь №: 289 Спасибо сказали: 6 раз(а) Репутация: -1 |
а то сделал окно с прогресс баром, чтобы когда чтото грузится его показывать, а там прогресс бар не обновляется пока все не прогрузится, а затем уже начинает обновляться
примерный код new qwidget show dataprocess delete widget врубил в виджете таймер, а он тоже не срабатывает (вот это вообще нонсенс) |
|
|
sploid |
24.10.2008, 15:11
Сообщение
#2
|
Студент Группа: Участник Сообщений: 51 Регистрация: 26.2.2008 Из: Москва Пользователь №: 106 Спасибо сказали: 10 раз(а) Репутация: 1 |
в цикле обработки данных вызывай:
void QCoreApplication::processEvents ( QEventLoop::ProcessEventsFlags flags, int maxtime ) [static] а то что нет таймера так и должно быть, ты же не обрабатываешь сообщения. |
|
|
Litkevich Yuriy |
24.10.2008, 15:32
Сообщение
#3
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
kuler, обработка GUI событий происходит в главном потоке. Из псевдо кода не понятно как ты собирался управлять индикатором выполнения.
в длительных циклах всегда надо вставлять такие вещи как показал sploid |
|
|
kuler |
24.10.2008, 15:43
Сообщение
#4
|
Танцор диско Группа: Участник Сообщений: 441 Регистрация: 11.9.2008 Из: Москва Пользователь №: 289 Спасибо сказали: 6 раз(а) Репутация: -1 |
sploid,
как это не обрабатываю? обработчик таймера есть и он начинает срабатывать сразу после тормоза Litkevich Yuriy, там нет цикла, а есть вызов одного метода который тормозит вообще то да, в билдере тоже не срабатывает пока не завершится тормоз
|
|
|
Litkevich Yuriy |
24.10.2008, 15:59
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
там нет цикла, а есть вызов одного метода который тормозит посути одно и тоже, длительный процесс.Я на эту грблю не разу не наступал, т.к. прочитал про нее в книжке немногим раньше, чем начал маломальски сложные программы на Дельфи-3 писать, а книжка была очень хорошая, правда забыл как называлась, помню, что про Дельфи-2 |
|
|
kuler |
24.10.2008, 16:33
Сообщение
#6
|
Танцор диско Группа: Участник Сообщений: 441 Регистрация: 11.9.2008 Из: Москва Пользователь №: 289 Спасибо сказали: 6 раз(а) Репутация: -1 |
там нет цикла, а есть вызов одного метода который тормозит посути одно и тоже, длительный процесс.Я на эту грблю не разу не наступал, т.к. прочитал про нее в книжке немногим раньше, чем начал маломальски сложные программы на Дельфи-3 писать, а книжка была очень хорошая, правда забыл как называлась, помню, что про Дельфи-2 имхо, правильней сказать что не сталкивались, ибо этот метод не мной написан, а вызывать нада, да и не должно быть в нормальном методе всякого лишнего мусора типа updatecomponent (во всяком случае в случае если неизвестно сколько будет длиться процесс) |
|
|
sploid |
24.10.2008, 21:23
Сообщение
#7
|
Студент Группа: Участник Сообщений: 51 Регистрация: 26.2.2008 Из: Москва Пользователь №: 106 Спасибо сказали: 10 раз(а) Репутация: 1 |
kuler что бы гуйня не тормозила, "длинные" методы вызываются в отдельном потоке.
|
|
|
kuler |
27.10.2008, 10:42
Сообщение
#8
|
Танцор диско Группа: Участник Сообщений: 441 Регистрация: 11.9.2008 Из: Москва Пользователь №: 289 Спасибо сказали: 6 раз(а) Репутация: -1 |
|
|
|
Текстовая версия | Сейчас: 15.10.2024, 22:20 |