Qt 如何在tableView中获取一定值的索引?
在Qt中,你可以像这样从索引“index.data().toString()”中获取数据,我需要相反的结果。我有数据,我想要索引Qt 如何在tableView中获取一定值的索引?,qt,indexing,tableview,Qt,Indexing,Tableview,在Qt中,你可以像这样从索引“index.data().toString()”中获取数据,我需要相反的结果。我有数据,我想要索引 Qt中是否有一些本机函数?或者我必须将这些数据映射到某个数组中,例如为了按数据获取索引,您必须遍历表以查找相应的行号和列号。您可以手动执行,也可以使用qabstractemmodel::match()函数。例如: QModelIndexList foundIndexes = tableView->model()->match(QModelIndex(),
Qt中是否有一些本机函数?或者我必须将这些数据映射到某个数组中,例如为了按数据获取索引,您必须遍历表以查找相应的行号和列号。您可以手动执行,也可以使用
qabstractemmodel::match()
函数。例如:
QModelIndexList foundIndexes = tableView->model()->match(QModelIndex(),
Qt::DisplayRole,
"My String");
您可以更改函数参数,以获得更符合您需要的搜索结果。Im使用qt 5.3它不会编译,因为match需要更多参数。什么是int角色?@MartinKóňa,啊,对不起,我错过了第二个论点。如果需要按文本搜索,可以使用
Qt::DisplayRole
。我已经更新了我的答案。我正在搜索整数,哪个角色负责这个?我在家里找不到它documentation@MartinKóňa,在Qt4.8.x中是0,但是我建议使用Qt::DisplayRole
enum值。@sami1592,如果使用无效的模型索引(QModelIndex()
构造无效的索引),如果是树状视图,它将从顶层节点开始搜索;如果是表,它将从第0行第0列的单元格开始搜索。