我正在尝试在内容具有圆角的地方显示 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 雄狮
Ubuntu
我希望这有帮助。如果您有任何问题,请告诉我。
关于c++ - Mac OS X 上的透明 QWebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17273712/