2

所以,我需要针对一个 html 页面(有点像我的应用程序的脚本)解析一些 javascript,但是当我尝试初始化它时,QWebPage 会抛出 SIGSEGV。它控制台应用程序。相关部分我的代码:

QT       += core sql network xml webkit

QT       -= gui

QMAKE_CXXFLAGS += -std=c++11

LIBS += -lqca

TARGET = jarvisd
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app
QWebPage * p = new QWebPage();
p->mainFrame()->load(QUrl(url));

它在第一行崩溃。从 QWebPage 的文档中,从“在无小部件环境中使用 QWebPage”部分,看来这应该是可能的。但没有错误,只是 sigsegv :/

谢谢你的帮助。

4

1 回答 1

1

QT += 核心小部件 sql network xml webkit webkitwidgets

使用类似这样的东西:

QWebView *view = new QWebView();
view->load(QUrl("http://127.0.0.1"));
QObject::connect(view, &QWebView::loadFinished, [view](){fprintf(stderr, view->title().toLocal8Bit().data());});

等等

上面代码中使用的 Qt5 信号 + lambda 函数。

编辑:上面的代码在 Windows 7 上以控制台模式运行。我用你帖子中的那个片段替换了这个片段。这也有效。

编辑2:好的。我找到了崩溃的原因。尝试用 QApplication 替换 QCoreApplication。并且需要项目文件中的webkitwigets。

于 2013-08-19T07:20:39.480 回答