首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QCompleter不工作

QCompleter不工作
EN

Stack Overflow用户
提问于 2014-03-23 02:22:28
回答 1查看 1.1K关注 0票数 1

它没有显示任何弹出窗口或错误。它默默地什么也不做。

代码语言:javascript
复制
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..。

EN

回答 1

Stack Overflow用户

发布于 2014-03-23 04:48:37

使QTextEdit成为QCompleter的父级只会影响所有权层次结构,这并不意味着QCompleter必须开始处理QTextEdit的文本。

事实上,QCompleter不能作为QTextEdit的自动补全程序,它只适用于QLineEditQComboBox,您可以使用这两个类的setCompleter()函数来启动自动补全。

有关更多信息,请阅读documentation of QCompleter

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22581680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档