【问题标题】:Qt mainwindow transparency backgroundQt主窗口透明背景
【发布时间】:2013-09-19 09:07:17
【问题描述】:

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


(来源:shiaupload.ir

有什么好主意吗?

【问题讨论】:

标签: qt widget alpha-transparency qmainwindow


【解决方案1】:

你可以这样做:

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),但如果区域复杂,这可能会很慢。

【讨论】:

  • 你好,你能指出如何通过设置蒙版实现透明度吗?
  • @Cupidvogel 文档中的例子不够吗?
  • 不,它不起作用。我试图在这里应用它:stackoverflow.com/questions/34372291/…,我无法让它工作。
  • @Cupidvogel 在一个只有一个主窗口的空项目上试一试。
猜你喜欢
  • 2018-04-23
  • 2011-10-13
  • 1970-01-01
  • 1970-01-01
  • 2012-12-27
  • 2022-01-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多