Seite 1 von 1

QtJambi QWebPage.linkHovered Signal Auslösung falsch

Verfasst: 18. Februar 2009 14:54
von kellerkind018
Was ich gemacht habe
Folgende Codezeilen für den Connect aufgerufen:

Code: Alles auswählen

ui.webView.page().linkHovered.connect(this, "handleHoveredLink(String, String, String)");
ui.webView.page().linkHovered.connect(this, "handleHoveredLink()");
Diese Connects gehen auf folgende Funktionen:

Code: Alles auswählen

public void handleHoveredLink(String link, String title, String textContent) {
    if (link == "aha") {
    }
}

public void handleHoveredLink() {
    String text = "Mouse isn't hovering over any link element.";
}
In der geladenen Webseite gibt es diese Zeile:

Code: Alles auswählen

<p><a href="page2.html" title="works not as expected">The Link Text</a></p>
Was ich nun erwarten würde
Beim Fahren der Maus über den Link müsste die mit connect verbundene Funktion "public void handleHoveredLink(String link, String title, String textContent)" aufgerufen werden. Wird sie aber nicht.

Was stattdessen passiert
Stattdessen wird IMMER die Funktion "public void handleHoveredLink()" aufgerufen. So weiß ich nie welcher Link gehovert wurde.
Die Funktion "public void handleHoveredLink()" wird auch beim Wegbewegen der Maus vom Link aufgerufen. Was aber soweit ok ist.

Außerdem
Der Text in der Doku dazu ist mir auch nicht ganz klar
"[...] Method is emitter with both empty parameters when the mouse isn't hovering over any link element."
Was genau ist damit gemeint? Zwei Parameter? Es sind doch drei?

http://doc.trolltech.com/qtjambi-4.4/ht ... inkHovered

Danke für Hilfe!

Thomas

Verfasst: 20. Februar 2009 13:56
von ArneStocker
public void handleHoveredLink(String link, String title, String textContent) {
if (link == "aha") {
}
}
das kann nicht funktionieren, versuchs mal mit

Code: Alles auswählen

if ("aha".equals(link)) 
Gruß Arne

Verfasst: 20. Februar 2009 16:29
von kellerkind018
Hi Arne,

jo der Vergleich funktioniert so nicht. Darauf kommts bei meiner Frage/Problem aber auch gar nicht an.

Hat sonst jemand ne Lösung oder Idee?

Gruß
Thomas

Verfasst: 20. Februar 2009 16:32
von ArneStocker
Hi Thomas

.. kannst Du mal ein kleines Testcase bauen, dann fällt es leichter, das Verhalten der Slots auszuprobieren.

Gruß Arne

Verfasst: 20. Februar 2009 16:53
von kellerkind018
Hmm,

war eine gute Idee mal einen expliziten Testfall zu erzeugen. Bei diesem geht es nämlich richtig.

Bedeutet ich werde mal schauen müssen, warum es in dem anderen Fall nicht richtig geht.

Danke Dir vielmals für Deine indirekte Hilfe!!

Thomas