2013-09-28 6 views
2

В настоящее время я использую QScintilla для разработки собственного редактора кода. QScintilla предоставляет функцию автозавершения и calltips. Я хочу, чтобы избавиться от виджета всплывающего окна автозаполнения, получить список, который он получает, проанализировать и отобразить с помощью моего собственного виджета. Так вот что я получил:QScintilla получить QStringlist из autocompletion

//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», вы можете получить ответ от этого.

На самом деле он выполняет поиск всего текста, собирает слова, соответствующие контексту автозаполнения, избегает дубликатов. Не так уж и фантастично, но на самом деле производительность не такая медленная, как у меня есть :)

Смежные вопросы