Название: Проблема получения сигналов от потока в момент изменения размера виджета Отправлено: lex_newton от Декабрь 08, 2010, 17:58 Есть некий виджет, размер которого можно менять. И второй поток, который отправляет в виджет сигналы.
В момент изменения размера виджета сигналы встают в очередь и обрабатываются лишь после того, как размер виджета был изменен (пользователь перестал изменять размер и отпустил кнопку мыши) ОС: windows xp Я создаю виджет который рисует график сигнала. В отдельном потоке создается QImage и по средствам signal/slot передается в виджет. При зменении размера делается запрос на перерисовку графика(прямо в resizeEvent). Аналогичный пример находится в примерах qt demo -> threading -> mandelbrot. Вопрос: Как сделать так, чтобы сообщения не вставали в очередь, а сразу же обрабатывались? Если в resizeEvent() делать вызов qApp->processEvents() то сигналы обрабатываются. но это, имхо, шаманский бубен. и вообще говоря сигнал может прийти после того, как я вызоыву qApp->processEvents(), в этом случае сигнал будет обработан лишь при следующем входе в resizeEvent(). :: 2010.12.09, 00:11 :: QT 4.4.3 - наблюдается такой эффект QT 4.6.3 - вроде по отзывам нормально. буду тестировать. :: 2010.12.09, 16:40 :: QT 4.7.1 - все нормально. Тема закрыта. |