码迷,mamicode.com
首页 > 其他好文 > 详细

右击QTableView某行后获取该行数据

时间:2015-04-08 18:02:29      阅读:557      评论:0      收藏:0      [点我收藏+]

标签:qt4   qtableview   右击菜单   

因为我要实现右击菜单功能,然后通过选择菜单的选择对该行数据做修改,所以我需要先获取到该行的数据,因为QTableView本身是视图,是对数据进行展示,所以想直接获取到该行的model是不可行的。

看通过以下方法来获取行各字段的数据:

首先写上我右击的信号槽吧。

connect(ui.Da_TableView,SIGNAL(customContextMenuRequested(QPoint)),this,SLOT(show_right_menu(QPoint)));

查看帮助手册,我们知道TableView可发送customContextMenuRequested(QPoint)信号来传递QPoint表示点击的位置。

接下来是获取该行数据的代码

show_right_menu(QPoint pos){
    QModelIndex current_index = ui.Da_TableView->indexAt(pos);

    QAbstractItemModel* m = (QAbstractItemModel *)current_index.model();
    for(int columnIndex = 0;columnIndex < m->columnCount();columnIndex++){
        QModelIndex x = m->index(current_index.row(),columnIndex);

        QString s = x.data().toString();
    }
}

这里通过QModelIndex的model函数将其转换成QAbstractItemModel。

右击QTableView某行后获取该行数据

标签:qt4   qtableview   右击菜单   

原文地址:http://blog.csdn.net/bbinchina/article/details/44943961

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!