2

現在、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::AcsAPIs からの結果しか得られないことですQsciScintilla::AcsDocument

から結果を得る方法はありますQsciScintilla::AcsDocumentか?

事前に感謝します。

4

1 に答える 1

0

私はそれを自分で解決しました。

これを行うための利用可能な API がないため、「startAutoCompletion」というメソッドを持つ QsciScintilla クラスのソース コードを読み取り、そこから答えを得ることができます。

実際には、すべてのテキストを検索し、オートコンプリート コンテキストに一致する単語を収集し、重複を回避します。私が考えたほど派手ではありませんが、実際にはパフォーマンスは私が考えたほど遅くはありません:)

于 2013-10-09T15:34:57.887 に答える