automatische Link-Erkennung mit QTextEdit/QTextBrowser

Alles rund um die Programmierung mit Qt
Antworten
hakaishi
Beiträge: 62
Registriert: 8. Dezember 2009 18:25

automatische Link-Erkennung mit QTextEdit/QTextBrowser

Beitrag von hakaishi »

Hallo Leute,

ein Freund von mir und ich schreiben ein Notiz Programm. Was uns jetzt noch fehlt, ist das automatisch erkannt wird, wenn man z.B. http://www.web.de o.ä. eingibt, das das ein Link ist, er automatisch blau gekennzeichnet, unterstrichen und anklickbar gemacht wird.
Für die Textformatierungen könnte man ja theoretisch den QSyntaxHighlighter nehmen, aber wie macht man das der Link dann anklickbar wird? - Oder gibt es gar eine viel einfachere Lösung?

Wir sind für jeden Ratschlag/Hinweis dankbar! :)


Viele Grüße, Hakaishi
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: automatische Link-Erkennung mit QTextEdit/QTextBrowser

Beitrag von franzf »

QTextEdit versteht Rich Text. <a> (HTML-Link) wird automatisch (entsprechend den Farbeinstellungen) hervorgehoben und ist anklickbar.
Um Links zu finden, bastelst du dir eine RegExp, oder gehst selber durch das Dokument, und ersetzt alles, was du als Link erkennst, mit dem HTML-Äquivalent.
hakaishi
Beiträge: 62
Registriert: 8. Dezember 2009 18:25

Re: automatische Link-Erkennung mit QTextEdit/QTextBrowser

Beitrag von hakaishi »

Hallo franzf,

danke für deine Antwort. Ich weiß, dass Rich Text automatisch entsprechend erkannt wird. Ich dachte eher an die Erkennung, wenn der Benutzer etwas in den Editor eintippt. Gibt es außer durch das Ersetzen mit QRegExp noch eine alternative (einfachere) Lösung, das automatisch als Link zu erkennen? - Ansonsten würde ich das natürlich verwenden und einfach nach "www.", "ftp.", "http://" und "https://" suchen lassen...
hakaishi
Beiträge: 62
Registriert: 8. Dezember 2009 18:25

Re: automatische Link-Erkennung mit QTextEdit/QTextBrowser

Beitrag von hakaishi »

Also, ich habe es geschafft, dass alle Links und E-Mail-Adressen entsprechend markiert werden. Aber hat jemand eine Idee, wie ich die jetzt so umformatiere, das sie anklickbar sind? - Da ist es leider nicht so einfach, wie mit setBold(true) o.ä.
dazedly
Beiträge: 197
Registriert: 3. Oktober 2010 15:38
Kontaktdaten:

Re: automatische Link-Erkennung mit QTextEdit/QTextBrowser

Beitrag von dazedly »

franzf hat geschrieben:QTextEdit versteht Rich Text. <a> (HTML-Link) wird automatisch (entsprechend den Farbeinstellungen) hervorgehoben und ist anklickbar.
Um Links zu finden, bastelst du dir eine RegExp, oder gehst selber durch das Dokument, und ersetzt alles, was du als Link erkennst, mit dem HTML-Äquivalent.
Benutze das QTextEdit im Rich Text Modus und füge um das gefundene a-Tags ein.
hakaishi
Beiträge: 62
Registriert: 8. Dezember 2009 18:25

Re: automatische Link-Erkennung mit QTextEdit/QTextBrowser

Beitrag von hakaishi »

dazedly hat geschrieben: Benutze das QTextEdit im Rich Text Modus und füge um das gefundene a-Tags ein.
genau da hängt es bei mir ja gerade...

Hier ist unser Code zu bekommen: https://github.com/hakaishi/nobleNote
Da habe ich auch schon den SyntaxHighlighter entsprechend angepasst.
Antworten