通过QLineEdit筛选查询并更新QSqlQueryModel



我得到了一个lineExdit和一个tableView,我希望基于在lineEdit中键入文本来实时更新tableView。

void updateTableView(QString *st)
{
QSqlQuery * qry = new QSqlQuery(mydb);
qry->prepare("select * from Poems where Title like ?%");
qry->addBindValue(st);
qry->exec();

您在不必要的时候滥用指针,例如QSqlQuery使用动态内存创建指针,但您没有消除它,QString也是如此。

假设QTableView模型是QSqlQueryModel,那么您应该执行以下操作:

...
// constructor
connect(your_le, &QLineEdit::textChanged, this, &YourClass::updateTableView);
...
void updateTableView(const QString & st)
{
QSqlQuery query(mydb);
query.prepare("select * from Poems where Title like ?");
query.addBindValue(QString("%1%").arg(st));
query.exec();
your_QSqlQueryModel->setQuery(query);
}

相关内容

  • 没有找到相关文章

最新更新