Название: Проблема с отрисовкой виджета в делегате [Решено] Отправлено: rizzoli от Ноябрь 20, 2014, 11:20 Здравствуйте.
Суть вопроса такова: есть модель QStandartItemModel, вью qlistView, написал делегат в виде виджета, указатель храниться в делегате. При выделении элемента - меняется цвет - все работает правильно. Далее, хочу сделать так, чтобы при выделении айтема, в виджете менялись элементы - сделал на виджете QStackedWidget и в делегате, в painte-е меняю страницы, страницы меняются, но во вью остаются края от предыдущего цвета, как на картинке. Если переключить фокус на другое окно - становиться нормально. Делал по примеру, добавил пример проекта. Код делегата: Код: Delegate::Delegate(QObject *parent) : Название: Re: Проблема с отрисовкой виджета в делегате Отправлено: Fregloin от Ноябрь 20, 2014, 17:08 ну а что мешает в paint() сначала перерисовать весь фон например так
Код: painter->setBrush(QPalette::windowColor); Набросал по памяти. Ваша проблема в том, что вы не очищаете фон перед отрисовкой новой картинки. А так как они разного размера, то остаются такие артефакты. Название: Re: Проблема с отрисовкой виджета в делегате Отправлено: rizzoli от Ноябрь 26, 2014, 09:36 Да, с размером картинок проблема была. Поставил размер больше в SizeHint - все нормально стало.
|