无法从网页类继承而不出现运行时错误



我有一个Qt(QObject(类,当声明时,应用程序在启动后立即或GUI出现后几秒钟崩溃。

类正是这样的:

网页.h

class webPage : public QWebPage
{
    Q_OBJECT
public:
    webPage(QObject *parent = 0);
    ~webPage();
};

网页.cpp

webPage::webPage(QObject *parent)
    : QWebPage(parent)
{
    qDebug() << "webPage::webPage() got called!";
}
webPage::~webPage()
{
}

还有我的主窗口.h类:

namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
    Q_OBJECT
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    void closeEvent(QCloseEvent *e);
private slots:
    void on_pushButton_2_clicked();
    void on_pushButton_3_clicked();
public:
    Ui::MainWindow *ui;
    browserControl webControl;
    webPage page; // <-- unless I remove this, the application crashs.
};

构造函数如下所示:

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    //webControl.setPage(&page);
}

有人可以帮我指出错误原因吗? 它甚至不是SEGFAULT或其他什么,以调试模式启动无济于事,应用程序崩溃/冻结。

完全来自webkitwidgets文档:

由于WebKit引擎的大小,使用调试符号构建Qt WebKit模块在许多平台上都是有问题的。我们建议仅在嵌入式平台的发布模式下构建模块。目前,在使用gcc时,Qt WebKit将始终在不调试符号的情况下进行编译。如果您需要更改此设置,请查看 Tools/mkspecs/features/production_build.prf

与此错误QTBUG-44108中对应...Qt WebEngine 仅在 Windows 上的 MSVS 2013 软件包中可用。MinGW和以前的Visual Studio版本目前不起作用,因此您需要Visual Studio 2013或Visual Studio 2013 Express Edition。

此外,一些有经验的人建议从Qt WebKit移植到Qt WebEngine。

相关内容

  • 没有找到相关文章

最新更新