Я пытаюсь использовать QCompleter программно без виджета. Я ожидаю, что это покажет мне все каталоги в моем каталоге root /
:
QCompleter *completer = new QCompleter();
QFileSystemModel *fsModel = new QFileSystemModel(completer);
fsModel->setRootPath(QString());
completer->setModel(fsModel);
completer->setCompletionPrefix(QString("/"));
for (int i = 0; completer->setCurrentRow(i); i++)
qDebug() << completer->currentCompletion() << " is match number " << i;
currentCompletion()
возвращает строку emtpy, и я увидел, что модельный индекс кажется недействительным.
Примечание : Если я запускаю тот же код и присоединяю завершитель, например, к QLineEdit
(с myLineEdit->setCompleter(completer);
), завершение работает, как и ожидалось.