我想像这样在 Qt 主窗口背景中使用具有透明度和自定义边框的 png 图像。
(来源:shiaupload.ir)
有什么好主意吗?
你可以这样做:
this->setWindowFlags(Qt::FramelessWindowHint);
this->setAttribute(Qt::WA_TranslucentBackground);
然后在绘制事件中绘制窗口的背景。
注意:正如 Dmitry 所指出的,在 Qt4 中存在一个最小化和恢复窗口的错误。
另一种选择是使用QWidget::setMask(const QBitmap & bitmap),但如果区域很复杂,这可能会很慢。