Qt主窗口透明背景

时间:2013-09-19 09:07:17

标签: qt widget alpha-transparency qmainwindow

我想在Qt主窗口背景中使用带透明度和自定义边框的png图像。

http://www.shiaupload.ir/images/77810787432153420049.png

有什么好主意吗?

1 个答案:

答案 0 :(得分:3)

您可以这样做:

this->setWindowFlags(Qt::FramelessWindowHint);
this->setAttribute(Qt::WA_TranslucentBackground);

然后在paint event

中绘制窗口的背景

注意:正如Dmitry所指出,在Qt4中有一个bug with minimizing and restoring the window

另一个选择是使用QWidget::setMask(const QBitmap & bitmap),但如果区域很复杂,这可能会很慢。