QTextCursor und select(QTextCursor::WordUnderCursor)
Verfasst: 16. September 2008 19:49
Hi,
für einen Completer für python suche ich mir den Text unter dem Cursor:
jedoch stößt das Ganze an die Grenzen des Syntax: als ein Wort sehe ich auch sys.stdin (mit '.' drinnen). Hier kommt die Impementation zum tragen (qtextcursor.cpp), da Begin/EndWord markiert wird. Insbesondere das Endword bereitet mir die Probleme:
d.h. die Qt Engine bestimmt, wo das Word zu Ende ist. Gibt es einen Weg, den Punkt hier als Endword Marker zu umgehen durch irgendwelche Konfiguration? Oder einen anderen, einfachen Weg? C++ hat das gleiche Problem mit dem Zugriff auf Class member.
Grüße
Olaf
für einen Completer für python suche ich mir den Text unter dem Cursor:
Code: Alles auswählen
QTextCursor textCursor = this->textCursor();
textCursor.select(QTextCursor::WordUnderCursor);
return textCursor.selectedText();
Code: Alles auswählen
case QTextCursor::EndOfWord: {
QTextEngine *engine = layout->engine();
const HB_CharAttributes *attributes = engine->attributes();
const QString string = engine->layoutData->string;
const int len = layout->engine()->layoutData->string.length();
if (relativePos >= len)
return false;
relativePos++;
while (relativePos < len
&& !attributes[relativePos].whiteSpace
&& !engine->atWordSeparator(relativePos))
relativePos++;
newPosition = blockIt.position() + relativePos;
break;
Grüße
Olaf