我正在做一个项目,我试图构建一个具有多个 QTreeWidgetItems 的 QTreeWidget 一旦我点击一个特定的项目,它就会连接到一个数据库并在一个 TableView 模型中显示一个查询结果,直到现在一切正常。
问题是我希望每个项目根据同一个表上的某些条件输出不同的结果,其中该条件仅更改属性的值,并且该值与项目名称相同。例如名为 122 的项目,该表具有名为 no 的属性。当我们单击项目 122 时,必须显示此查询的结果(select * from table where no=122)
任何帮助:)
最佳答案
我假设您有一个由 QSqlQueryModel
或 QSqlTableModel
支持的 QTableView。
您可以连接到信号 QTreeWidget::itemSelectionChanged()
,然后在插槽中您使用 selectedItems()[0]
获取当前项目。然后创建查询:
QSqlQuery query;
query.prepare("select * from table where no=:no");
query.bindValue(":no", number);
query.exec();
最后,您可以在模型上使用 setQuery (const QSqlQuery & query)
。这应该会更新您的观点。
希望我正确理解了您想要实现的目标。
关于c++ - 将 QTreeWidgetItem 连接到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12243917/