Я пытаюсь создать приложение меню (например, поиск Windows) с помощью QCompleter.Я хотел бы показать все элементы от завершения, когда QLineEdit пуст.И это работает в первый раз, но когда я начинаю набирать что-то в lineEdit
и удаляю все символы из lineEdit
, а затем нажимаю Enter
, я ничего не вижу.Где моя ошибка?
Мой код указан ниже.
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
this->wordList << "alpha" << "omega" << "omicron" << "zeta" << "icon";
this->lineEdit = new QLineEdit(this);
completer = new QCompleter(wordList, this);
completer->setCaseSensitivity(Qt::CaseInsensitive);
lineEdit->setCompleter(completer);
completer->QCompleter::complete();
ui->setupUi(this);
}
void MainWindow::keyPressEvent(QKeyEvent *event)
{
if((event->key() == Qt::Key_Return || event->key() == Qt::Key_Enter))
{
if(lineEdit->text()=="")
{
completer->complete();
}
if(wordList.contains(lineEdit->text(),Qt::CaseInsensitive))
qDebug() <<"CATCH IT";
}
}
Не могли бы вы дать мне совет?