0

我编写了一个用于处理工资记录的小型数据库项目。这些工资单记录将被放入一个 tableview 对象中以供查看。如何在 TableView 中搜索特定记录?任何想法,请帮助我。

4

2 回答 2

2

如果您使用模型/视图范例,您可以考虑使用位于 QAbstractItemModel 类中的“match()”方法。例如,请参阅以下代码片段:

model->match(model->index(0,0), 
             Qt::DisplayRole, 
             pattern, -1, 
             Qt::MatchContains | Qt::MatchRecursive );

这是一个代码,我用来在 TreeView 中定位一个模式字符串。设置标志以定位那些在其显示角色表示中具有“模式”的记录,搜索是通过树递归执行的(我相信您在 TableView 中不需要它:))。

于 2009-07-06T17:48:35.590 回答
0

可以在您的(源)模型和视图之间插入代理模型以过滤模型数据。看看QSortFilterProxyModel哪些允许对模型行/列进行排序。为它提供正确的正则表达式,如果找到,它将只匹配一个项目。您可以像使用普通模型一样使用代理模型(例如检查 rowCount),因此它会自动更新并可以在其他视图中使用。

于 2009-08-26T04:23:56.313 回答