Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 如何在tableView中获取一定值的索引?_Qt_Indexing_Tableview - Fatal编程技术网

Qt 如何在tableView中获取一定值的索引?

Qt 如何在tableView中获取一定值的索引?,qt,indexing,tableview,Qt,Indexing,Tableview,在Qt中,你可以像这样从索引“index.data().toString()”中获取数据,我需要相反的结果。我有数据,我想要索引 Qt中是否有一些本机函数?或者我必须将这些数据映射到某个数组中,例如为了按数据获取索引,您必须遍历表以查找相应的行号和列号。您可以手动执行,也可以使用qabstractemmodel::match()函数。例如: QModelIndexList foundIndexes = tableView->model()->match(QModelIndex(),

在Qt中,你可以像这样从索引“index.data().toString()”中获取数据,我需要相反的结果。我有数据,我想要索引


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列的单元格开始搜索。