2

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


(来源:shiaupload.ir

有什么好主意吗?

4

1 回答 1

3

你可以这样做:

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

然后在绘制事件中绘制窗口的背景。

注意:正如 Dmitry 所指出的,在 Qt4 中存在一个最小化和恢复窗口的错误

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

于 2013-09-19T10:55:59.170 回答