• 7252阅读
  • 5回复

【解决】请大师讲一下代理 ==== delegates? ====的用法 [复制链接]

上一主题 下一主题
离线lazybone
 
只看楼主 倒序阅读 楼主  发表于: 2008-08-09
— 本帖被 XChinux 执行加亮操作(2008-08-12) —
谢谢各位
[ 此贴被lazybone在2008-12-10 11:00重新编辑 ]
离线lazybone
只看该作者 1楼 发表于: 2008-08-09
接上问:
2  我想在点击 树 时进行编辑
3  而且用什么方法可以保存树的状态
4  如何刷新树时 变成原来的状态

谢谢各位
在线等
离线icevi

只看该作者 2楼 发表于: 2008-08-10
Re:请大师讲一下代理 ==== delegates  ====的用法
你需要设计一个类myDele,继承QItemDelegate。主要需要重载一下这些接口。
setEditorData 设定编辑器的值
setModelData 控件编辑完后将值写回
updateEditorGeometry  设定控件的大小位置
createEditor 创建控件
然后对这个树形控件:
myDele dele;
this->setItemDelegate(&dele);
大概就是这样的,你可以看下QT带的示例比较好。

想在点击时进行编辑,就可以修改setEditTriggers设定在何时触发编辑状态。

这两句没看懂:
3  而且用什么方法可以保存树的状态(Delegate不会破坏树的状态吧?你说的状态指什么?)
4  如何刷新树时 变成原来的状态(没看明白)
====================
www.bilive.com
BiForm BiReader BiChat
最爱QT和PYTHON
====================
离线lazybone
只看该作者 3楼 发表于: 2008-08-11
首先感谢 icevi
我的意思: 各个节点的打开收缩状态
数据更新后保持一致
离线蠢蠢欲懂
只看该作者 4楼 发表于: 2012-05-03
树的有些列有些行可以编辑,而另一些却不可以编辑,怎么做呢
离线passion_wu
只看该作者 5楼 发表于: 2012-05-03
回 4楼(蠢蠢欲懂) 的帖子
要自己定义model,重写flags函数,这个函数有个QModelIndex类型的参数,根据这个参数就可以实现有些行可以编辑,而另一些却不可以编辑。
快速回复
限100 字节
 
上一个 下一个