c++ - Mac OS X 上的透明 QWebView

标签 c++ macos qt qtwebkit 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
Windows 7
Mac OS X 雄狮
Mac OS X Lion
Ubuntu
Ubuntu
我希望这有帮助。如果您有任何问题,请告诉我。

关于c++ - Mac OS X 上的透明 QWebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17273712/

相关文章:

python - OSX 如何在使用 C++ 扩展 python 时调试 malloc 错误?

c++ - 当窗口不是焦点 OpenGL - C++ 时,一种将控制权返回给 Windows 的方法

qt - 什么时候复制当前打开的 SQLite 数据文件是安全的?

qt - 续订 QQuickImageProvider 请求

c++ - 无法从 Windows 中的 pclvisualizer 中删除点云,尽管它在 Linux 中有效

c++ - Boost::Asio with Main/Workers threads - 我可以在发布工作之前启动事件循环吗?

c++ - 递归 pthread 生成 - 堆栈位置

c - Mac OSX 应该有一个 "malloc.h"文件吗?

macos - 如何使用 FFMPEG 在 Mac 上开始直播?

swift - AppDelegate.swift 导致 macOS 应用程序崩溃