转到不同网站后如何获得完整(准确)Url / QUrl 地址?

How to get the complete(exact) Url / QUrl Address after going to different website?

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

1.如何在转到不同的 website/page.

后自动更新显示的 URL 字符串

2。如何获取 exact/complete URL 字符串

我尝试搜索了一些代码,但 none 有效。

.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

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

将来自 webview 小部件的信号连接到主 window 的插槽中,然后更新 url 栏。