Seite 1 von 1

QWebView::linkClicked(QUrl url) nutzen

Verfasst: 30. März 2010 20:44
von Nightblizard
Grüsse,
ich beisse mir schon den ganzen Tag am linkClicked Signal der QWebView Klasse die Zähne aus und hoffe hier die erhoffte Lösung des Problemes zu finden!

Code: Alles auswählen

connect(webView, SIGNAL(linkClicked(QUrl)), this, SLOT(on_webView_linkClicked(QUrl)));
Egal wie ich es drehe und wende, der Slot wird einfach nicht aufgerufen!
Nach gefühlten 2 Stunden googeln habe ich gelesen, dass ich die DelegationPolicy ändern muss, jedoch beinhaltet QWebView bei mir (Qt Version 4.6.0) keine Solche Variable.

Ich hoffe jemand hat eine Lösung parat, ansonsten verzweifel ich noch..



Mfg
Night

Verfasst: 30. März 2010 20:52
von Christian81

Verfasst: 30. März 2010 21:07
von Nightblizard
Wunderschön, danke!
Laufen will es dennoch nicht.

Code: Alles auswählen

QWebPage* webPage = new QWebPage(this);
webPage->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);

QWebView* webView = new QWebView(webPage);
connect(webView, SIGNAL(linkClicked(QUrl)), this, SLOT(on_webView_linkClicked(QUrl)));
Wenn ich webPage nicht als parrent von webView setze macht das keinen Unterschied.

Ich mag nicht abstreiten, dass es an mir liegt, aber ich kann mit 90% der Qt Dokumentation nichts anfangen.

Verfasst: 30. März 2010 21:26
von Christian81
Naja... ein wenig Doku lesen wäre schon nicht schlecht :roll:
The page() function returns a pointer to the web page object.
http://doc.trolltech.com/4.6/qwebview.html#page

Verfasst: 30. März 2010 21:58
von Nightblizard
Edit:
Okay, ich habe es hinbekommen.
Grund:
Da bin ich mir nicht sicher, aber anscheinend hat der Formular Designer einen Standartwert ins QWebView Widget gesetzt, der das ganze unterbunden hat. Ich habe ein neues erstellt (ausserhalb des Designers) und nun funktioniert es.