• 4383阅读
  • 7回复

请求高手指教(qtreeview显示) [复制链接]

上一主题 下一主题
离线caixinshou
 
只看楼主 倒序阅读 楼主  发表于: 2011-10-24
有一个qtreeview 如何给其中的一个选项加3行3列的子数据?谢谢了!

this->qsimDiskInfo = new QStandardItemModel(1,3,this);
QStandardItem *item0 = new QStandardItem("disk");
qsimDiskInfo->setItem(0, 0, item0);
QString qsDisk("disk");
char ch2 = '1';
for (j = 0; j <3; j++)

            QString qsDiskPart = qsDisk+ch2;
            parent = qsimDiskInfo->index(0, 0);   //获取 上级选项
            qsimDiskInfo->insertRows(j, 1, parent);   //加一行
            qsimDiskInfo->insertColumns(j, 3, parent);  //加三列
//第j行,第一列
            QModelIndex index1 = qsimDiskInfo->index(j, 0, parent);  
            qsimDiskInfo->setData(index1, QVariant(qsDiskPart));
//第j行,第二列
            QModelIndex index2 = qsimDiskInfo->index(j, 1, parent);
            qsimDiskInfo->setData(index2, QVariant(qsDiskPart));
//第j行,第三列
            QModelIndex index3 = qsimDiskInfo->index(j, 2, parent);
            qsimDiskInfo->setData(index3, QVariant(qsDiskPart));
            ch2 = ch2 +1;


this->qtvDiskInfo->setModel(qsimDiskInfo);

上面代码出错了,没有出现3行3列的子数据,头大了,求高手指教!万分感谢!

离线caixinshou
只看该作者 1楼 发表于: 2011-10-24
没人吗?
离线wxj120bw

只看该作者 2楼 发表于: 2011-10-25
回 1楼(caixinshou) 的帖子
问题解决了吗?
离线caixinshou
只看该作者 3楼 发表于: 2011-10-26
回 2楼(wxj120bw) 的帖子
没有!还没想到方法!
离线wxj120bw

只看该作者 4楼 发表于: 2011-10-26
回 3楼(caixinshou) 的帖子
你用qtreewidget可能容易些 用qtreeview要想想 还有三行三列是啥 能画个图吗
离线zhy282289
只看该作者 5楼 发表于: 2011-10-27
你代码有点错误..列在同级下只用加一次就够了.而你加了3次.所以其它有9列,而你只有3列显示所以显示不完全,正确做法是在循环前面就建好了三行三列

            parent = qsimDiskInfo->index(0, 0);   //获取 上级选项
            qsimDiskInfo->insertRows(0, 3, parent);   //加三行
            qsimDiskInfo->insertColumns(0, 3, parent);  //加三列
为什么我脸这么胖~
离线caixinshou
只看该作者 6楼 发表于: 2011-10-27
回 4楼(wxj120bw) 的帖子
离线caixinshou
只看该作者 7楼 发表于: 2011-10-27
回 5楼(zhy282289) 的帖子
谢谢了!成功了!哈。。。
快速回复
限100 字节
 
上一个 下一个