Bonjour,
Je suis en train de développer mon propre client IRC, et j'aimerais qu'il puisse proposer à l'utilisateur une autocomplétion des pseudos du canal courant. Pour ce faire, j'utilise un QCompleter rattaché à mon QLineEdit.
Le truc, c'est que j'aimerais que l'autocomplétion ne fonctionne pas seulement lorsque le pseudo se situe au début, mais n'importe où, ce que je n'arrive pas à faire.
Voici mon code actuel :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | void CanalWidget::on_messageType_textChanged(const QString &content) { if(content != "") { QString lastWord = content.split(" ")[content.split(" ").count()-1]; QStringList names; for(int i=0;i<ui->listUsers->count();i++) names << ui->listUsers->item(i)->text(); QCompleter *completer = new QCompleter(names); ui->messageType->setCompleter(completer); completer->setCaseSensitivity(Qt::CaseInsensitive); completer->setCompletionPrefix(lastWord); completer->setCompletionMode(QCompleter::InlineCompletion); } } |
La ligne en jaune aurait dû permettre l'autocomplétion d'un mot qui ne se situerait pas au début du QLineEdit, mais il ne semble pas avoir d'effet…
Je suppose que je m'y prends mal ?
Merci d'avance
+0
-0