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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Перерисовка фона виджета при сдвиге виджетов, которые на нем размещены  (Прочитано 1711 раз)
korel
Гость
« : Декабрь 24, 2010, 13:52 »

В дизайнере создал виджет в него кинул лейаут, который в свою очередь содержит кнопки. Этот виджет я устанавливаю как menuWidget для MainWindow(в коде) setMenuWidget(ui.MenuWidget);

Мне нужно, чтобы кнопки лежали на черном фоне, и для этого я сначала использовал:
Код:
ui.MenuWidget->setStyleSheet("background-color:black;");

на первый взгляд все отобразилось корректно, но при ресайзе окна кнопки, меняя свою позицию оставляли за собой небольшой прямоугольник белого цвета, фон не успевал перерисовываться!!!!

После этого я попробовал еще один вариант:

Код:
  QPalette palette;
  palette.setBrush(QPalette::Window, QBrush(QColor(0, 0, 0)));
  ui.MenuWidget->setPalette(palette);
  ui.MenuWidget->setAutoFillBackground(true);

Но, результат остался прежним. Непонимающий


Записан
korel
Гость
« Ответ #1 : Декабрь 24, 2010, 14:25 »

Решение проблеммы заключалось в том, что в сорцах я раскомментировал case WM_ERASEBKGND: и пересобрал QtGui4.dll. Поскольку я работаю под Windows фон не мог перерисовываться корректно без этого кейса.

Зачем я это делал раньше: мне нужно было "душить" обработку WM_ERASEBKGND.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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