c++ - 将 QTreeWidgetItem 连接到数据库

标签 c++ database qt user-interface

我正在做一个项目,我试图构建一个具有多个 QTreeWidgetItems 的 QTreeWidget 一旦我点击一个特定的项目,它就会连接到一个数据库并在一个 TableView 模型中显示一个查询结果,直到现在一切正常。

问题是我希望每个项目根据同一个表上的某些条件输出不同的结果,其中该条件仅更改属性的值,并且该值与项目名称相同。例如名为 122 的项目,该表具有名为 no 的属性。当我们单击项目 122 时,必须显示此查询的结果(select * from table where no=122)

任何帮助:)

最佳答案

我假设您有一个由 QSqlQueryModelQSqlTableModel 支持的 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/

相关文章:

C++使用ifstream从dat文件加载数据

database - 将 CouchDB 配置为非管理员只读

java - 嵌入式 Java 数据库允许从不同 JVM 实例并发读取?

c++ - 有什么办法可以暂时停止布局重新计算?

Python PyQt 装饰方法触发时出错

c++ - +[](){} 有什么不同;和 (+[](){});以及为什么表达式有效

c++ - 检查 istream::read() 读取的字节数

c++ - 为什么这个数组大小的模板不起作用?

sql - 什么是投影和选择?

qt - 杀死停止并恢复的 QProcess