Добрый день, помоги с советом.
Нужно создать на рабочем столе окно которое выглядело бы как иконка Windows, т.е. На основном окне располагает кнопка с изображением, а под ней QLabel с текстом. Основное окно должно иметь прозрачный фон, так чтобы пользователю казалось бы что кнопка и текст QLabel находятся на рабочем столе сами по себе.
Пробовал сделать такое через setMask(QRegion) у основного окна
QRegion reg = childrenRegion();
setMask(reg);
Виден фон QLabel.
QPalette p = ui.label->palette();
p.setBrush(QPalette::Window,QBrush(QColor(255,255,255,0)));
ui.label->setAutoFillBackground(true);
ui.label->setPalette(p);
Теперь сквозь фон прозрачный фон QLabel виден фон основного окна. А его сделать прозрачным не получается, т.к. фон становиться не прозрачным, а черным. (Вероятно это потому, что окно сначала рисуется в буфер, а потом буфер копируется на экран. И промежуточный буфер по умолчанию заполнен черным цветом)
Тогда я попробовал сделать через setMask(QBitmap) , но для этого мне нужно сначала нарисовать окно в буфер, потом из этого буфер получить маску и наложить ее на окно. Но как нарисовать мое основное окно, вместе с дочерними виджетами в буфер, а не на экран?
Короче, мрак.