转到其他网站后如何获取完整的(精确的)网址/查询地址?

时间:2019-08-13 06:13:36

标签: c++ qt webview qtwebengine

我正在使用QT Creator 5.9创建一个简单的Web浏览器的模型,我的EditLine /文本框有问题:

1。转到其他网站/页面后,如何自动更新显示的URL字符串。

2。如何获取准确/完整的网址字符串

我尝试搜索一些代码,但是没有一个起作用。

.cpp

void MainWindow::QWebViewFunction() {
    _view = new QWebEngineView();
    _view->load(QUrl("https://www.bing.com"));
    ui->tabWidget->addTab(_view, _view->url().toString());
}

QString MainWindow::getUrlText() {
        QString urlEditBox = ui->setUrlTextBox->text();
        return urlEditBox;
}

void MainWindow::getTabTitle() {
    int x = ui->tabWidget->currentIndex();
    ui->tabWidget->setTabText(x, getUrlText());
}

//-----------                                                               Buttons
void MainWindow::on_tabWidget_tabCloseRequested(int index) {
    ui->tabWidget->removeTab(index);
}

void MainWindow::on_AddBtn_clicked() {
    QWebViewFunction();
}

void MainWindow::on_homeBtn_clicked() {
    _view->load(QUrl("https:google.com"));
    int x = ui->tabWidget->currentIndex();
    ui->tabWidget->setTabText(x, "Google");
}
//-------------                                                             LineEdit

void MainWindow::on_pushButton_clicked(){
    _view->load(QUrl(getUrlText()));
    getTabTitle();
}

void MainWindow::on_backButton_clicked()
{
    _view->page()->triggerAction(QWebEnginePage::Back);
}

.h

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

signals:
   void urlChanged(const QUrl &url);

private slots:
    void on_tabWidget_tabCloseRequested(int index);
    void on_AddBtn_clicked();
    void on_homeBtn_clicked();
    void on_pushButton_clicked();

    void QWebViewFunction();
    QString getUrlText();
    QString setUrlText();
    void getTabTitle();


    void on_backButton_clicked();

private:
    Ui::MainWindow *ui;
    QWebEngineView* _view;


};


#endif // MAINWINDOW_H

1 个答案:

答案 0 :(得分:2)

您正在寻找QWebEngineView.loadProgress()https://doc.qt.io/qt-5/qwebengineview.html#loadProgress

将来自webview小部件的信号连接到主窗口的插槽中,并更新网址栏。