Russian Qt Forum
Ноябрь 25, 2024, 07:57 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Qt-4.3.x Win] Проблема с излишней прорисовкой  (Прочитано 3307 раз)
Разуев Максим
Гость
« : Декабрь 10, 2007, 19:01 »

У меня такая проблема:
На QMainWindow есть QSlider, в него вставлены несколько виджетов. Один из них (чистый QWidget) содержит QTabWidget.
На вкладку QTabWidget вставлен мой виджет(наследник QWidget) который подцепляет к своему winId внешнюю dll (выводит 3D-сцену). Я перехватываю обработчик event моего виджета, где вызываю функцию рабочего цикла dll(через TimerEvent с частотой 20мс). Так же я вызываю в event по событию paint функцию paint dll-ки, передаю нажатия клавиш ,события мыши и resize.
Так вот при перемещении мыши в/из QTabWidget происходит мигание сцены, причем я выяснил что происходит не перерисовка виджета сцены а похоже перерисовка QTabWidget или QSlider. Никак не могу избавится от этого мигания. Я пробовал устанавливать запрет на заполнение фона для QTabWidget и QSlider но не помогает. Похоже происходи каскадная перерисовка дочерних виджетов. Но почему она происходит при перемещении мыши в/из виджета.
Записан
vaprele07
Гость
« Ответ #1 : Декабрь 11, 2007, 04:25 »

Попробуй поставить Qt::WA_NoBackground своему виджету.
Записан
Разуев Максим
Гость
« Ответ #2 : Декабрь 11, 2007, 18:21 »

Установлено. Это я сделал в первую очередь.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 20.