• 5757阅读
  • 3回复

QAbstractItemView dataChanged 问题。 [复制链接]

上一主题 下一主题
离线guhan010
 

只看楼主 倒序阅读 楼主  发表于: 2009-10-11
我自定义了一个TreeModel,当界面弹出后,按一个按钮向QTreeView增加一行数据,或者修改某行数据。在修改的时候,我提交了信号
emit dataChanged(createIndex(1, 0, pNew), createIndex(1, 0, pNew));
并在程序运行时,绑定TreeMoel的该信号和QAbstractItemView dataChanged槽,为什么,点击按钮更新修改并不马上产生,而是当鼠标或者其他激活TreeView后才能够更新呢?

跪求那位知道的大大帮忙锕。
离线guhan010

只看该作者 1楼 发表于: 2009-10-11
没人回答啊?
离线foxyz

只看该作者 2楼 发表于: 2009-10-12
请贴代码
离线guhan010

只看该作者 3楼 发表于: 2009-10-12
  1. QList<QVariant> Item;
  2.     Item << tr("NewItem");
  3.     TreeItem* pNew = new TreeItem(Item, rootItem);
  4.     rootItem->appendChild(pNew);
  5.     TreeItem* pChid = rootItem->child(1);
  6.     pChid->changeData(Item);
  7.     emit dataChanged(createIndex(1, 0, pNew), createIndex(1, 0, pNew));


上面是发送更新数据的请求。

在前面我绑定了该信号和槽。
  1. QObject::connect(treeModel, SIGNAL(dataChanged(const QModelIndex&,const QModelIndex&)), &tree, SLOT(dataChanged(const QModelIndex&,const QModelIndex&)));
快速回复
限100 字节
 
上一个 下一个