QWebEngineView 立即崩溃,尤其是在滚动后 - Qt5.8
Posted
技术标签:
【中文标题】QWebEngineView 立即崩溃,尤其是在滚动后 - Qt5.8【英文标题】:QWebEngineView crashes immediately especially after scrolling - Qt5.8 【发布时间】:2017-03-31 18:41:56 【问题描述】:我正在尝试一个简单的 QWebEngineView 示例,但它一直在崩溃,我不知道为什么。
这是 main.cpp 中的代码
#include <QApplication>
#include <QWebEngineView>
int main(int argc, char *argv[])
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication app(argc, argv);
QWebEngineView view;
view.resize(1024, 750);
view.load(QUrl("http://www.qt.io"));
view.show();
return app.exec();
这是 .pro 文件
TEMPLATE = app
QT += webenginewidgets
SOURCES += main.cpp
target.path = $$[QT_INSTALL_EXAMPLES]/webenginewidgets/minimal
INSTALLS += target
这是我收到的错误消息
> nouveau: kernel rejected pushbuf: No such file or directory nouveau:
> ch8: krec 0 pushes 0 bufs 2 relocs 0 nouveau: ch8: buf 00000000
> 00000002 00000004 00000004 00000000 nouveau: ch8: buf 00000001
> 00000006 00000004 00000000 00000004 nouveau: kernel rejected pushbuf:
> No such file or directory nouveau: ch8: krec 0 pushes 0 bufs 2 relocs
> 0 nouveau: ch8: buf 00000000 00000002 00000004 00000004 00000000
> nouveau: ch8: buf 00000001 00000006 00000004 00000000 00000004
> nouveau: kernel rejected pushbuf: No such file or directory nouveau:
> ch8: krec 0 pushes 0 bufs 2 relocs 0 nouveau: ch8: buf 00000000
> 00000002 00000004 00000004 00000000 nouveau: ch8: buf 00000001
> 00000006 00000004 00000000 00000004 nouveau: kernel rejected pushbuf:
> No such file or directory nouveau: ch8: krec 0 pushes 0 bufs 1 relocs
> 0 nouveau: ch8: buf 00000000 00000002 00000004 00000004 00000000 The
> program has unexpectedly finished.
我在 korora 25(基于 fedora)机器上运行 Qt 5.8。
【问题讨论】:
【参考方案1】:我在使用 Ubuntu 时遇到了同样的问题,但它在 Windows 10 中运行良好。
我已经解决了它,在创建 QApplication 之前添加以下行:
QApplication::setAttribute(Qt::AA_UseSoftwareOpenGL);
问题与OpenGL使用有关。
【讨论】:
谢谢!这似乎也对我有用。我在 macOS 上使用 Qt5.9。当我尝试多次加载相同的 url 时,有 50% 的概率崩溃。在我设置了这个属性之后,它似乎不再崩溃了。 (至少这是我几个小时的测试结果。) 我必须收回我之前的评论。使用此 setAttribute() 调用,崩溃仍然会发生,但比不使用此调用的概率要低得多。【参考方案2】:我在 Rstudio 上遇到过类似的问题(这是 rstudio 上非常有名的错误)有人建议在终端中使用以下命令运行它:
QT_XCB_FORCE_SOFTWARE_OPENGL=1 rstudio
【讨论】:
以上是关于QWebEngineView 立即崩溃,尤其是在滚动后 - Qt5.8的主要内容,如果未能解决你的问题,请参考以下文章
如何在使用 QWebEngineView 'loadFinished' 加载页面后立即更改 html 元素?
Python中pyqt QWebEngineView win32gui EnumWindows程序崩溃
电脑丨部分用户在Mac OS 10.15.4上遇到系统崩溃,尤其是在大文件传输期间!