使用QTextCursor选择非alpha字符

时间:2013-04-05 18:01:05

标签: qt

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

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

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

感谢

1 个答案:

答案 0 :(得分:0)

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

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

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