c – Mac OS X上的透明QWebView

我正在尝试显示内容将具有圆角的QWebView,因此我需要透明背景以隐藏原始白色角落.我正在使用“技巧”,我找到了
here

这对我没用,所以我补充道

this->view.setAttribute(Qt::WA_TranslucentBackground);

现在它可以在Linux(Ubuntu)和Windows上运行,但不适用于Mac OS X.Mac OS X只是一直显示黑角.我尝试像这样设置样式表

this->view.setStyleSheet("background: transparent;");

要么

this->view.setStyleSheet("background-color: none");

要么

this->view.setStyleSheet("QWidget { background: transparent; }");

但没有任何效果.我有什么方法可以做到这一点吗?我正在使用Qt 5.0.2.

最佳答案 看看这段代码:

https://github.com/pcmantinker/Tray-Notification-System/blob/master/traynotificationwidget.cpp

我之前做了一个项目,用于在与Qt兼容的所有平台上的系统托盘中显示通知小部件.

诀窍是使用没有边框且没有背景的父窗口小部件来创建嵌套窗口小部件,子窗口小部件将是您可以使用QSS自定义的显示窗口小部件.

以下是一些示例图像:
Windows 7的

Mac OS X Lion

Ubuntu的

我希望这有帮助.如果您有任何疑问,请告诉我.

点赞