[英]QCompleter doesn't work
它没有显示任何弹出窗口或错误。 它无声无息。
QStringList dictionary;
dictionary << "exampleOne" << "Two" << "blah" << "hello";
dictionary.sort();
QCompleter * completer = new QCompleter(dictionary,ui->inRawText);
completer->setModel(new QStringListModel(dictionary, completer));
completer->setCompletionMode(QCompleter::PopupCompletion);
completer->setCaseSensitivity(Qt::CaseInsensitive);
completer->setWidget(ui->inRawText);
inRawText是QTextEdit类的实例。
编辑:信号(已激活和突出显示)不会发出。
编辑:仅当我调用complete()插槽时,才会显示弹出窗口。 这很愚蠢,我必须重新实现QTextEdit类,它是keyPressEvent处理程序...该死的QT ...
将QTextEdit
设置为QCompleter
的父QCompleter
只会影响所有权层次结构,但这并不意味着QCompleter
必须开始处理QTextEdit
文本。
实际上, QCompleter
不能用作QTextEdit
的自动完成器,它仅适用于QLineEdit
和QComboBox
并且您可以使用这两个类的setCompleter()
函数来启动自动完成功能。
阅读QCompleter
的文档以获取更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.