如何在Qt中实现代码自动补全功能

5

我正在使用Qt(使用C++)编写一个IDE,并需要添加自动完成功能。

因此,我想知道:

如何做到这一点(我正在使用qtPlainTextEdit)?

我应该使用什么数据结构?

3个回答

8

1
上面的链接已经失效。当前有效链接为 - http://doc.qt.io/qt-5/qtwidgets-tools-customcompleter-example.html - akashrajkn

3
我还需要在Qt中编写代码补全器,Tobias提供的第一个链接是需要查看的文档。它很全面、清晰,并且对我起了作用。我相信它会对你有帮助。
如果您需要在lineEdit中使用代码补全器,这很简单(来自QCompleter文档):
QStringList wordList;
wordList << "one" << "two" << "three" << "four" << "five";
QLineEdit *lineEdit = new QLineEdit(this);

QCompleter *completer = new QCompleter(wordList, this);
lineEdit->setCompleter(completer);

然而,QPlainTextEdit或QTextEdit没有内置的setCompleter()成员函数,因此您必须按照自定义代码补全教程进行操作。

1

这是一个非常大且复杂的功能。我建议你参考Qt Creator是如何实现的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接