如何使用c ++ qt应用程序阻止Url

时间:2016-07-14 07:07:52

标签: c++ qt

我想用webkit浏览器创建一个带有以下功能的QT应用程序:

  1. 默认情况下,谷歌网站(http://google.com)会向用户显示,并且必须允许访问除谷歌视频群聊外的所有网址。
  2. 我创建了以下程序,该程序将打开google网址但不知道如何阻止所需的网址:

    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    #include <QtWebkitWidgets/QWebView>
    #include <QUrl>
    
    MainWindow::MainWindow(QWidget *parent):
    QMainWindow(parent),
    ui(new Ui::MainWindow)
    {
      ui->setup(this);
      ui.webView->load(QUrl("http://google.com"));
    }
    MainWindow::~MainWindow()
    {
      delete ui;
    }
    

1 个答案:

答案 0 :(得分:1)

我将简要回答这个问题。 Qt提供了很多很好的安装示例,您应该查看Webview的示例示例,它是一个QML应用程序 - 并且很容易根据您的需要对其进行修改。

由于导航栏是一个单独的元素,它是单独编写脚本的,因此您可以将其回调到C ++,您可以在其中应用过滤器。你应该寻找的例子叫做'quicknanobrowser'。

修改 为了澄清,基于注释,您还可以在加载新页面时对信号进行操作。这将放在BrowserWindow.qml中,ctrl + f用于“onNewViewRequest”,这是另一个以相同方式作用的信号:

onLoadingChanged: {
    if(loadRequest.url == "www.blockedurl.com")
    {
        // Do what you want here
    }
}