所以,我需要在一个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的文档,“在Widget-less环境中使用QWebPage”部分,似乎这应该是可能的。但是没有错误,只有sigsegv:/
感谢您的帮助。
答案 0 :(得分: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是必需的。