2013-08-19 32 views
2

所以,我需要分析一些JavaScript对一个HTML页面(还挺为我的应用程序脚本),但QWebPage引发SIGSEGV当我尝试将其初始化。它控制台应用程序我的代码Relevat部分:为什么无头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:/

感谢您的帮助。

回答

1

QT + =核心部件SQL网络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信号+拉姆达在上面的代码中使用的功能。

编辑:上面的代码在Windows 7中的控制台模式下运行,我换成这个片段与一个在您的文章。这也起作用。

编辑2: 确定。我找到了坠机的原因。尝试用QApplication替换QCoreApplication。并且项目文件中的webkitwigets是必需的。

+0

确定QWebView也会加载没有的XServer? – Paladin