2013-04-05 43 views
0

我想將語法完成添加到QTextEdit基本編輯器,並且我想支持非字母字符來觸發QCompleter彈出窗口。我使用QTextCursor :: select來獲取當前單詞,但它始終過濾掉非alpha字符。有沒有我需要使用的選項?用QTextCursor選擇非alpha字符

下面是我用它來獲取文本代碼:

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

感謝

回答

0

詞其實不包含字母字符。要選擇最後一個輸入字符:

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

將isLetterOrNumber()替換爲您可能檢查的任何字符。

+0

不幸的是,它不適合我。此代碼塊似乎做我正在尋找的: [QString VcsBase :: Internal :: OutputWindowPlainTextEdit :: identifierUnderCursor](http://www.naepl.in/qt/d5/d13/vcsbaseoutputwindow_8cpp_source.html#l00136) – mab 2013-04-05 21:46:05