在QLineEdit中输入实时更改

live changing as typing in QLineEdit

本文关键字:实时 输入 QLineEdit      更新时间:2023-10-16

我有一个QlineEdit和QTableView在一个简单的程序。

我从SQLite加载一个表(例如person)到tableView。

我想要一个事件或其他任何东西,当我在lineEdit中输入tableView时,它会基于它而改变。

例如,如果表人员有一个字段名,由:

填充
  1. mehran
  2. mehsa
  3. mahid
  4. nas
  5. omid

我想当我按下"m"时所有以"m"开头的名字,比如mehran mehsa mahid显示在tableView上。当我按下键时例如"e"就会显示mehran和mehsa显示在tableView上,等等

您需要基于以下信号进行如下连接:

connect(lineEdit, &QLineEdit::textChanged, [=](const QString &string) {
    QSqlQuery query(QString("SELECT %1 FROM ..").arg(string));
    while (query.next()) {
        QStringList stringList = query.value(0).toStringList();
        updateTableView(stringList);
    }
});
此时,您还需要在qmake项目文件中添加以下行,以获得新的信号槽语法:
CONFIG += c++11