0

我正在尝试将语法完成添加到 QTextEdit 基本编辑器中,并且我想支持非字母字符来触发 QCompleter 弹出窗口。我正在使用 QTextCursor::select 来获取当前单词,但它总是过滤掉非字母字符。我需要为此使用一个选项吗?

这是我用来获取文本的代码:

QTextCursor tc = textCursor();
tc.select(QTextCursor::WordUnderCursor);
QString t = tc.selectedText();

谢谢

4

1 回答 1

0

单词实际上不包含字母字符。选择最后一个输入字符:

QTextCursor tc = textCursor();
tc.movePosition ( QTextCursor::Left, QTextCursor::KeepAnchor);
QChar lastChar = tc.selectedText().at(0);
if (!lastChar.isLetterOrNumber())
{
do something;
}

将 isLetterOrNumber() 替换为您可能要检查的任何字符。

于 2013-04-05T19:26:23.203 回答