首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Qt5 webkit链接错误

使用Qt5 webkit链接错误
EN

Stack Overflow用户
提问于 2013-10-31 06:09:26
回答 1查看 1.3K关注 0票数 1

我想使用qtwebkit在qt5中创建一个浏览器,但是当我下载我的站点时发现了一些错误。我不知道原因。我添加了webkit库,并在mainwindow.h中调用它。

mainwindow.h

代码语言:javascript
复制
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QtWebKit/QtWebKit>

namespace Ui { class MainWindow; }

class MainWindow : public QMainWindow {
    Q_OBJECT
     public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
     private slots:
    void on_pushButton_clicked();

    void on_pushButton_2_clicked();

    void on_pushButton_3_clicked();

    void on_pushButton_4_clicked();

private:
    Ui::MainWindow *ui; };

#endif // MAINWINDOW_H

mainwindow.cpp

代码语言:javascript
复制
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    ui->webView->back();
}

void MainWindow::on_pushButton_2_clicked()
{
    ui->webView->forward();
}

void MainWindow::on_pushButton_3_clicked()
{
    ui->webView->reload();
}

void MainWindow::on_pushButton_4_clicked()
{
    ui->webView->load("http://" + ui->lineEdit->text());
}

和这个当我调用库时

代码语言:javascript
复制
#-------------------------------------------------
#
# Project created by QtCreator 2013-10-31T07:39:06
#
#-------------------------------------------------
QT       += core gui QT       += webkit
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = mozilabrwser TEMPLATE = app
SOURCES += main.cpp\
        mainwindow.cpp
HEADERS  += mainwindow.h
FORMS    += mainwindow.ui

我试图更改webkit的名称,但仍然收到以下错误:

代码语言:javascript
复制
D:\ubunto\QT5\Tools\QtCreator\bin\mozilabrwser\mainwindow.cpp:19: error:
undefined reference to `_imp___ZN8QWebView4backEv'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-31 06:14:19

代码语言:javascript
复制
QT += core gui QT += webkit

是错的。您似乎在使用Qt 5,而在Qt 5中使用正确的模块是第二个问题是格式,你好像有两行连在一起。所以这应该是可行的:

代码语言:javascript
复制
QT += core gui
QT += webkitwidgets

注意:如果您需要同时使用Qt4和Qt5编译程序,那么您需要使用条件,为Qt4添加webkit,为Qt5添加webkitwidgets。但这可能与业余项目无关,在实际需要之前,没有必要将.pro文件与其混淆(如果您想同时支持这两个项目,您还需要在代码中进行一些源代码更改和#ifdef内容,所以除非这是一个重要的需求,否则不要去那里)。

同样的两行串联问题似乎也出现在行TARGET = mozilabrwser TEMPLATE = app中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19699524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档