• 5598阅读
  • 7回复

QTreeView怎么复制其中一行,然后粘贴到新的一行中去?右键弹出菜单呢? [复制链接]

上一主题 下一主题
离线_gxg
 
只看楼主 倒序阅读 楼主  发表于: 2012-10-09
关键词: QT4C++求助
数据存储使用的容器 来读取配置文件中的数据

其中一项是Key唯一 复制的时候不复制它 其他的复制过去 并且保存

求论坛前辈讲一下方法 或者 大概 思路

离线_gxg
只看该作者 1楼 发表于: 2012-10-09
最近没什么人嘛...基本都只有总版主来回答我问题~而且是在我解决完了之后~不过还是要谢谢总版主 3Q!  
离线_gxg
只看该作者 2楼 发表于: 2012-10-09
   来位大神给些提示~
离线ppdayz

只看该作者 3楼 发表于: 2012-10-10
回 2楼(_gxg) 的帖子
你这里说的行是指的什么?row?或者是column?
离线_gxg
只看该作者 4楼 发表于: 2012-10-10
回 3楼(ppdayz) 的帖子
我这里说的是 row
离线ppdayz

只看该作者 5楼 发表于: 2012-10-10
回 4楼(_gxg) 的帖子
找到你的鼠标所在的位置

然后用这个找到所在位置的QModelIndex
QModelIndex QTreeView::indexAt ( const QPoint & point ) const [virtual]

然后就可以找到这个QModelIndex 的对应的column的data
QVariant QModelIndex::data ( int role = Qt::DisplayRole ) const

就可以了
离线_gxg
只看该作者 6楼 发表于: 2012-10-10
回 5楼(ppdayz) 的帖子
我用的QModelIndex QAbstractItemView::currentIndex () 获取选中行的index.row();

std::vector<std::string> copys;
copys.push_back(vec[index.row()]);  //vec就是之前说的存数数据的容器,全局

调试了下copys中确实存入了我选中的那一行信息

实现的复制和粘贴功能

【问题】:

现在再怎么把copys中的信息复制回去?copys是在viod copyDtat()函数中定义所以出了函数体就用不了,要在void pasteData()中实现把copys中的数据做为新数据在复制到vec中?

感冒好几天了~郁闷 脑子闷闷的~



离线theotherone

只看该作者 7楼 发表于: 2013-09-09
感觉问的有点抽象了
屌丝程序猿,努力更屌丝  
博客:http://fearlazy.com
快速回复
限100 字节
 
上一个 下一个