繁体   English   中英

QCompleter不起作用

[英]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的自动完成器,它仅适用于QLineEditQComboBox并且您可以使用这两个类的setCompleter()函数来启动自动完成功能。

阅读QCompleter文档以获取更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM