Seite 1 von 1

[gelöst] links (<a href ..) im QTextEdit

Verfasst: 3. Dezember 2007 15:54
von -=Freaky=-
hi,

ich moechte es in meinem programm moeglich machen, links (auf internet-urls) in den text einzubinden (ich arbeite wie der titel sagt mit einem QTextEdit).
ich muss die links wiedererkennen, da ich den formatierten text spaeter zu bb-code konvertieren will.

textfarbe und -formatierung kann der user frei waehlen, daran kann man es also nicht festmachen.

fuege ich html-code ein, also "<a href="...">...</a>", weiss ich nicht, wie ich die links spaeter identifizieren kann.
den html-code zurueckgeben lassen und auseinandernehmen moechte ich eigentlich nicht extra, wenn es denn auch anders geht.
momentan gehe ich den text beim konvertieren zeichen fuer zeichen durch, und entscheide nach den eigenschaften vom QTextCharFormat des aktuellen zeichens, ob ich etwa , oder tags setzen muss.

also kurz:
wie fuege ich links in den text ein (im sinne von einem bezeichner, der im text steht und zu einer url gehoert, bspw. steht im text "Qt-Forum" als link auf www.qtforum.de und daraus wird "Qt-Forum"), sodass ich spaeter, auch nach weiterem editieren des textes, noch eindeutig den/die bezeichner der/den urls zuordnen kann.

gibt es dafuer qt-mittel? in den dokus von QTextEdit, QTextCursor und QTextCharFormat habe ich keine anhaltspunkte finden koennen.

mfg,
julian

Verfasst: 4. Dezember 2007 17:15
von -=Freaky=-
sorry fuer den doppelpost.
hat das problem aufgrund meiner formulierungen niemand verstanden, habe ich was ueberlesen oder ist der unwahrscheinlichste fall eingetreten und niemand hat eine antwort?

mfg,
julian

Verfasst: 4. Dezember 2007 19:01
von VuuRWerK
Bei Deinem Problem sollten Dir Regular Expression weiterhelfen, dazu solltest Du eine ganze Menge im Internet finden.

Gut Schuß
VuuRWerK ;)

Verfasst: 4. Dezember 2007 19:06
von upsala
Suchst du das hier: QTextFormat::AnchorHref?

Verfasst: 5. Dezember 2007 20:07
von -=Freaky=-
warum stell ich eigentlich immer nur dumme fragen?
ja, QTextCharFormat.anchorHref() hab ich gesucht.

manchmal bin ich wirklich blind, sorry dafuer.

@VuuRWerK
vllt hattest du es so verstanden, dass ich den html-code parsen will.
ich fuege allerdings nur in ein QTextEdit per insertHtml( "..." ); html-code ein, das dann als ganz normaler text angezeigt wird, wie es auch im browser bspw. dann zu sehen ist.
und diesen text wandle ich spaeter wieder in bb-code um, und ich habe es allein nicht hinbekommen, wenn ich in einer schleife den text durchgehe, rauszufinden, ob ein buchstabe zu einem link gehoert und mit welcher url er ggf. verknuepft ist.

das funktioniert jetzt aber alles super, nochmal danke dafuer!

mfg,
julian

Verfasst: 5. Dezember 2007 21:45
von VuuRWerK
Ja genau so hatte ich das verstanden, na wenn Dir aber das andere weiterhilft ist doch alles ok ;)

Gut Schuß
VuuRWerK ;)