QScintilla从自动完成中获取QStringlist

时间:2013-09-28 10:52:55

标签: qt autocomplete qscintilla

我目前正在使用QScintilla开发自己的代码编辑器。 QScintilla已经提供自动完成和calltips功能。我想要的是摆脱自动完成弹出窗口小部件,检索它获得的列表,解析并用我自己的小部件显示它们。 所以这就是我所拥有的:

//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获得结果吗?

事先感谢。

1 个答案:

答案 0 :(得分:0)

我自己解决了。

我没有可用的API,所以我读了QsciScintilla类的源代码,它有一个名为“startAutoCompletion”的方法,你可以从中得到答案。

实际上它会搜索所有文本,收集与自动完成上下文匹配的单词,避免重复。不像我那样花哨,但实际上表现并不像我经常那样慢:)