QtJambi QWebPage.linkHovered Signal Auslösung falsch

Alles zum Qt Framework für Java
Antworten
kellerkind018
Beiträge: 14
Registriert: 11. Juni 2006 21:18
Kontaktdaten:

QtJambi QWebPage.linkHovered Signal Auslösung falsch

Beitrag von kellerkind018 » 18. Februar 2009 15:54

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

ArneStocker
Beiträge: 300
Registriert: 3. November 2004 17:15
Wohnort: Berlin

Beitrag von ArneStocker » 20. Februar 2009 14:56

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

kellerkind018
Beiträge: 14
Registriert: 11. Juni 2006 21:18
Kontaktdaten:

Beitrag von kellerkind018 » 20. Februar 2009 17:29

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

ArneStocker
Beiträge: 300
Registriert: 3. November 2004 17:15
Wohnort: Berlin

Beitrag von ArneStocker » 20. Februar 2009 17:32

Hi Thomas

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

Gruß Arne

kellerkind018
Beiträge: 14
Registriert: 11. Juni 2006 21:18
Kontaktdaten:

Beitrag von kellerkind018 » 20. Februar 2009 17:53

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

Antworten