【发布时间】:2019-01-08 03:20:31
【问题描述】:
我有一个 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();
【问题讨论】:
-
您应该更新模型以使其执行您的查询并在 tableView 中返回结果。你的表视图应该有一个 QSqlQueryModel。
-
我已经有 QSqlQueryModel * modal = new QSqlQueryModel(); ui->tableView->setModel(modal);我不知道如何发送 QString st
-
只需替换现有模型上的查询即可。不要打电话给
qry->exec(); -
QSqlQueryModel* pModel = dynamic_cast
(ui->tableView->model()); if (pModel) { pModel->setQuery(*qry);删除qry;} -
如何将 lineEdit 与 QSqlQueryModel 一起使用。我应该通过 textChanget 方法传递查询字符串吗?请用完整的代码写出答案。我很新手。
标签: c++ qt sqlite qt5 qsqlquerymodel