【发布时间】:2012-07-01 11:20:15
【问题描述】:
我都是,我只是按照这个很好的例子:
http://qt-project.org/doc/qt-4.8/tools-customcompleter.html
我完全复制了代码,除了对 modelFromFile 方法的一些更改,就是这样:
QAbstractItemModel *MainWindow::modelFromFile(const QString& fileName)
{
QStringList words;
words
<< "break"
<< "default"
<< "func"
<< "interface"
<< "select"
<< "case"
<< "defer"
<< "go"
<< "map"
<< "struct"
<< "chan"
<< "else"
<< "goto"
<< "package"
<< "switch"
<< "const"
<< "fallthrough"
<< "if"
<< "range"
<< "type"
<< "continue"
<< "for"
<< "import"
<< "return"
<< "var";
return new QStringListModel(words, completer);
}
奇怪的是,当我输入“fal”时,我正在等待“fallthrough”弹出,但我什么也没看到。它可以与“break”和一些但不是所有的词一起使用。
我正在使用 Kubuntu 12.04,而我的 Ubuntu 12.04 合作伙伴出现了这种行为。
Qt Creator 2.4.1
基于Qt 4.8.0(32位)
【问题讨论】:
-
此时我唯一的建议是为您的 qt (4.8) 版本使用文档,而不是为即将到来的 5.0 使用文档。 QCompleter 可能存在不兼容的更改...
-
用4.8版本测试一下,还是一样,有没有跟我一样的问题?
-
只是猜测:也许,对列表进行排序?..
-
可能是这种奇怪的行为来自未排序的字符串列表,请使用已排序的字符串列表进行检查。
-
哦,是的!它适用于排序列表!
标签: c++ qt qcompleter