Господа, всем добрый день. Сразу прошу прощение за вопрос по винде, считаю, что это больше кутешный вопрос. Проблема: Для установки иконки приложения использую setWindowIcon (иконка берется из ресурсов) в процессе работы программы, в зависимости от количества новых событий, перерисовываю иконку использую painter (На иконке рисуется красный круг и цифра с числом новых сообщений). В трее все норм, в заголовке окна и при нажатии alt+tab (в иконке) тоже все норм, иконка постоянно меняется, а вот в панели ПУСК иконка меняться упорно не хочет, та, что в первый раз была установлена, больше не меняется. Неообходимо, чтобы было аля skype (цифра на желтом фоне - число новых сообщений)
...
icon = self.createIcon(status, unanswered_messages, Qt.Qt.AlignCenter)
self.tray.setIcon(icon)
icon = self.createIcon(':/general/app_icon', unanswered_messages, Qt.Qt.AlignCenter)
self.setWindowIcon(icon)
def createIcon(self, base, text='', textAlign=Qt.Qt.AlignCenter):
pixmap = Qt.QPixmap(base)
image = pixmap.toImage()
painter = Qt.QPainter();
painter.begin(image)
bgrect = Qt.QRect(image.rect())
if base == ':/general/app_icon':
bgrect.setRect(bgrect.x() + 20, bgrect.y() + 20, bgrect.width() - 25, bgrect.height() - 20)
else:
bgrect.setRect(bgrect.x() + 2, bgrect.y() + 2, bgrect.width() - 5, bgrect.height() - 5)
painter.setBrush( Qt.QBrush(Qt.Qt.red) )
painter.drawEllipse(bgrect)
if base == ':/general/app_icon':
font = painter.font()
font.setPixelSize(14)
font.setBold(True)
painter.setFont(font)
painter.drawText(Qt.QRect(bgrect), textAlign, str(text))
else:
painter.drawText(image.rect(), textAlign, str(text))
painter.end()
return Qt.QIcon(Qt.QPixmap.fromImage(image))