<a> Tag soll Python funktion ausführen

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Hi,

Ich schreibe gerade ein Programm, dass daten aus dem Internet holt und die in einem QTextBrowser festhält. Ich möchte das so einrichten, dass wenn ich in diesem QTextBrowser auf z.B. einen Link klicke, dass dann eine bestimmte Funktion ausgeführt wird.

Noch ein Beispiel:
Ich bekomme die Daten www.python-forum.de und 80. Und dann baue ich auf dem TextBrowser <a href="python_funktion_ausführen">www.python-forum.de Port: 80</a> Wenn ich jetzt auf den Link klicke soll ein HTTP request aufgebaut werden, und die Daten zurückgesendet werden.

Um das auszuführen müsste ich doch www.python-forum.de und 80 dieser Funktion als Parameter übergeben.

Ist das überhaupt möglich oder wie würdet ihr das machen? Geht das vielleicht, wenn ich dem link den onclick parameter hinzufügen würde?

MfG Robin
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Ich würde es so machen: Google nach "QTextBrowser link handler", finde passende Seite, finde dort heraus, dass es ein "linkClicked" Signal gibt, mache, was immer nötig ist, um da eine passende Implementierung ranzustricken (wie das geht, weiß ich nicht, da ich Qt nicht kennt) und das sollte es dann doch gewesen sein.

Stefan
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Danke!
Genau das was ich gesucht habe.

So werde ich nächstes mal auch vorgehen :wink:
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Ich habe das jetzt probiert, aber es funktioniert nicht. Ich habe den code:

Code: Alles auswählen

        self.connect(self.htmlbrowser,  QtCore.SIGNAL("linkClicked(const QString & link)"), self.print_hi)

    def print_hi(self, link):
        print link
htmlbrowser ist ein textBrowser
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
Benutzeravatar
Whitie
User
Beiträge: 216
Registriert: Sonntag 4. Juni 2006, 12:39
Wohnort: Schulzendorf

Hallo,
die verlinkte Dokumentation ist auch etwas älter (ich nehme an, du benutzt PyQt4?).
Versuchs mal mit anchorClicked.

Gruß
Whitie
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Danke!
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
Antworten