- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我们正在尝试将一些应用程序从 Qt 4 移植到 Qt 5.4。 Qt 5.4 有一个新的网络引擎。我们曾经把QWebView
和QWebPage
的背景做成透明的:
view = new QWebView(this);
QPalette palette = view->palette();
palette.setBrush(QPalette::Base, Qt::transparent);
view->page()->setPalette(palette);
view->setAttribute(Qt::WA_OpaquePaintEvent, false);
但此代码不适用于QWebEngineView
和QWebEnginePage
。关键是 QWebEnginePage
没有像 setPalette
这样的 API。
谁能找到解决这个问题的方法?
最佳答案
如 https://bugreports.qt.io/browse/QTBUG-41960 中所述,现在只需使用这一行即可:
webEngineView->page()->setBackgroundColor(Qt::transparent);
我已经在 Qt 5.6 中试过了,效果很好。
更新:为了让这个答案更有帮助,让我展示所有相关代码。
在 MainWindow 中,我设置了这个:
setAttribute(Qt::WA_TranslucentBackground);
setAutoFillBackground(true);
setWindowFlags(Qt::FramelessWindowHint);
对于 webEngineView
对象,我设置了这些属性:
webEngineView->setAttribute(Qt::WA_TranslucentBackground);
webEngineView->setStyleSheet("background:transparent");
webEnginePage = webEngineView->page();
// https://bugreports.qt.io/browse/QTBUG-41960
webEnginePage->setBackgroundColor(Qt::transparent);
关于c++ - QWebEnginePage 中的透明背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28183738/
我们正在尝试将一些应用程序从 Qt 4 移植到 Qt 5.4。 Qt 5.4 有一个新的网络引擎。我们曾经把QWebView和QWebPage的背景做成透明的: view = new QWebView
我有这部分工作,但我面临几个困难: 1) 看来 QWebEnginePage 需要一个 QWebEngineView。 (请参阅此处的 setView() 方法: https://code.woboq
我使用QWebEnginePage.printToPdf方法来打印Qt 5.7中QWebEnginePage渲染的网页。但该方法仅呈现网络的一部分。 代码如下: webEngineView->page
在 Qt 的 (现已弃用) QWebPage 类中,有一个信号 contentsChanged() 每当网页的 html 内容被用户编辑页面或以编程方式更改的页面更改时调用。在较新的 QtWebEng
我在将 QWebEnginePage 连接到 fullScreenRequested 时遇到问题,我正在尝试以下方式,但它给出了错误 main.cpp:58: error: expected prim
我正在使用 QT WebEngine 框架来显示网页。我在页面加载时将 JavaScript 注入(inject)到页面中,并希望允许 JavaScript 能够访问 QT 对象。显然,要做到这一点,
我有一个使用 QWebChannel 启动 Webview 的 Qt 应用程序。 在这些 View 中,我让 JavaScript 执行一些操作,以便根据屏幕大小定位窗口/调整窗口大小。 screen
我有一个 QWebEnginePage 实例,它加载了一些 url(例如 https://www.google.com) 我希望此页面显示在两个 QWebEngineView 中,但看起来 Qt 不允
我正在尝试从 QWebEnginePage 对象中获取 html 代码。根据 Qt 引用,QWebEnginePage 对象的 'toHtml' 是异步方法,如下所示。 Asynchronous me
我正在尝试开发一个可持续的网络抓取脚本,以从网站获取所有产品的列表。产品类别链接位于网页的下拉(或可扩展)元素中。在提取 html 并使用 Beautiful Soup 将其转换为文本之前,我使用 P
本来想解决this problem , 但正如我测试过 QWebEnginePage::runJavaScript() 的行为一样,我发现我什至无法使用带有以下代码的 QWebEnginePage::
我需要从 QWebEnginePage 中检索一些 html。我在文档中找到了方法 toHtml但它总是返回一个空字符串。我试过 toPlainText 它有效,但这不是我需要的。 MyClass::
我在 PyQt5 代码中遇到错误。谁能帮我。 import sys from PyQt5.QtWidgets import QApplication from PyQt5.QtCore import
我正在尝试使用 print() 从 QWebEngineView 打印 html 文档方法和 QPrinter此方法所需的实例。 我遇到的问题是,在生成的 PDF 中,我无法选择任何可用的文本。 PD
我是一名优秀的程序员,十分优秀!