2013-09-28 74 views
2

我目前使用QScintilla來開發自己的代碼編輯器。 QScintilla已提供自動完成和呼叫提示功能。我想要的是擺脫自動完成彈出窗口部件,檢索它得到的列表,解析並顯示他們與我自己的部件。 因此,這裏是我的本錢:QScintilla從自動完成獲取QStringlist

//disable the autocompletion feature: 
QsciScintilla::setAutoCompletionSource(QsciScintilla::AcsNone); 

//use this function call to get the list from api class: 
void updateAutoCompletionList (const QStringList &context, QStringList &list) 

的問題是,在updateAutoCompletionList只給我從QsciScintilla :: AcsAPIs的結果,我也沒辦法從QsciScintilla::AcsDocument得到的結果。

有沒有什麼辦法可以從QsciScintilla::AcsDocument得到結果?

預先感謝。

回答

0

我自己解決了。

沒有可用的API讓我這樣做,所以我讀了QsciScintilla類的源代碼,它有一個名爲「startAutoCompletion」的方法,您可以從中獲得答案。

實際上它會搜索所有文本,收集匹配自動完成上下文的單詞,避免重複。不像我經歷過的那樣奇特,但實際上表現並不像我一樣慢:)