QWebbrowser: Link in Browser öffnen



  • Hi,

    Ich möchte die komponente QWebbrowser in meinem Programm verwenden. Wenn der Benutzer auf einen Link klickt, soll der Link nicht wie üblich im QWebbrowser selbst sondern im Standartbrowser geöffnet werden.

    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
    
        ui->webView->load(QUrl("file:///C://links.html"));
    
        connect(ui->webView, SIGNAL(linkClicked(QUrl)), this, SLOT(OpenWebsite(QUrl)));
    
    }
    
    void MainWindow::OpenWebsite(QUrl url)
    {
        QMessageBox b;
        b.setText(url.toString());
        b.exec();
    }
    

    Leider wird der Slot OpenWebsite() garnicht aufgerufen, wenn ich auf einen Link klicke.

    Hat jemand eine Idee ?

    Danke,
    Lusches 😋



  • Laut Doku ist für QWebView folgendes gesetzt:

    The default is to delegate no links.

    Also musst du erst noch über
    void setLinkDelegationPolicy ( LinkDelegationPolicy policy )
    ihm sagen, dass er das machen soll. (komischerweise...wer setzt sowas als Standart auf 0...)


Anmelden zum Antworten