我目前正在使用QScintilla开发我自己的代码编辑器。QScintilla已经提供了自动补全和呼叫提示功能。我想要的是摆脱自动完成弹出窗口小部件,检索它得到的列表,解析并用我自己的小部件显示它们。下面是我得到的信息:
//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::AcsDocument得到的结果,我没有办法从AcsAPI得到结果。
有没有办法从QsciScintilla::AcsDocument那里得到结果?
事先谢谢你。
发布于 2013-10-09 23:34:58
我已经自己解决了。
没有可用的API可以让我这样做,所以我阅读了QsciScintilla类的源代码,其中有一个名为"startAutoCompletion“的方法,您可以从中获得答案。
实际上,它确实会搜索所有文本,收集匹配自动补全上下文的单词,避免重复。不像我想象的那么花哨,但实际上性能也不像我想象的那么慢:)
https://stackoverflow.com/questions/19066125
复制相似问题