Название: "Замирание" отображения индикатора LCD Отправлено: VAP от Июнь 15, 2008, 13:49 Здравствуйте!
Есть программка сигнально-слотовое соединение в потоках (пример из Шлее, Листинг 38.2). Почему при перетаскивании мышкой главного окна приложения происходит "замирание" электронного индикатора LCD? Кто-нибудь сталкивался с такой проблемой и как ее решить? Название: Re: "Замирание" отображения индикатора LCD Отправлено: Steven_Orko от Июнь 17, 2008, 12:44 Потому что окно не перерисовывается... ИМХО
Название: Re: "Замирание" отображения индикатора LCD Отправлено: VAP от Июнь 17, 2008, 22:16 Если я правильно понимаю, то "перерисовывать" имеется ввиду repaint для QLCDNumber. В Ассистенте говорится, что исключительно в событии paintEvent() нужно делать это "перерисовывание". А нельзя ли делать repaint по высылке сигнала timeout от таймера? Название: Re: "Замирание" отображения индикатора LCD Отправлено: pastor от Июнь 17, 2008, 22:28 Если я правильно понимаю, то "перерисовывать" имеется ввиду repaint для QLCDNumber. В Ассистенте говорится, что исключительно в событии paintEvent() нужно делать это "перерисовывание". А нельзя ли делать repaint по высылке сигнала timeout от таймера? Никто не мешает вызывать update\repaint. Можете вызывать эти методы с любого места программы, т.е. можите прикрутить это к таймеру. ЗЫ: Если вы вызовете update\repaint в paintEvent() то будет рикурсия Название: Re: "Замирание" отображения индикатора LCD Отправлено: Steven_Orko от Июнь 19, 2008, 09:38 Если я правильно понимаю, то "перерисовывать" имеется ввиду repaint для QLCDNumber. Вообще нет. Я имел ввиду не это... Я имел ввиду, что некоторые оконные менеджеры не перерисовывают окно, когда перемещают в ответ на соответствующие действия пользователя. Бывает, что он (менеджер) просто снимает статическую картинку с окна, само окно скрывает и перемещает этот рисунок. Уже потом, по завершению действия показывает само окно (реальное), а рисунок удаляется. |