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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: event'ы в Qwidget  (Прочитано 1807 раз)
Hrundel
Гость
« : Ноябрь 27, 2016, 17:58 »

Всем привет,

наблюдаю странное поведение класса - не понимаю чего я не понимаю.

Код
C++ (Qt)
void DiskButton::paintEvent(QPaintEvent* e)
{
       QPainter painter_(this);
 
QPainterPath bg;
bg.moveTo(0, 0);
bg.addRect(0,0,this->width()-1, this->height()-1);
bg.closeSubpath();
 
painter_.setBrush(brush_);
painter_.setPen(QPen(QColor(150, 150, 150)));
painter_.drawPath(bg);
}
 
void DiskButton::enterEvent(QEvent* e)
{
brush_ = QBrush(QColor(255, 0, 0));
}
 
void DiskButton::leaveEvent(QEvent* e)
{
brush_ = QBrush(QColor(255, 255, 255));
}
 

Хотя события перехватываются и значения сохраняются, но в событии отрисовки браш всегда белый
ПОЧЕМУ МЛИН?Непонимающий  Непонимающий Непонимающий Непонимающий Непонимающий
« Последнее редактирование: Ноябрь 27, 2016, 18:01 от Hrundel » Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #1 : Ноябрь 27, 2016, 19:43 »

После изменения кисти нужно перерисовать виджет, вызовите update()
Записан
Hrundel
Гость
« Ответ #2 : Ноябрь 27, 2016, 21:59 »

Спасибо! Забыл уже ей Богу. Давно в руки шашек не брал!  Смеющийся Смеющийся Смеющийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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