Название: QT4.7 (Win) и WA_TranslucentBackground Отправлено: Nine от Сентября 13, 2011, 13:00 День добрый, необходим совет по решению проблемы указанной в конце поста.
Код
Класс своей кнопки, она меняет изображение в зависимости от состояния. Пока форма у нас перед глазами - всё работает нормально. .h : Код
.cpp : Код
Проблема: 1) Скрываем форму нажатием кнопки "Hide"; В результате вызывается: Код 2) При нажатии на кнопку открытия окна в таскбаре (условно видим проблему с этого момента), форма возвращается к нам с кнопкой в состоянии "_hold.png" и все переопределенные методы перестают работать для любого экземпляра класса "CImageButton" на ней. Если закомментировать "this->setAttribute(Qt::WA_TranslucentBackground);", то всё работает как должно, но нет прозрачного фона. Название: Re: QT4.7 (Win) и WA_TranslucentBackground Отправлено: soulsaver от Сентября 13, 2011, 13:08 к сожалению давно этим не занимался, но думаю проблема в том что када добавляется альфа канал не идет автоматической перерисовки кнопки, насильно пробовали update делать?
Название: Re: QT4.7 (Win) и WA_TranslucentBackground Отправлено: Nine от Сентября 13, 2011, 13:20 Попробовал "this->update(); myButton->update();" из метода класса "MainWindow, CImageButton" - эффекта нет.
У меня происходит заморозка всего интерфейса использующего класс CImageButton, не только одной кнопки. Ещё кнопка Close, Send и набор Checkbox'ов. При этом "emit clicked();" выполняется и логика приложения никуда не исчезает, только визуальная часть. Проследил изменения состояний "m_strBasePicture", всё в порядке. Название: Re: QT4.7 (Win) и WA_TranslucentBackground Отправлено: qtnoob1k от Февраля 02, 2012, 00:04 Не знаю, актуально ещё или нет, сам с таким сталкнулся, решение такое: переопределить ShowEvent и в него вставить repaint();
https://bugreports.qt-project.org/browse/QTBUG-17548 |